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,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', '', '');
|
Reference in New Issue
Block a user