Re-organized into two submodules: service and uploader.
Moved all the existing service code into the `service` submodule. Stubbed out project and GUI frame for the uploader. Idea is to have a GUI that infers all the correct meta-data from media tag values and creates service, songs, and performance records appropriately based on the tagged mp3/ogg files of the performances.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
nlsongs.media.baseUrl=https://s3.amazonaws.com/new-life-austin-songs/public
|
@@ -0,0 +1,9 @@
|
||||
dataSourceClassName=com.impossibl.postgres.jdbc.PGDataSource
|
||||
dataSource.user=jdbernard
|
||||
dataSource.password=wh!73bl@k
|
||||
dataSource.database=nlsongs
|
||||
dataSource.host=localhost
|
||||
#dataSource.cachePrepStmts=true
|
||||
#dataSource.prepStmtCacheSize=250
|
||||
#dataSource.prepStmtCacheSqlLimit=2048
|
||||
#dataSource.useServerPrepStmts=true
|
18
service/resources/main/WEB-INF/classes/logback.groovy
Normal file
18
service/resources/main/WEB-INF/classes/logback.groovy
Normal file
@@ -0,0 +1,18 @@
|
||||
import ch.qos.logback.core.*;
|
||||
import ch.qos.logback.core.encoder.*;
|
||||
import ch.qos.logback.core.read.*;
|
||||
import ch.qos.logback.core.rolling.*;
|
||||
import ch.qos.logback.core.status.*;
|
||||
import ch.qos.logback.classic.net.*;
|
||||
import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
|
||||
|
||||
|
||||
appender("STDOUT", ConsoleAppender) {
|
||||
encoder(PatternLayoutEncoder) {
|
||||
pattern = "%level %logger - %msg%n"
|
||||
}
|
||||
}
|
||||
|
||||
root(INFO, ["STDOUT"])
|
||||
logger('com.jdbernard', INFO)
|
||||
|
100
service/resources/main/WEB-INF/web.xml
Normal file
100
service/resources/main/WEB-INF/web.xml
Normal file
@@ -0,0 +1,100 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- This web.xml file is not required when using Servlet 3.0 container,
|
||||
see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
|
||||
<!-- PRODUCTION -->
|
||||
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
|
||||
<context-param>
|
||||
<param-name>datasource.config.file</param-name>
|
||||
<param-value>/datasource.properties</param-value>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>context.config.file</param-name>
|
||||
<param-value>/context.properties</param-value>
|
||||
</context-param>
|
||||
|
||||
<listener>
|
||||
<listener-class>com.jdbernard.nlsongs.servlet.NLSongsContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<servlet>
|
||||
|
||||
<servlet-name>New Life Songs REST API</servlet-name>
|
||||
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
|
||||
|
||||
<init-param>
|
||||
<param-name>jersey.config.server.provider.packages</param-name>
|
||||
<param-value>com.jdbernard.nlsongs.rest</param-value>
|
||||
</init-param>
|
||||
|
||||
<init-param>
|
||||
<param-name>jersey.config.server.provider.classnames</param-name>
|
||||
<param-value>org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature</param-value>
|
||||
</init-param>
|
||||
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>GroovyTemplate</servlet-name>
|
||||
<servlet-class>groovy.servlet.TemplateServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>SongViewServlet</servlet-name>
|
||||
<servlet-class>groovy.servlet.TemplateServlet</servlet-class>
|
||||
|
||||
<init-param>
|
||||
<param-name>resource.name.regex</param-name>
|
||||
<param-value>/song/?.*</param-value>
|
||||
</init-param>
|
||||
|
||||
<init-param>
|
||||
<param-name>resource.name.replacement</param-name>
|
||||
<param-value>/song/index.gsp</param-value>
|
||||
</init-param>
|
||||
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ServiceViewServlet</servlet-name>
|
||||
<servlet-class>groovy.servlet.TemplateServlet</servlet-class>
|
||||
|
||||
<init-param>
|
||||
<param-name>resource.name.regex</param-name>
|
||||
<param-value>/service/?.*</param-value>
|
||||
</init-param>
|
||||
|
||||
<init-param>
|
||||
<param-name>resource.name.replacement</param-name>
|
||||
<param-value>/service/index.gsp</param-value>
|
||||
</init-param>
|
||||
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>New Life Songs REST API</servlet-name>
|
||||
<url-pattern>/api/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>SongViewServlet</servlet-name>
|
||||
<url-pattern>/song/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ServiceViewServlet</servlet-name>
|
||||
<url-pattern>/service/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>GroovyTemplate</servlet-name>
|
||||
<url-pattern>*.gsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<welcome-file-list>
|
||||
<welcome-file>index.gsp</welcome-file>
|
||||
<welcome-file>index.jsp</welcome-file>
|
||||
<welcome-file>index.html</welcome-file>
|
||||
</welcome-file-list>
|
||||
</web-app>
|
222
service/resources/migration/old-songs-db.groovy
Normal file
222
service/resources/migration/old-songs-db.groovy
Normal file
@@ -0,0 +1,222 @@
|
||||
services = [
|
||||
[id: 2, date: '2009-03-01', serviceType: 'SUN_PM'],
|
||||
[id: 3, date: '2009-03-08', serviceType: 'SUN_AM'],
|
||||
[id: 4, date: '2009-03-08', serviceType: 'SUN_PM'],
|
||||
[id: 5, date: '2009-03-22', serviceType: 'SUN_AM'],
|
||||
[id: 6, date: '2009-03-22', serviceType: 'SUN_PM'],
|
||||
[id: 7, date: '2009-04-08', serviceType: 'WED'],
|
||||
[id: 8, date: '2009-04-12', serviceType: 'SUN_AM'],
|
||||
[id: 9, date: '2009-04-12', serviceType: 'SUN_PM'],
|
||||
[id: 10, date: '2009-02-25', serviceType: 'WED'],
|
||||
[id: 11, date: '2009-04-22', serviceType: 'WED'],
|
||||
[id: 12, date: '2009-05-03', serviceType: 'SUN_AM'],
|
||||
[id: 13, date: '2009-05-10', serviceType: 'SUN_PM'],
|
||||
[id: 14, date: '2009-05-06', serviceType: 'WED'],
|
||||
[id: 17, date: '2009-04-26', serviceType: 'SUN_PM'],
|
||||
[id: 18, date: '2010-05-05', serviceType: 'WED'],
|
||||
[id: 19, date: '2010-05-09', serviceType: 'SUN_PM'],
|
||||
[id: 20, date: '2010-05-16', serviceType: 'SUN_PM'],
|
||||
[id: 21, date: '2010-08-15', serviceType: 'SUN_PM'],
|
||||
[id: 22, date: '2011-03-13', serviceType: 'SUN_AM'],
|
||||
[id: 23, date: '2011-03-13', serviceType: 'SUN_PM'],
|
||||
[id: 24, date: '2011-03-16', serviceType: 'WED'],
|
||||
[id: 25, date: '2011-03-20', serviceType: 'SUN_AM'],
|
||||
[id: 26, date: '2015-02-08', serviceType: 'SUN_PM'],
|
||||
[id: 27, date: '2015-01-07', serviceType: 'WED'],
|
||||
[id: 28, date: '2015-02-11', serviceType: 'WED'],
|
||||
[id: 29, date: '2014-02-02', serviceType: 'WED']]
|
||||
|
||||
|
||||
songs = [
|
||||
[id: 1, name: 'Welcome Holy Spirit', artists: ['Mark Condon']],
|
||||
[id: 2, name: 'We Worship You', artists: ['']],
|
||||
[id: 3, name: "Let's Sing Praises to our God", artists: ['Traditional']],
|
||||
[id: 4, name: 'I am a Friend of God', artists: ['Israel Houghton']],
|
||||
[id: 5, name: 'Blessed Assurance', artists: ['Frances J. Crosby']],
|
||||
[id: 6, name: 'Sing Unto the Lord a New Song', artists: ['Becky Fender']],
|
||||
[id: 7, name: 'Mighty God', artists: ['']],
|
||||
[id: 8, name: 'Here I Am To Worship', artists: ['Tim Hughes', ' Chris Tomlin, Michael W. Smith']],
|
||||
[id: 9, name: 'Worthy', artists: ['']],
|
||||
[id: 10, name: 'Come and Let Us Sing', artists: ['Israel Houghton']],
|
||||
[id: 11, name: 'I Feel the Joy', artists: ['']],
|
||||
[id: 12, name: 'Healer', artists: ['Kari Jobe', ' Hillsong']],
|
||||
[id: 13, name: 'This World is Not My Home', artists: ['Ricky Skaggs']],
|
||||
[id: 14, name: 'Praise the Lord With Me', artists: ['Carlton Pearson', ' T.D. Jakes']],
|
||||
[id: 15, name: 'I Am Free', artists: ['Newsboys']],
|
||||
[id: 16, name: 'You Are Great', artists: ['Juanita Bynum']],
|
||||
[id: 17, name: 'Lion of Judah', artists: ['Eddie James', ' Beverly Crawford']],
|
||||
[id: 18, name: 'We Are Standing on Holy Ground', artists: ['Bill Gaither']],
|
||||
[id: 19, name: 'Draw Me Nearer', artists: ['Meredith Andrews']],
|
||||
[id: 20, name: 'Nothing but the Blood', artists: ['Robert Lowry']],
|
||||
[id: 21, name: 'I Will Search For You', artists: ['Israel Houghton']],
|
||||
[id: 22, name: 'This is How We Praise Him', artists: ['']],
|
||||
[id: 23, name: 'We Have Overcome', artists: ['Israel Houghton']],
|
||||
[id: 24, name: 'Breakthrough', artists: ['']],
|
||||
[id: 25, name: 'He is Here', artists: ['Martha Munizzi']],
|
||||
[id: 26, name: 'Lead Me Lord', artists: ['Brooklyn Tabernacle Choir']],
|
||||
[id: 28, name: 'Power in the Name', artists: ['Gateway College']],
|
||||
[id: 29, name: 'Praise the Lord', artists: ['']],
|
||||
[id: 30, name: 'Ready Now', artists: ['Desperation Band']],
|
||||
[id: 31, name: 'Come Into This House', artists: ['Carlton Pearson']],
|
||||
[id: 32, name: "You're the One", artists: ['']],
|
||||
[id: 33, name: 'How Great is Our God', artists: ['Chris Tomlin']],
|
||||
[id: 34, name: 'We Will Worship the Lamb of Glory', artists: ['Dennis Jernigan']],
|
||||
[id: 35, name: 'Let It Rise', artists: ['Big Daddy Weave']],
|
||||
[id: 36, name: 'God Is My Refuge And Strength', artists: ['']],
|
||||
[id: 37, name: 'Shout to the Lord', artists: ['Darlene Zschech', ' Chris Tomlin', ' Hillsong']],
|
||||
[id: 38, name: 'In the Presence of Jehovah', artists: ['Damaris Carbaugh']],
|
||||
[id: 39, name: 'In the Sanctuary', artists: ['']],
|
||||
[id: 40, name: 'Mighty To Save', artists: ['Hillsong', ' Michael W. Smith']],
|
||||
[id: 41, name: 'Rejoice', artists: ['']],
|
||||
[id: 42, name: 'He Lives', artists: ['']],
|
||||
[id: 43, name: 'Breathe', artists: ['']],
|
||||
[id: 44, name: 'Healing Rain', artists: ['Michael W. Smith']],
|
||||
[id: 51, name: 'Lord I Praise Your Name', artists: ['']],
|
||||
[id: 46, name: "It's a New Season", artists: ['']],
|
||||
[id: 47, name: 'Let Us Have a Little Talk With Jesus', artists: ['Jimmy Dean']],
|
||||
[id: 48, name: 'Lord You Are Good', artists: ['']],
|
||||
[id: 49, name: "Enemy's Camp", artists: ['']],
|
||||
[id: 50, name: 'Whose Report Will You Believe?', artists: ['']],
|
||||
[id: 52, name: 'Lord We Give You Glory', artists: ['']],
|
||||
[id: 53, name: 'Revelation Song', artists: ['Jennie Lee Riddle', ' Phillips, Craig and Dean', ' Kari Jobe']],
|
||||
[id: 54, name: 'Moving Forward', artists: ['']],
|
||||
[id: 55, name: 'Let It Rain', artists: ['']],
|
||||
[id: 56, name: 'Say So', artists: ['']],
|
||||
[id: 57, name: 'We Praise Your Name', artists: ['']],
|
||||
[id: 58, name: 'You Never Let Go', artists: ['Matt Redman']],
|
||||
[id: 59, name: "I'd Rather Have Jesus", artists: ['']],
|
||||
[id: 60, name: 'Everybody Will Be Happy Over There', artists: ['E.M. Bartlett']],
|
||||
[id: 61, name: 'Awesome God', artists: ['']],
|
||||
[id: 62, name: 'Whisper His Name', artists: ['Deluge']],
|
||||
[id: 63, name: 'How He Loves Us', artists: ['John Mark McMillan', ' David Crowder Band']],
|
||||
[id: 64, name: 'Lord I Lift Up My Hands', artists: ['Trent Corey']],
|
||||
[id: 65, name: 'Give Him the Glory', artists: ['']],
|
||||
[id: 66, name: 'Blessed Be The Name Of The Lord', artists: ['']],
|
||||
[id: 67, name: 'Heart of Worship', artists: ['Matt Redman']],
|
||||
[id: 68, name: 'Freedom Is', artists: ['']],
|
||||
[id: 69, name: 'I Give My All', artists: ['']],
|
||||
[id: 70, name: 'Come Unto Me', artists: ['']],
|
||||
[id: 71, name: 'Shout With A Voice Of Triumph', artists: ['']],
|
||||
[id: 72, name: 'Oh, How I Love Jesus', artists: ['']],
|
||||
[id: 73, name: "It Ain't Over", artists: ['Maurette Brown Clark']],
|
||||
[id: 74, name: 'Our God', artists: ['']],
|
||||
[id: 75, name: "Can't Stop Praising His Name", artists: ['']],
|
||||
[id: 76, name: 'Lord I Lift Your Name On High', artists: ['Petra', ' Mercy Me']],
|
||||
[id: 77, name: 'We Are Here To Worship You', artists: ['']],
|
||||
[id: 78, name: 'I Feel Jesus', artists: ['']],
|
||||
[id: 79, name: 'It Is You', artists: ['Newsboys']],
|
||||
[id: 80, name: 'I Surrender', artists: ['Hillsong']],
|
||||
[id: 81, name: 'Our Father', artists: ['Israel Houghton']],
|
||||
[id: 82, name: 'Kingdom Come', artists: ['']],
|
||||
[id: 83, name: 'Father Along', artists: ['']],
|
||||
[id: 84, name: "We'll Understand It Better By and By", artists: ['Charles Albert Tindley; arr. by F.A. Clark']],
|
||||
[id: 85, name: 'Because Of You', artists: ['Eddie James']]]
|
||||
|
||||
performances = [
|
||||
[serviceId: 7, songId: 34, pianist: 'Rachel Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Jared Wood', guitarist: null, leader: null],
|
||||
[serviceId: 7, songId: 33, pianist: 'Rachel Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Jared Wood', guitarist: null, leader: null],
|
||||
[serviceId: 7, songId: 32, pianist: 'Rachel Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Jared Wood', guitarist: null, leader: null],
|
||||
[serviceId: 10, songId: 3, pianist: 'Rachel Wood', organist: null, bassist: 'Jonathan Bernard', drummer: 'Jared Wood', guitarist: null, leader: null],
|
||||
[serviceId: 10, songId: 2, pianist: 'Rachel Wood', organist: null, bassist: 'Jonathan Bernard', drummer: 'Jared Wood', guitarist: null, leader: null],
|
||||
[serviceId: 2, songId: 8, pianist: 'Nicole Brantley', organist: 'Jared Wood', bassist: 'Jonathan Bernard', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 2, songId: 9, pianist: 'Nicole Brantley', organist: 'Jared Wood', bassist: 'Jonathan Bernard', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 3, songId: 10, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 3, songId: 11, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 3, songId: 12, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 3, songId: 13, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 4, songId: 12, pianist: 'Jared Wood', organist: null, bassist: 'Jonathan Bernard', drummer: 'Chris Green', guitarist: null, leader: null],
|
||||
[serviceId: 4, songId: 14, pianist: 'Jared Wood', organist: null, bassist: 'Jonathan Bernard', drummer: 'Chris Green', guitarist: null, leader: null],
|
||||
[serviceId: 4, songId: 15, pianist: 'Jared Wood', organist: null, bassist: 'Jonathan Bernard', drummer: 'Chris Green', guitarist: null, leader: null],
|
||||
[serviceId: 4, songId: 16, pianist: 'Jared Wood', organist: null, bassist: 'Jonathan Bernard', drummer: 'Chris Green', guitarist: null, leader: null],
|
||||
[serviceId: 4, songId: 17, pianist: 'Jared Wood', organist: null, bassist: 'Jonathan Bernard', drummer: 'Chris Green', guitarist: null, leader: null],
|
||||
[serviceId: 4, songId: 18, pianist: 'Jared Wood', organist: null, bassist: 'Jonathan Bernard', drummer: 'Chris Green', guitarist: null, leader: null],
|
||||
[serviceId: 5, songId: 19, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Chris Green', guitarist: null, leader: null],
|
||||
[serviceId: 5, songId: 20, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Chris Green', guitarist: null, leader: null],
|
||||
[serviceId: 5, songId: 21, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Chris Green', guitarist: null, leader: null],
|
||||
[serviceId: 5, songId: 22, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Chris Green', guitarist: null, leader: null],
|
||||
[serviceId: 5, songId: 23, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Chris Green', guitarist: null, leader: null],
|
||||
[serviceId: 6, songId: 30, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Edgar Zarate', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 6, songId: 24, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Edgar Zarate', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 10, songId: 1, pianist: 'Rachel Wood', organist: null, bassist: 'Jonathan Bernard', drummer: 'Jared Wood', guitarist: null, leader: null],
|
||||
[serviceId: 7, songId: 31, pianist: 'Rachel Wood', organist: 'Connie Bernard', bassist: 'Jonathan Bernard', drummer: 'Jared Wood', guitarist: null, leader: null],
|
||||
[serviceId: 6, songId: 25, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Edgar Zarate', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 2, songId: 7, pianist: 'Nicole Brantley', organist: 'Jared Wood', bassist: 'Jonathan Bernard', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 2, songId: 4, pianist: 'Nicole Brantley', organist: 'Jared Wood', bassist: 'Jonathan Bernard', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 6, songId: 26, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Edgar Zarate', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 6, songId: 81, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Edgar Zarate', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 6, songId: 28, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Edgar Zarate', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 6, songId: 29, pianist: 'Jared Wood', organist: 'Connie Bernard', bassist: 'Edgar Zarate', drummer: 'Daniel Bernard', guitarist: null, leader: null],
|
||||
[serviceId: 11, songId: 36, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 11, songId: 35, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 11, songId: 37, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 11, songId: 38, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 12, songId: 11, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 12, songId: 39, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 8, songId: 40, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 8, songId: 41, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 8, songId: 42, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 13, songId: 7, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 13, songId: 81, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 17, songId: 43, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 17, songId: 44, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 17, songId: 46, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 17, songId: 47, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 17, songId: 48, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 18, songId: 49, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 18, songId: 50, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 18, songId: 16, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 20, songId: 51, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 20, songId: 52, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 20, songId: 28, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 20, songId: 14, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 20, songId: 53, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 21, songId: 56, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 21, songId: 44, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 21, songId: 54, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 21, songId: 55, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 21, songId: 57, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 21, songId: 58, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 13, songId: 68, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 14, songId: 67, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 14, songId: 65, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 14, songId: 66, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 12, songId: 64, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 12, songId: 63, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 19, songId: 61, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 19, songId: 59, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 19, songId: 46, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 19, songId: 54, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 19, songId: 23, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 19, songId: 62, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 13, songId: 12, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 13, songId: 58, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 22, songId: 70, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 22, songId: 69, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 22, songId: 13, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 23, songId: 75, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 23, songId: 44, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 23, songId: 73, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 23, songId: 72, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 23, songId: 74, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 23, songId: 71, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 24, songId: 61, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 24, songId: 78, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 24, songId: 76, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 24, songId: 77, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 25, songId: 10, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 25, songId: 73, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 25, songId: 79, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 25, songId: 6, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 8, songId: 53, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 27, songId: 80, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 27, songId: 14, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 27, songId: 23, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 28, songId: 83, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 28, songId: 82, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 28, songId: 81, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 28, songId: 84, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 29, songId: 85, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 29, songId: 57, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null],
|
||||
[serviceId: 29, songId: 62, pianist: null, organist: null, bassist: null, drummer: null, guitarist: null, leader: null]]
|
||||
|
||||
|
@@ -0,0 +1 @@
|
||||
nlsongs.media.baseUrl=https://s3.amazonaws.com/new-life-austin-songs/public
|
@@ -0,0 +1,4 @@
|
||||
dataSourceClassName=org.h2.jdbcx.JdbcDataSource
|
||||
dataSource.url=jdbc:h2:mem:
|
||||
dataSource.user=test
|
||||
dataSource.password=test
|
100
service/resources/test/WEB-INF/web.xml
Normal file
100
service/resources/test/WEB-INF/web.xml
Normal file
@@ -0,0 +1,100 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- This web.xml file is not required when using Servlet 3.0 container,
|
||||
see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
|
||||
<!-- PRODUCTION -->
|
||||
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
|
||||
<context-param>
|
||||
<param-name>datasource.config.file</param-name>
|
||||
<param-value>/datasource.properties</param-value>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>context.config.file</param-name>
|
||||
<param-value>/context.properties</param-value>
|
||||
</context-param>
|
||||
|
||||
<listener>
|
||||
<listener-class>com.jdbernard.nlsongs.servlet.NLSongsContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<servlet>
|
||||
|
||||
<servlet-name>New Life Songs REST API</servlet-name>
|
||||
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
|
||||
|
||||
<init-param>
|
||||
<param-name>jersey.config.server.provider.packages</param-name>
|
||||
<param-value>com.jdbernard.nlsongs.rest</param-value>
|
||||
</init-param>
|
||||
|
||||
<init-param>
|
||||
<param-name>jersey.config.server.provider.classnames</param-name>
|
||||
<param-value>org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature</param-value>
|
||||
</init-param>
|
||||
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>GroovyTemplate</servlet-name>
|
||||
<servlet-class>groovy.servlet.TemplateServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>SongViewServlet</servlet-name>
|
||||
<servlet-class>groovy.servlet.TemplateServlet</servlet-class>
|
||||
|
||||
<init-param>
|
||||
<param-name>resource.name.regex</param-name>
|
||||
<param-value>/song/?.*</param-value>
|
||||
</init-param>
|
||||
|
||||
<init-param>
|
||||
<param-name>resource.name.replacement</param-name>
|
||||
<param-value>/song/index.gsp</param-value>
|
||||
</init-param>
|
||||
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ServiceViewServlet</servlet-name>
|
||||
<servlet-class>groovy.servlet.TemplateServlet</servlet-class>
|
||||
|
||||
<init-param>
|
||||
<param-name>resource.name.regex</param-name>
|
||||
<param-value>/service/?.*</param-value>
|
||||
</init-param>
|
||||
|
||||
<init-param>
|
||||
<param-name>resource.name.replacement</param-name>
|
||||
<param-value>/service/index.gsp</param-value>
|
||||
</init-param>
|
||||
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>New Life Songs REST API</servlet-name>
|
||||
<url-pattern>/api/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>SongViewServlet</servlet-name>
|
||||
<url-pattern>/song/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ServiceViewServlet</servlet-name>
|
||||
<url-pattern>/service/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>GroovyTemplate</servlet-name>
|
||||
<url-pattern>*.gsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<welcome-file-list>
|
||||
<welcome-file>index.gsp</welcome-file>
|
||||
<welcome-file>index.jsp</welcome-file>
|
||||
<welcome-file>index.html</welcome-file>
|
||||
</welcome-file-list>
|
||||
</web-app>
|
34
service/resources/test/testdb.init.sql
Normal file
34
service/resources/test/testdb.init.sql
Normal file
@@ -0,0 +1,34 @@
|
||||
INSERT INTO SERVICES (date, service_type) values
|
||||
('2015-02-01', 'SUN_AM'),
|
||||
('2015-02-01', 'SUN_PM'),
|
||||
('2015-02-04', 'WED'),
|
||||
('2015-02-08', 'SUN_AM'),
|
||||
('2015-02-08', 'SUN_PM'),
|
||||
('2015-02-11', 'WED'),
|
||||
('2015-02-15', 'SUN_AM'),
|
||||
('2015-02-15', 'SUN_PM');
|
||||
|
||||
INSERT INTO songs (name, artists) VALUES
|
||||
('Breathe On Us', 'Kari Jobe'),
|
||||
('How Great Is Our God', 'Chris Tomlin'),
|
||||
('Glorious', 'Martha Munizzi'),
|
||||
('Rez Power', 'Israel Houghton');
|
||||
|
||||
INSERT INTO performances (service_id, song_id, rank, pianist, organist, bassist, drummer, guitarist, leader) VALUES
|
||||
(1, 1, 1, 'Jared Wood', null, 'Jonathan Bernard', 'Christian Thompson', 'Andrew Fraiser; Tony Bagliore', 'Rachel Wood'),
|
||||
(1, 2, 2, 'Jared Wood', null, 'Jonathan Bernard', 'Christian Thompson', 'Andrew Fraiser; Tony Bagliore', 'Rachel Wood'),
|
||||
(1, 3, 3, 'Jared Wood', null, 'Jonathan Bernard', 'Christian Thompson', 'Andrew Fraiser; Tony Bagliore', 'Rachel Wood'),
|
||||
(2, 2, 1, 'Trevor Delano', 'Connie Bernard', 'Jonathan Bernard', 'Christian Thompson', 'Andrew Fraiser', 'Rachel Wood'),
|
||||
(2, 3, 2, 'Trevor Delano', 'Connie Bernard', 'Jonathan Bernard', 'Christian Thompson', 'Andrew Fraiser', 'Rachel Wood'),
|
||||
(2, 4, 3, 'Trevor Delano', 'Connie Bernard', 'Jonathan Bernard', 'Christian Thompson', 'Andrew Fraiser', 'Rachel Wood'),
|
||||
(3, 1, 0, 'Rachel Wood', 'Krista Hatcher', 'Jonathan Bernard', 'Jared Wood', 'Tony Bagliore', 'Rachel Wood'),
|
||||
(3, 2, 0, 'Rachel Wood', 'Krista Hatcher', 'Jonathan Bernard', 'Jared Wood', 'Tony Bagliore', 'Rachel Wood'),
|
||||
(4, 3, 0, 'Trevor Delano', null, 'Jonathan Bernard', 'Christian Thompson', 'Andrew Fraiser', 'Rachel Wood'),
|
||||
(5, 4, 1, 'Jared Wood', null, 'Jonathan Bernard', 'Christian Thompson', 'Tony Bagliore', 'Rachel Wood'),
|
||||
(6, 1, 1, 'Jared Wood', null, 'Jonathan Bernard', 'Christian Thompson', 'Andrew Fraiser; Tony Bagliore', 'Rachel Wood'),
|
||||
(7, 2, 1, 'Trevor Delano', null, 'Jonathan Bernard', 'Christian Thompson', 'Andrew Fraiser; Tony Bagliore', 'Rachel Wood'),
|
||||
(8, 3, 1, 'Jared Wood', null, 'Jonathan Bernard', 'Christian Thompson', 'Andrew Fraiser; Tony Bagliore', 'Rachel Wood');
|
||||
|
||||
INSERT INTO users (username, pwd, role) VALUES
|
||||
('admin', '', 'admin'),
|
||||
('test', '', '');
|
BIN
service/resources/webapp/favicon.ico
Normal file
BIN
service/resources/webapp/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
BIN
service/resources/webapp/favicon.png
Normal file
BIN
service/resources/webapp/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.1 KiB |
BIN
service/resources/webapp/images/favicon.png
Normal file
BIN
service/resources/webapp/images/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.1 KiB |
146
service/resources/webapp/images/favicon.svg
Normal file
146
service/resources/webapp/images/favicon.svg
Normal file
@@ -0,0 +1,146 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="favicon.svg"
|
||||
inkscape:export-filename="/home/jdbernard/projects/new-life-songs/src/main/webapp/images/favicon.png"
|
||||
inkscape:export-xdpi="180"
|
||||
inkscape:export-ydpi="180">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="5.6"
|
||||
inkscape:cx="36.631424"
|
||||
inkscape:cy="36.08398"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1028"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-196,-232.71932)">
|
||||
<g
|
||||
id="g3972"
|
||||
transform="matrix(1.1988541,0,0,1.1988541,-34.689684,-59.360988)">
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3066"
|
||||
d="m 197.85715,270.75504 c 18.44039,-9.68553 31.88947,-7.2133 43.21428,0.17857 l 0.17857,23.39286 c -15.06612,-7.66829 -29.63623,-7.15253 -43.75,0.89285 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3836"
|
||||
d="m 218.57143,288.34432 c 5.66926,-15.13182 -22.94395,-29.42428 4.28571,-44.10714 -18.57938,17.81207 6.32776,26.01559 -4.28571,44.10714 z"
|
||||
style="fill:#f47321;fill-opacity:1;stroke:#f47321;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3838"
|
||||
d="m 220.89286,250.84432 c -7.46377,9.88399 15.90915,18.84168 0.89285,36.96429 5.71398,-18.35279 -10.64059,-29.80509 -0.89285,-36.96429 z"
|
||||
style="fill:#f8981d;fill-opacity:1;stroke:#f8981d;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<g
|
||||
style="stroke:#666666"
|
||||
transform="translate(30.241442,19.824244)"
|
||||
id="g3957">
|
||||
<g
|
||||
style="stroke:#666666"
|
||||
id="g3954">
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3928"
|
||||
d="m 181.13839,263.45593 -0.40178,-9.53125 -6.07143,-0.26785 0.37948,9.66517"
|
||||
style="fill:none;stroke:#666666;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#666666;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 174.64286,256.73718 6.11607,0.29018"
|
||||
id="path3930"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:none;stroke:#666666;stroke-width:3;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path3932"
|
||||
sodipodi:cx="172.16518"
|
||||
sodipodi:cy="261.9046"
|
||||
sodipodi:rx="1.1607143"
|
||||
sodipodi:ry="0.390625"
|
||||
d="m 173.32589,261.9046 c 0,0.21574 -0.51967,0.39063 -1.16071,0.39063 -0.64105,0 -1.16072,-0.17489 -1.16072,-0.39063 0,-0.21573 0.51967,-0.39062 1.16072,-0.39062 0.64104,0 1.16071,0.17489 1.16071,0.39062 z"
|
||||
transform="matrix(0.80146427,0,0,0.86720805,35.41978,35.950686)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:none;stroke:#666666;stroke-width:3;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path3932-8"
|
||||
sodipodi:cx="172.16518"
|
||||
sodipodi:cy="261.9046"
|
||||
sodipodi:rx="1.1607143"
|
||||
sodipodi:ry="0.390625"
|
||||
d="m 173.32589,261.9046 c 0,0.21574 -0.51967,0.39063 -1.16071,0.39063 -0.64105,0 -1.16072,-0.17489 -1.16072,-0.39063 0,-0.21573 0.51967,-0.39062 1.16072,-0.39062 0.64104,0 1.16071,0.17489 1.16071,0.39062 z"
|
||||
transform="matrix(0.80146427,0,0,0.86720805,41.50237,36.374793)" />
|
||||
</g>
|
||||
<g
|
||||
style="fill:#666666;fill-opacity:1;stroke:#666666;stroke-opacity:1"
|
||||
transform="translate(45.892857,26.25)"
|
||||
id="g3968">
|
||||
<path
|
||||
style="fill:#666666;fill-opacity:1;stroke:#666666;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 187.76786,245.59879 0.13393,10.87054"
|
||||
id="path3964"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#666666;fill-opacity:1;stroke:#666666;stroke-width:3;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path3966"
|
||||
sodipodi:cx="184.96652"
|
||||
sodipodi:cy="255.05191"
|
||||
sodipodi:rx="0.8370536"
|
||||
sodipodi:ry="0.41294643"
|
||||
d="m 185.80358,255.05191 c 0,0.22806 -0.37477,0.41295 -0.83706,0.41295 -0.46229,0 -0.83705,-0.18489 -0.83705,-0.41295 0,-0.22806 0.37476,-0.41295 0.83705,-0.41295 0.46229,0 0.83706,0.18489 0.83706,0.41295 z"
|
||||
transform="matrix(1.103543,0,0,0.80447905,-18.013595,51.017545)" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.3 KiB |
BIN
service/resources/webapp/images/new-life-songs.png
Normal file
BIN
service/resources/webapp/images/new-life-songs.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
80
service/resources/webapp/images/new-life-songs.svg
Normal file
80
service/resources/webapp/images/new-life-songs.svg
Normal file
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="319.93701"
|
||||
height="41.225643"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="new-life-songs.svg"
|
||||
inkscape:export-filename="/home/jdbernard/projects/new-life-songs/src/main/webapp/images/new-life-songs.png"
|
||||
inkscape:export-xdpi="112.52"
|
||||
inkscape:export-ydpi="112.52">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.959798"
|
||||
inkscape:cx="84.054843"
|
||||
inkscape:cy="-31.95016"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1028"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-102.563,-63.265607)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Aldrich;-inkscape-font-specification:Aldrich"
|
||||
x="110"
|
||||
y="95.933609"
|
||||
id="text2985"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2987"
|
||||
x="110"
|
||||
y="95.933609">New Life Songs</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.84500003;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 389.73551,102.40638 c -45.27776,0 -285.24751,0.0799 -285.24751,0.0799 0.18336,-10.359756 0,-26.719287 0,-37.295643"
|
||||
id="path2989"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.7 KiB |
Reference in New Issue
Block a user