From 15ca27b618a4cdbbb34df682325ff7fb6a2582af Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Tue, 24 Dec 2013 16:59:57 +0100 Subject: [PATCH] [New] initial commit of project files --- .gitignore | 4 + pom.xml | 80 +++++++++++++++++++ .../tutorialwebapp/StartupListener.java | 41 ++++++++++ .../postinitializer/PostInitializer.java | 42 ++++++++++ src/main/resources/log4j.xml | 30 +++++++ .../webapp/WEB-INF/config/PrivilegeConfig.xml | 30 +++++++ .../webapp/WEB-INF/config/PrivilegeModel.xml | 74 +++++++++++++++++ .../WEB-INF/config/StrolchConfiguration.xml | 43 ++++++++++ src/main/webapp/WEB-INF/data/Orders.xml | 14 ++++ src/main/webapp/WEB-INF/data/Resources.xml | 14 ++++ src/main/webapp/WEB-INF/data/StrolchModel.xml | 29 +++++++ src/main/webapp/WEB-INF/dbStore/.placeholder | 0 src/main/webapp/WEB-INF/web.xml | 7 ++ src/main/webapp/index.jsp | 5 ++ 14 files changed, 413 insertions(+) create mode 100644 .gitignore create mode 100644 pom.xml create mode 100644 src/main/java/li/strolch/tutorialwebapp/StartupListener.java create mode 100644 src/main/java/li/strolch/tutorialwebapp/postinitializer/PostInitializer.java create mode 100644 src/main/resources/log4j.xml create mode 100644 src/main/webapp/WEB-INF/config/PrivilegeConfig.xml create mode 100644 src/main/webapp/WEB-INF/config/PrivilegeModel.xml create mode 100644 src/main/webapp/WEB-INF/config/StrolchConfiguration.xml create mode 100644 src/main/webapp/WEB-INF/data/Orders.xml create mode 100644 src/main/webapp/WEB-INF/data/Resources.xml create mode 100644 src/main/webapp/WEB-INF/data/StrolchModel.xml create mode 100644 src/main/webapp/WEB-INF/dbStore/.placeholder create mode 100644 src/main/webapp/WEB-INF/web.xml create mode 100644 src/main/webapp/index.jsp diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..9f094653a --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/.settings +/.classpath +/.project +/target \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 000000000..9693ed9aa --- /dev/null +++ b/pom.xml @@ -0,0 +1,80 @@ + + 4.0.0 + + + li.strolch + li.strolch.parent + 0.1.0-SNAPSHOT + ../li.strolch.parent/pom.xml + + + + UTF-8 + tutorialwebapp + ${warFinalName} + + + li.strolch.tutorialwebapp + li.strolch.tutorialwebapp Maven Webapp + Tutorial webapp to show case using Strolch in a servlet container + war + + https://github.com/eitch/li.strolch.tutorialwebapp + + 2011 + + + Github Issues + https://github.com/eitch/li.strolch.tutorialwebapp/issues + + + + scm:git:https://github.com/eitch/li.strolch.tutorialwebapp.git + scm:git:git@github.com:eitch/li.strolch.tutorialwebapp.git + https://github.com/eitch/li.strolch.tutorialwebapp + + + + + li.strolch + li.strolch.bom + pom + + + org.slf4j + slf4j-log4j12 + runtime + + + + + junit + junit + test + + + + javax.servlet + javax.servlet-api + 3.0.1 + provided + + + + + ${warFinalName} + + + + org.apache.maven.plugins + maven-war-plugin + + false + ${warFinalName} + + + + + + diff --git a/src/main/java/li/strolch/tutorialwebapp/StartupListener.java b/src/main/java/li/strolch/tutorialwebapp/StartupListener.java new file mode 100644 index 000000000..1ba8af371 --- /dev/null +++ b/src/main/java/li/strolch/tutorialwebapp/StartupListener.java @@ -0,0 +1,41 @@ +package li.strolch.tutorialwebapp; + +import java.io.File; + +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; +import javax.servlet.annotation.WebListener; + +import li.strolch.runtime.agent.StrolchAgent; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@WebListener +public class StartupListener implements ServletContextListener { + + private static final Logger logger = LoggerFactory.getLogger(StartupListener.class); + private StrolchAgent agent; + + @Override + public void contextInitialized(ServletContextEvent sce) { + + String realPath = sce.getServletContext().getRealPath("/WEB-INF"); + File pathF = new File(realPath); + logger.info("Starting Agent..."); + this.agent = new StrolchAgent(); + this.agent.setup(pathF); + this.agent.initialize(); + this.agent.start(); + logger.info("Agent started."); + } + + @Override + public void contextDestroyed(ServletContextEvent sce) { + if (this.agent != null) { + this.agent.stop(); + this.agent.destroy(); + } + logger.info("Agent destroyed"); + } +} diff --git a/src/main/java/li/strolch/tutorialwebapp/postinitializer/PostInitializer.java b/src/main/java/li/strolch/tutorialwebapp/postinitializer/PostInitializer.java new file mode 100644 index 000000000..55b36ec95 --- /dev/null +++ b/src/main/java/li/strolch/tutorialwebapp/postinitializer/PostInitializer.java @@ -0,0 +1,42 @@ +/* + * Copyright 2013 Robert von Burg + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package li.strolch.tutorialwebapp.postinitializer; + +import li.strolch.runtime.agent.ComponentContainerImpl; +import li.strolch.runtime.agent.SimplePostInitializer; + +/** + * @author Robert von Burg + * + */ +public class PostInitializer extends SimplePostInitializer { + + /** + * @param container + * @param componentName + */ + public PostInitializer(ComponentContainerImpl container, String componentName) { + super(container, componentName); + } + + @Override + public void start() { + + logger.info("Started PostInitializer."); //$NON-NLS-1$ + + super.start(); + } +} diff --git a/src/main/resources/log4j.xml b/src/main/resources/log4j.xml new file mode 100644 index 000000000..1d2f3b080 --- /dev/null +++ b/src/main/resources/log4j.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/config/PrivilegeConfig.xml b/src/main/webapp/WEB-INF/config/PrivilegeConfig.xml new file mode 100644 index 000000000..e264a8929 --- /dev/null +++ b/src/main/webapp/WEB-INF/config/PrivilegeConfig.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/config/PrivilegeModel.xml b/src/main/webapp/WEB-INF/config/PrivilegeModel.xml new file mode 100644 index 000000000..28c007077 --- /dev/null +++ b/src/main/webapp/WEB-INF/config/PrivilegeModel.xml @@ -0,0 +1,74 @@ + + + + + + + Application + Administrator + ENABLED + en_GB + + PrivilegeAdmin + AppUser + + + + + + + + + Bob + Bernstein + ENABLED + en_GB + + AppUser + + + + + Jill + Johnson + ENABLED + en_GB + + OnlyGreetingServiceRole + + + + + System User + Administrator + SYSTEM + en_GB + + sysAdmin + AppUser + + + + + + + + + + + + true + + + + + + + + + li.strolch.service.test.GreetingService + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/config/StrolchConfiguration.xml b/src/main/webapp/WEB-INF/config/StrolchConfiguration.xml new file mode 100644 index 000000000..513a69c0d --- /dev/null +++ b/src/main/webapp/WEB-INF/config/StrolchConfiguration.xml @@ -0,0 +1,43 @@ + + + + StrolchTutorialApp + + TRANSIENT + StrolchModel.xml + true + + + + ServiceHandler + li.strolch.service.ServiceHandler + li.strolch.service.DefaultServiceHandler + + true + + + + PrivilegeHandler + li.strolch.runtime.privilege.StrolchPrivilegeHandler + li.strolch.runtime.privilege.DefaultStrolchPrivilegeHandler + + PrivilegeConfig.xml + + + + PostInitializer + li.strolch.runtime.agent.PostInitializer + li.strolch.tutorialwebapp.postinitializer.PostInitializer + ServiceHandler + + + + + PersistenceHandler + li.strolch.persistence.api.PersistenceHandler + li.strolch.persistence.impl.XmlPersistenceHandler + + true + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/data/Orders.xml b/src/main/webapp/WEB-INF/data/Orders.xml new file mode 100644 index 000000000..55358bcaa --- /dev/null +++ b/src/main/webapp/WEB-INF/data/Orders.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/data/Resources.xml b/src/main/webapp/WEB-INF/data/Resources.xml new file mode 100644 index 000000000..e6259cb83 --- /dev/null +++ b/src/main/webapp/WEB-INF/data/Resources.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/data/StrolchModel.xml b/src/main/webapp/WEB-INF/data/StrolchModel.xml new file mode 100644 index 000000000..cb2396975 --- /dev/null +++ b/src/main/webapp/WEB-INF/data/StrolchModel.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/dbStore/.placeholder b/src/main/webapp/WEB-INF/dbStore/.placeholder new file mode 100644 index 000000000..e69de29bb diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 000000000..ed7c1d31b --- /dev/null +++ b/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,7 @@ + + + + Tutorial webapp to show case using Strolch in a servlet container + diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp new file mode 100644 index 000000000..c38169bb9 --- /dev/null +++ b/src/main/webapp/index.jsp @@ -0,0 +1,5 @@ + + +

Hello World!

+ +