From 353bbc7fd1d961e96a20e40bb2572add257d7853 Mon Sep 17 00:00:00 2001 From: Gary Russell Date: Mon, 29 Mar 2010 20:01:20 +0000 Subject: [PATCH] Loan Shark Roo App. Initial Checkin. --- .../loanshark/.classpath | 76 ++++ spring-integration-samples/loanshark/.project | 37 ++ .../.settings/org.eclipse.jdt.core.prefs | 5 + .../org.eclipse.wst.common.component | 190 ++++++++ ....eclipse.wst.common.project.facet.core.xml | 6 + ...ringframework.ide.eclipse.beans.core.prefs | 4 + spring-integration-samples/loanshark/pom.xml | 410 ++++++++++++++++++ .../loanshark/script.roo | 12 + .../loanbroker/loanshark/biz/Accumulator.java | 50 +++ .../loanbroker/loanshark/biz/SharkQuote.java | 59 +++ .../loanshark/biz/SharkTransformer.java | 28 ++ .../loanshark/domain/LoanShark.java | 19 + .../domain/LoanShark_Roo_Configurable.aj | 9 + .../loanshark/domain/LoanShark_Roo_Entity.aj | 100 +++++ .../loanshark/domain/LoanShark_Roo_Finder.aj | 19 + .../domain/LoanShark_Roo_JavaBean.aj | 33 ++ .../domain/LoanShark_Roo_ToString.aj | 17 + .../loanshark/web/SharkController.java | 12 + .../web/SharkController_Roo_Controller.aj | 90 ++++ .../main/resources/META-INF/persistence.xml | 13 + .../META-INF/spring/applicationContext.xml | 67 +++ .../META-INF/spring/database.properties | 6 + .../META-INF/spring/integrationContext.xml | 30 ++ .../META-INF/spring/log4j.properties | 12 + .../webapp/WEB-INF/classes/alt.properties | 1 + .../WEB-INF/classes/standard.properties | 1 + .../WEB-INF/i18n/application.properties | 7 + .../webapp/WEB-INF/i18n/messages.properties | 95 ++++ .../WEB-INF/i18n/messages_de.properties | 96 ++++ .../WEB-INF/i18n/messages_es.properties | 95 ++++ .../WEB-INF/i18n/messages_it.properties | 95 ++++ .../WEB-INF/i18n/messages_nl.properties | 96 ++++ .../WEB-INF/i18n/messages_sv.properties | 96 ++++ .../main/webapp/WEB-INF/layouts/default.jspx | 71 +++ .../main/webapp/WEB-INF/layouts/layouts.xml | 14 + .../webapp/WEB-INF/spring/webmvc-config.xml | 72 +++ .../main/webapp/WEB-INF/tags/language.tagx | 93 ++++ .../main/webapp/WEB-INF/tags/pagination.tagx | 83 ++++ .../src/main/webapp/WEB-INF/tags/theme.tagx | 31 ++ .../src/main/webapp/WEB-INF/urlrewrite.xml | 34 ++ .../WEB-INF/views/controller-index.jspx | 10 + .../WEB-INF/views/dataAccessFailure.jspx | 30 ++ .../src/main/webapp/WEB-INF/views/index.jspx | 11 + .../WEB-INF/views/loanshark/create.jspx | 51 +++ .../views/loanshark/findLoanSharksByName.jspx | 25 ++ .../webapp/WEB-INF/views/loanshark/list.jspx | 87 ++++ .../webapp/WEB-INF/views/loanshark/show.jspx | 35 ++ .../WEB-INF/views/loanshark/update.jspx | 53 +++ .../webapp/WEB-INF/views/loanshark/views.xml | 19 + .../src/main/webapp/WEB-INF/views/menu.jspx | 34 ++ .../WEB-INF/views/resourceNotFound.jspx | 29 ++ .../WEB-INF/views/uncaughtException.jspx | 29 ++ .../src/main/webapp/WEB-INF/views/views.xml | 24 + .../loanshark/src/main/webapp/WEB-INF/web.xml | 136 ++++++ .../loanshark/src/main/webapp/images/add.png | Bin 0 -> 739 bytes .../src/main/webapp/images/banner-graphic.png | Bin 0 -> 13194 bytes .../loanshark/src/main/webapp/images/de.png | Bin 0 -> 545 bytes .../src/main/webapp/images/delete.png | Bin 0 -> 655 bytes .../loanshark/src/main/webapp/images/es.png | Bin 0 -> 469 bytes .../src/main/webapp/images/favicon.ico | Bin 0 -> 1406 bytes .../loanshark/src/main/webapp/images/gb.png | Bin 0 -> 599 bytes .../loanshark/src/main/webapp/images/it.png | Bin 0 -> 420 bytes .../loanshark/src/main/webapp/images/list.png | Bin 0 -> 473 bytes .../loanshark/src/main/webapp/images/nl.png | Bin 0 -> 453 bytes .../main/webapp/images/resultset_first.png | Bin 0 -> 522 bytes .../src/main/webapp/images/resultset_last.png | Bin 0 -> 524 bytes .../src/main/webapp/images/resultset_next.png | Bin 0 -> 395 bytes .../main/webapp/images/resultset_previous.png | Bin 0 -> 389 bytes .../loanshark/src/main/webapp/images/show.png | Bin 0 -> 879 bytes .../main/webapp/images/springsource-logo.png | Bin 0 -> 4974 bytes .../loanshark/src/main/webapp/images/sv.png | Bin 0 -> 542 bytes .../src/main/webapp/images/update.png | Bin 0 -> 807 bytes .../loanshark/src/main/webapp/styles/alt.css | 348 +++++++++++++++ .../src/main/webapp/styles/standard.css | 348 +++++++++++++++ .../loanshark/biz/TestAccumulator.java | 51 +++ .../src/test/resources/log4j.properties | 12 + .../loanshark/udps.groovy | 12 + spring-integration-samples/loanshark/udps.pl | 16 + 78 files changed, 3644 insertions(+) create mode 100644 spring-integration-samples/loanshark/.classpath create mode 100644 spring-integration-samples/loanshark/.project create mode 100644 spring-integration-samples/loanshark/.settings/org.eclipse.jdt.core.prefs create mode 100644 spring-integration-samples/loanshark/.settings/org.eclipse.wst.common.component create mode 100644 spring-integration-samples/loanshark/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 spring-integration-samples/loanshark/.settings/org.springframework.ide.eclipse.beans.core.prefs create mode 100644 spring-integration-samples/loanshark/pom.xml create mode 100644 spring-integration-samples/loanshark/script.roo create mode 100644 spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/biz/Accumulator.java create mode 100644 spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/biz/SharkQuote.java create mode 100644 spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/biz/SharkTransformer.java create mode 100644 spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark.java create mode 100644 spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_Configurable.aj create mode 100644 spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_Entity.aj create mode 100644 spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_Finder.aj create mode 100644 spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_JavaBean.aj create mode 100644 spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_ToString.aj create mode 100644 spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/web/SharkController.java create mode 100644 spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/web/SharkController_Roo_Controller.aj create mode 100644 spring-integration-samples/loanshark/src/main/resources/META-INF/persistence.xml create mode 100644 spring-integration-samples/loanshark/src/main/resources/META-INF/spring/applicationContext.xml create mode 100644 spring-integration-samples/loanshark/src/main/resources/META-INF/spring/database.properties create mode 100644 spring-integration-samples/loanshark/src/main/resources/META-INF/spring/integrationContext.xml create mode 100644 spring-integration-samples/loanshark/src/main/resources/META-INF/spring/log4j.properties create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/classes/alt.properties create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/classes/standard.properties create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/application.properties create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages.properties create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_de.properties create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_es.properties create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_it.properties create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_nl.properties create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_sv.properties create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/layouts/default.jspx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/layouts/layouts.xml create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/spring/webmvc-config.xml create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/tags/language.tagx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/tags/pagination.tagx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/tags/theme.tagx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/urlrewrite.xml create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/controller-index.jspx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/dataAccessFailure.jspx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/index.jspx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/create.jspx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/findLoanSharksByName.jspx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/list.jspx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/show.jspx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/update.jspx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/views.xml create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/menu.jspx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/resourceNotFound.jspx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/uncaughtException.jspx create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/views.xml create mode 100644 spring-integration-samples/loanshark/src/main/webapp/WEB-INF/web.xml create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/add.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/banner-graphic.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/de.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/delete.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/es.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/favicon.ico create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/gb.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/it.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/list.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/nl.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/resultset_first.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/resultset_last.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/resultset_next.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/resultset_previous.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/show.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/springsource-logo.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/sv.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/images/update.png create mode 100644 spring-integration-samples/loanshark/src/main/webapp/styles/alt.css create mode 100644 spring-integration-samples/loanshark/src/main/webapp/styles/standard.css create mode 100644 spring-integration-samples/loanshark/src/test/java/com/springframework/integration/loanbroker/loanshark/biz/TestAccumulator.java create mode 100644 spring-integration-samples/loanshark/src/test/resources/log4j.properties create mode 100644 spring-integration-samples/loanshark/udps.groovy create mode 100755 spring-integration-samples/loanshark/udps.pl diff --git a/spring-integration-samples/loanshark/.classpath b/spring-integration-samples/loanshark/.classpath new file mode 100644 index 0000000000..4241ac4294 --- /dev/null +++ b/spring-integration-samples/loanshark/.classpath @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-integration-samples/loanshark/.project b/spring-integration-samples/loanshark/.project new file mode 100644 index 0000000000..d845ba2443 --- /dev/null +++ b/spring-integration-samples/loanshark/.project @@ -0,0 +1,37 @@ + + loanshark + + + + + org.eclipse.ajdt.core.ajbuilder + + + org.eclipse.wst.common.project.facet.core.builder + + + org.eclipse.wst.validation.validationbuilder + + + org.eclipse.ajdt.core.ajbuilder + + + aspectPath + org.springframework.aspects + + + + + org.springframework.ide.eclipse.core.springbuilder + + + + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.ajdt.ui.ajnature + org.eclipse.jdt.core.javanature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.jem.workbench.JavaEMFNature + com.springsource.sts.roo.core.nature + org.springframework.ide.eclipse.core.springnature + + \ No newline at end of file diff --git a/spring-integration-samples/loanshark/.settings/org.eclipse.jdt.core.prefs b/spring-integration-samples/loanshark/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..dc2026daf4 --- /dev/null +++ b/spring-integration-samples/loanshark/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Wed Mar 24 13:06:08 PDT 2010 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 diff --git a/spring-integration-samples/loanshark/.settings/org.eclipse.wst.common.component b/spring-integration-samples/loanshark/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000000..08ac5c9818 --- /dev/null +++ b/spring-integration-samples/loanshark/.settings/org.eclipse.wst.common.component @@ -0,0 +1,190 @@ + + + + + + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + uses + + + + + diff --git a/spring-integration-samples/loanshark/.settings/org.eclipse.wst.common.project.facet.core.xml b/spring-integration-samples/loanshark/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000000..b54cb2a146 --- /dev/null +++ b/spring-integration-samples/loanshark/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/spring-integration-samples/loanshark/.settings/org.springframework.ide.eclipse.beans.core.prefs b/spring-integration-samples/loanshark/.settings/org.springframework.ide.eclipse.beans.core.prefs new file mode 100644 index 0000000000..b3e45991ef --- /dev/null +++ b/spring-integration-samples/loanshark/.settings/org.springframework.ide.eclipse.beans.core.prefs @@ -0,0 +1,4 @@ +#Mon Mar 29 11:51:49 EDT 2010 +eclipse.preferences.version=1 +org.springframework.ide.eclipse.beans.core.ignoreMissingNamespaceHandler=false +org.springframework.ide.eclipse.beans.core.loadNamespaceHandlerFromClasspath=true diff --git a/spring-integration-samples/loanshark/pom.xml b/spring-integration-samples/loanshark/pom.xml new file mode 100644 index 0000000000..ab3611320d --- /dev/null +++ b/spring-integration-samples/loanshark/pom.xml @@ -0,0 +1,410 @@ + + + 4.0.0 + com.springframework.integration.loanbroker.loanshark + loanshark + war + 0.1.0-SNAPSHOT + loanshark + + + + com.springsource.repository.bundles.release + SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases + http://repository.springsource.com/maven/bundles/release + + + com.springsource.repository.bundles.external + SpringSource Enterprise Bundle Repository - External Bundle Releases + http://repository.springsource.com/maven/bundles/external + + + com.springsource.repository.bundles.milestone + SpringSource Enterprise Bundle Repository - External Bundle Milestones + http://repository.springsource.com/maven/bundles/milestone + + + + com.springsource.repository.bundles.snapshot + SpringSource Enterprise Bundle Repository - External Bundle Snapshots + http://repository.springsource.com/maven/bundles/snapshot + + + + + + com.springsource.repository.bundles.release + SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases + http://repository.springsource.com/maven/bundles/release + + + com.springsource.repository.bundles.external + SpringSource Enterprise Bundle Repository - External Bundle Releases + http://repository.springsource.com/maven/bundles/external + + + com.springsource.repository.bundles.milestone + SpringSource Enterprise Bundle Repository - External Bundle Milestones + http://repository.springsource.com/maven/bundles/milestone + + + + + + + org.junit + com.springsource.org.junit + 4.7.0 + test + + + org.apache.log4j + com.springsource.org.apache.log4j + 1.2.15 + + + org.apache.commons + com.springsource.org.apache.commons.logging + 1.1.1 + + + org.aspectj + com.springsource.org.aspectj.runtime + ${aspectj.version} + + + javax.servlet + com.springsource.javax.servlet + 2.5.0 + provided + + + + org.springframework.roo + org.springframework.roo.annotations + 1.0.2.RELEASE + provided + + + + org.springframework + org.springframework.core + ${spring.version} + + + org.springframework + org.springframework.test + ${spring.version} + test + + + org.springframework + org.springframework.context + ${spring.version} + + + org.springframework + org.springframework.aop + ${spring.version} + + + org.springframework + org.springframework.aspects + ${spring.version} + + + org.springframework + org.springframework.transaction + ${spring.version} + + + org.hsqldb + com.springsource.org.hsqldb + 1.8.0.9 + + + org.hibernate + com.springsource.org.hibernate.annotations + 3.3.1.ga + + + org.hibernate + com.springsource.org.hibernate.ejb + 3.3.2.GA + + + net.sourceforge.ehcache + com.springsource.net.sf.ehcache + 1.4.1 + + + edu.emory.mathcs.backport + com.springsource.edu.emory.mathcs.backport + 3.1.0 + + + org.slf4j + com.springsource.slf4j.log4j + 1.5.6 + + + javax.persistence + com.springsource.javax.persistence + 1.0.0 + + + org.slf4j + com.springsource.slf4j.api + 1.5.6 + + + org.hibernate + com.springsource.org.hibernate.validator + 4.0.0.GA + + + org.slf4j + slf4j-api + + + + + javax.validation + com.springsource.javax.validation + 1.0.0.GA + + + javax.transaction + com.springsource.javax.transaction + 1.1.0 + + + org.apache.commons + com.springsource.org.apache.commons.dbcp + 1.2.2.osgi + + + org.springframework + org.springframework.jdbc + ${spring.version} + + + org.springframework + org.springframework.orm + ${spring.version} + + + org.springframework + org.springframework.web + ${spring.version} + + + org.springframework + org.springframework.web.servlet + ${spring.version} + + + org.springframework.webflow + org.springframework.js + 2.0.8.RELEASE + + + org.apache.commons + com.springsource.org.apache.commons.fileupload + 1.2.0 + + + org.tuckey + com.springsource.org.tuckey.web.filters.urlrewrite + 3.1.0 + + + javax.servlet + com.springsource.javax.servlet.jsp.jstl + 1.2.0 + + + org.apache.el + com.springsource.org.apache.el + 6.0.20 + + + org.joda + com.springsource.org.joda.time + 1.6.0 + + + org.apache.tiles + com.springsource.org.apache.tiles + 2.1.3 + + + org.apache.tiles + com.springsource.org.apache.tiles.jsp + 2.1.3 + + + org.apache.tiles + com.springsource.org.apache.tiles.core + 2.1.3 + + + org.springframework + org.springframework.expression + ${spring.version} + + + org.springframework.integration + org.springframework.integration + 2.0.0.M3 + + + org.springframework.integration + org.springframework.integration.ip + 2.0.0.M3 + + + org.springframework.integration + org.springframework.integration.adapter + 2.0.0.M3 + + + + + + + org.apache.maven.plugins + maven-war-plugin + 2.0.2 + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.0.2 + + 1.6 + 1.6 + + + + org.codehaus.mojo + aspectj-maven-plugin + 1.0 + + + + org.aspectj + com.springsource.org.aspectj.runtime + ${aspectj.version} + + + org.aspectj + com.springsource.org.aspectj.tools + ${aspectj.version} + + + + + + compile + test-compile + + + + + true + + + org.springframework + org.springframework.aspects + + + 1.6 + 1.6 + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.4.3 + + org.junit:com.springsource.org.junit + + **/*_Roo_* + + + + + org.apache.maven.plugins + maven-assembly-plugin + 2.1 + + + + jar-with-dependencies + + + + + + org.apache.maven.plugins + maven-deploy-plugin + 2.4 + + + + org.apache.maven.plugins + maven-eclipse-plugin + 2.7 + + true + false + 2.0 + + + org.eclipse.ajdt.core.ajbuilder + + org.springframework.aspects + + + + org.springframework.ide.eclipse.core.springbuilder + + + + org.eclipse.ajdt.ui.ajnature + com.springsource.sts.roo.core.nature + org.springframework.ide.eclipse.core.springnature + + + + + org.apache.maven.plugins + maven-idea-plugin + 2.2 + + true + true + + + + org.codehaus.mojo + tomcat-maven-plugin + 1.0-beta-1 + + + org.mortbay.jetty + maven-jetty-plugin + 6.1.10 + + + + + + 3.0.1.RELEASE-A + 1.6.6.RELEASE + + diff --git a/spring-integration-samples/loanshark/script.roo b/spring-integration-samples/loanshark/script.roo new file mode 100644 index 0000000000..848ca8aae0 --- /dev/null +++ b/spring-integration-samples/loanshark/script.roo @@ -0,0 +1,12 @@ +project --topLevelPackage com.springframework.integration.loanbroker.loanshark3 +persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY +entity --class ~.domain.LoanShark +field string --fieldName name +field number --type java.lang.Long --fieldName counter +field number --type java.lang.Double --fieldName averageRate +finder add --finderName findLoanSharksByName +controller scaffold --class ~.web.SharkController +logging setup --level DEBUG +dependency add --artifactId org.springframework.integration.ip --groupId org.springframework.integration --version 2.0.0.M3 +//change spring version in pom.xml to 3.0.0-RELEASE-A before perform eclipse +//perform eclipse diff --git a/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/biz/Accumulator.java b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/biz/Accumulator.java new file mode 100644 index 0000000000..8733360f6e --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/biz/Accumulator.java @@ -0,0 +1,50 @@ +/* + * Copyright 2002-2010 the original author or authors. + * + * 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 com.springframework.integration.loanbroker.loanshark.biz; + +import org.springframework.dao.DataAccessException; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.springframework.integration.loanbroker.loanshark.domain.LoanShark; + +/** + * @author Gary Russell + * + */ +@Service +public class Accumulator { + + @Transactional + public void accumulate(SharkQuote quote) { + LoanShark shark = null; + try { + shark = (LoanShark) LoanShark.findLoanSharksByName( + quote.getSharkName()).getSingleResult(); + } catch (DataAccessException dae) {} + if (shark == null) { + shark = new LoanShark(); + shark.setName(quote.getSharkName()); + shark.setCounter(new Long(0)); + shark.setAverageRate(0.0d); + shark.persist(); + } + Double current = shark.getCounter() * shark.getAverageRate(); + shark.setCounter(shark.getCounter().longValue() + 1); + shark.setAverageRate((current + quote.getSharkRate()) / shark.getCounter()); + } + +} diff --git a/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/biz/SharkQuote.java b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/biz/SharkQuote.java new file mode 100644 index 0000000000..48a5fc8b5c --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/biz/SharkQuote.java @@ -0,0 +1,59 @@ +/* + * Copyright 2002-2010 the original author or authors. + * + * 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 com.springframework.integration.loanbroker.loanshark.biz; + +/** + * @author Gary Russell + * + */ +public class SharkQuote { + private String sharkName; + private Double sharkRate; + + /** + * @param sharkName + * @param sharkRate + */ + public SharkQuote(String sharkName, double sharkRate) { + super(); + this.sharkName = sharkName; + this.sharkRate = sharkRate; + } + /** + * @return the sharkName + */ + public String getSharkName() { + return sharkName; + } + /** + * @param sharkName the sharkName to set + */ + public void setSharkName(String sharkName) { + this.sharkName = sharkName; + } + /** + * @return the sharkRate + */ + public Double getSharkRate() { + return sharkRate; + } + /** + * @param sharkRate the sharkRate to set + */ + public void setSharkRate(Double sharkRate) { + this.sharkRate = sharkRate; + } +} diff --git a/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/biz/SharkTransformer.java b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/biz/SharkTransformer.java new file mode 100644 index 0000000000..3ad692dea1 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/biz/SharkTransformer.java @@ -0,0 +1,28 @@ +/* + * Copyright 2002-2010 the original author or authors. + * + * 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 com.springframework.integration.loanbroker.loanshark.biz; + +/** + * @author Gary Russell + * + */ +public class SharkTransformer { + + public SharkQuote transform(byte[] buffer) { + String[] data = new String(buffer).split(","); + return new SharkQuote(data[0], Double.parseDouble(data[1])); + } +} diff --git a/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark.java b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark.java new file mode 100644 index 0000000000..9af6f0a6c9 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark.java @@ -0,0 +1,19 @@ +package com.springframework.integration.loanbroker.loanshark.domain; + +import javax.persistence.Entity; +import org.springframework.roo.addon.entity.RooEntity; +import org.springframework.roo.addon.javabean.RooJavaBean; +import org.springframework.roo.addon.tostring.RooToString; + +@Entity +@RooJavaBean +@RooToString +@RooEntity(finders = { "findLoanSharksByName" }) +public class LoanShark { + + private String name; + + private Long counter; + + private Double averageRate; +} diff --git a/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_Configurable.aj b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_Configurable.aj new file mode 100644 index 0000000000..501963648a --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_Configurable.aj @@ -0,0 +1,9 @@ +package com.springframework.integration.loanbroker.loanshark.domain; + +import org.springframework.beans.factory.annotation.Configurable; + +privileged aspect LoanShark_Roo_Configurable { + + declare @type: LoanShark: @Configurable; + +} diff --git a/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_Entity.aj b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_Entity.aj new file mode 100644 index 0000000000..a0d1033f11 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_Entity.aj @@ -0,0 +1,100 @@ +package com.springframework.integration.loanbroker.loanshark.domain; + +import com.springframework.integration.loanbroker.loanshark.domain.LoanShark; +import java.lang.Integer; +import java.lang.Long; +import java.util.List; +import javax.persistence.Column; +import javax.persistence.EntityManager; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.PersistenceContext; +import javax.persistence.Version; +import org.springframework.transaction.annotation.Transactional; + +privileged aspect LoanShark_Roo_Entity { + + @PersistenceContext + transient EntityManager LoanShark.entityManager; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + @Column(name = "id") + private Long LoanShark.id; + + @Version + @Column(name = "version") + private Integer LoanShark.version; + + public Long LoanShark.getId() { + return this.id; + } + + public void LoanShark.setId(Long id) { + this.id = id; + } + + public Integer LoanShark.getVersion() { + return this.version; + } + + public void LoanShark.setVersion(Integer version) { + this.version = version; + } + + @Transactional + public void LoanShark.persist() { + if (this.entityManager == null) this.entityManager = entityManager(); + this.entityManager.persist(this); + } + + @Transactional + public void LoanShark.remove() { + if (this.entityManager == null) this.entityManager = entityManager(); + if (this.entityManager.contains(this)) { + this.entityManager.remove(this); + } else { + LoanShark attached = this.entityManager.find(LoanShark.class, this.id); + this.entityManager.remove(attached); + } + } + + @Transactional + public void LoanShark.flush() { + if (this.entityManager == null) this.entityManager = entityManager(); + this.entityManager.flush(); + } + + @Transactional + public void LoanShark.merge() { + if (this.entityManager == null) this.entityManager = entityManager(); + LoanShark merged = this.entityManager.merge(this); + this.entityManager.flush(); + this.id = merged.getId(); + } + + public static final EntityManager LoanShark.entityManager() { + EntityManager em = new LoanShark().entityManager; + if (em == null) throw new IllegalStateException("Entity manager has not been injected (is the Spring Aspects JAR configured as an AJC/AJDT aspects library?)"); + return em; + } + + public static long LoanShark.countLoanSharks() { + return (Long) entityManager().createQuery("select count(o) from LoanShark o").getSingleResult(); + } + + public static List LoanShark.findAllLoanSharks() { + return entityManager().createQuery("select o from LoanShark o").getResultList(); + } + + public static LoanShark LoanShark.findLoanShark(Long id) { + if (id == null) return null; + return entityManager().find(LoanShark.class, id); + } + + public static List LoanShark.findLoanSharkEntries(int firstResult, int maxResults) { + return entityManager().createQuery("select o from LoanShark o").setFirstResult(firstResult).setMaxResults(maxResults).getResultList(); + } + +} diff --git a/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_Finder.aj b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_Finder.aj new file mode 100644 index 0000000000..a9b42788f2 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_Finder.aj @@ -0,0 +1,19 @@ +package com.springframework.integration.loanbroker.loanshark.domain; + +import java.lang.String; +import java.lang.SuppressWarnings; +import javax.persistence.EntityManager; +import javax.persistence.Query; + +privileged aspect LoanShark_Roo_Finder { + + @SuppressWarnings("unchecked") + public static Query LoanShark.findLoanSharksByName(String name) { + if (name == null || name.length() == 0) throw new IllegalArgumentException("The name argument is required"); + EntityManager em = LoanShark.entityManager(); + Query q = em.createQuery("SELECT LoanShark FROM LoanShark AS loanshark WHERE loanshark.name = :name"); + q.setParameter("name", name); + return q; + } + +} diff --git a/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_JavaBean.aj b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_JavaBean.aj new file mode 100644 index 0000000000..ccbf0b6f99 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_JavaBean.aj @@ -0,0 +1,33 @@ +package com.springframework.integration.loanbroker.loanshark.domain; + +import java.lang.Double; +import java.lang.Long; +import java.lang.String; + +privileged aspect LoanShark_Roo_JavaBean { + + public String LoanShark.getName() { + return this.name; + } + + public void LoanShark.setName(String name) { + this.name = name; + } + + public Long LoanShark.getCounter() { + return this.counter; + } + + public void LoanShark.setCounter(Long counter) { + this.counter = counter; + } + + public Double LoanShark.getAverageRate() { + return this.averageRate; + } + + public void LoanShark.setAverageRate(Double averageRate) { + this.averageRate = averageRate; + } + +} diff --git a/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_ToString.aj b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_ToString.aj new file mode 100644 index 0000000000..5a6dae7363 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/domain/LoanShark_Roo_ToString.aj @@ -0,0 +1,17 @@ +package com.springframework.integration.loanbroker.loanshark.domain; + +import java.lang.String; + +privileged aspect LoanShark_Roo_ToString { + + public String LoanShark.toString() { + StringBuilder sb = new StringBuilder(); + sb.append("Id: ").append(getId()).append(", "); + sb.append("Version: ").append(getVersion()).append(", "); + sb.append("Name: ").append(getName()).append(", "); + sb.append("Counter: ").append(getCounter()).append(", "); + sb.append("AverageRate: ").append(getAverageRate()); + return sb.toString(); + } + +} diff --git a/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/web/SharkController.java b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/web/SharkController.java new file mode 100644 index 0000000000..b2f13073c4 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/web/SharkController.java @@ -0,0 +1,12 @@ +package com.springframework.integration.loanbroker.loanshark.web; + +import org.springframework.roo.addon.web.mvc.controller.RooWebScaffold; +import com.springframework.integration.loanbroker.loanshark.domain.LoanShark; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.stereotype.Controller; + +@RooWebScaffold(path = "loanshark", automaticallyMaintainView = true, formBackingObject = LoanShark.class) +@RequestMapping("/loanshark/**") +@Controller +public class SharkController { +} diff --git a/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/web/SharkController_Roo_Controller.aj b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/web/SharkController_Roo_Controller.aj new file mode 100644 index 0000000000..1b76095ca8 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/java/com/springframework/integration/loanbroker/loanshark/web/SharkController_Roo_Controller.aj @@ -0,0 +1,90 @@ +package com.springframework.integration.loanbroker.loanshark.web; + +import com.springframework.integration.loanbroker.loanshark.domain.LoanShark; +import java.lang.Long; +import java.lang.String; +import javax.validation.Valid; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; + +privileged aspect SharkController_Roo_Controller { + + @RequestMapping(value = "/loanshark", method = RequestMethod.POST) + public String SharkController.create(@Valid LoanShark loanShark, BindingResult result, ModelMap modelMap) { + if (loanShark == null) throw new IllegalArgumentException("A loanShark is required"); + if (result.hasErrors()) { + modelMap.addAttribute("loanShark", loanShark); + return "loanshark/create"; + } + loanShark.persist(); + return "redirect:/loanshark/" + loanShark.getId(); + } + + @RequestMapping(value = "/loanshark/form", method = RequestMethod.GET) + public String SharkController.createForm(ModelMap modelMap) { + modelMap.addAttribute("loanShark", new LoanShark()); + return "loanshark/create"; + } + + @RequestMapping(value = "/loanshark/{id}", method = RequestMethod.GET) + public String SharkController.show(@PathVariable("id") Long id, ModelMap modelMap) { + if (id == null) throw new IllegalArgumentException("An Identifier is required"); + modelMap.addAttribute("loanShark", LoanShark.findLoanShark(id)); + return "loanshark/show"; + } + + @RequestMapping(value = "/loanshark", method = RequestMethod.GET) + public String SharkController.list(@RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "size", required = false) Integer size, ModelMap modelMap) { + if (page != null || size != null) { + int sizeNo = size == null ? 10 : size.intValue(); + modelMap.addAttribute("loansharks", LoanShark.findLoanSharkEntries(page == null ? 0 : (page.intValue() - 1) * sizeNo, sizeNo)); + float nrOfPages = (float) LoanShark.countLoanSharks() / sizeNo; + modelMap.addAttribute("maxPages", (int) ((nrOfPages > (int) nrOfPages || nrOfPages == 0.0) ? nrOfPages + 1 : nrOfPages)); + } else { + modelMap.addAttribute("loansharks", LoanShark.findAllLoanSharks()); + } + return "loanshark/list"; + } + + @RequestMapping(method = RequestMethod.PUT) + public String SharkController.update(@Valid LoanShark loanShark, BindingResult result, ModelMap modelMap) { + if (loanShark == null) throw new IllegalArgumentException("A loanShark is required"); + if (result.hasErrors()) { + modelMap.addAttribute("loanShark", loanShark); + return "loanshark/update"; + } + loanShark.merge(); + return "redirect:/loanshark/" + loanShark.getId(); + } + + @RequestMapping(value = "/loanshark/{id}/form", method = RequestMethod.GET) + public String SharkController.updateForm(@PathVariable("id") Long id, ModelMap modelMap) { + if (id == null) throw new IllegalArgumentException("An Identifier is required"); + modelMap.addAttribute("loanShark", LoanShark.findLoanShark(id)); + return "loanshark/update"; + } + + @RequestMapping(value = "/loanshark/{id}", method = RequestMethod.DELETE) + public String SharkController.delete(@PathVariable("id") Long id, @RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "size", required = false) Integer size) { + if (id == null) throw new IllegalArgumentException("An Identifier is required"); + LoanShark.findLoanShark(id).remove(); + return "redirect:/loanshark?page=" + ((page == null) ? "1" : page.toString()) + "&size=" + ((size == null) ? "10" : size.toString()); + } + + @RequestMapping(value = "find/ByName/form", method = RequestMethod.GET) + public String SharkController.findLoanSharksByNameForm(ModelMap modelMap) { + return "loanshark/findLoanSharksByName"; + } + + @RequestMapping(value = "find/ByName", method = RequestMethod.GET) + public String SharkController.findLoanSharksByName(@RequestParam("name") String name, ModelMap modelMap) { + if (name == null || name.length() == 0) throw new IllegalArgumentException("A Name is required."); + modelMap.addAttribute("loansharks", LoanShark.findLoanSharksByName(name).getResultList()); + return "loanshark/list"; + } + +} diff --git a/spring-integration-samples/loanshark/src/main/resources/META-INF/persistence.xml b/spring-integration-samples/loanshark/src/main/resources/META-INF/persistence.xml new file mode 100644 index 0000000000..0e13ebb1f8 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,13 @@ + + + + + org.hibernate.ejb.HibernatePersistence + + + + + + + + diff --git a/spring-integration-samples/loanshark/src/main/resources/META-INF/spring/applicationContext.xml b/spring-integration-samples/loanshark/src/main/resources/META-INF/spring/applicationContext.xml new file mode 100644 index 0000000000..9deaede3dc --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/resources/META-INF/spring/applicationContext.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spring-integration-samples/loanshark/src/main/resources/META-INF/spring/database.properties b/spring-integration-samples/loanshark/src/main/resources/META-INF/spring/database.properties new file mode 100644 index 0000000000..3781784f08 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/resources/META-INF/spring/database.properties @@ -0,0 +1,6 @@ +#Updated at Wed Mar 24 10:09:33 PDT 2010 +#Wed Mar 24 10:09:33 PDT 2010 +database.password= +database.url=jdbc\:hsqldb\:mem\:loanshark +database.username=sa +database.driverClassName=org.hsqldb.jdbcDriver diff --git a/spring-integration-samples/loanshark/src/main/resources/META-INF/spring/integrationContext.xml b/spring-integration-samples/loanshark/src/main/resources/META-INF/spring/integrationContext.xml new file mode 100644 index 0000000000..e58e47f06c --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/resources/META-INF/spring/integrationContext.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + diff --git a/spring-integration-samples/loanshark/src/main/resources/META-INF/spring/log4j.properties b/spring-integration-samples/loanshark/src/main/resources/META-INF/spring/log4j.properties new file mode 100644 index 0000000000..d9877f3ff5 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/resources/META-INF/spring/log4j.properties @@ -0,0 +1,12 @@ +#Updated at Wed Mar 24 10:09:35 PDT 2010 +#Wed Mar 24 10:09:35 PDT 2010 +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.rootLogger=DEBUG, stdout, R +log4j.appender.R.File=application.log +log4j.appender.R.MaxFileSize=100KB +log4j.appender.R.layout=org.apache.log4j.PatternLayout +log4j.appender.R.MaxBackupIndex=1 +log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n +log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.R=org.apache.log4j.RollingFileAppender diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/classes/alt.properties b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/classes/alt.properties new file mode 100644 index 0000000000..5280c238f6 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/classes/alt.properties @@ -0,0 +1 @@ +styleSheet=static/styles/alt.css diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/classes/standard.properties b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/classes/standard.properties new file mode 100644 index 0000000000..9aea1e64d4 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/classes/standard.properties @@ -0,0 +1 @@ +styleSheet=static/styles/standard.css diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/application.properties b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/application.properties new file mode 100644 index 0000000000..664f129a4f --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/application.properties @@ -0,0 +1,7 @@ +#Updated at test Wed Mar 24 10:09:34 PDT 2010 +#Wed Mar 24 10:09:34 PDT 2010 +application.name=Loanshark +label.loanshark=Loan Shark +label.loansharks=Loan Sharks +label.name=Name +menu.category.web_mvc_jsp_loanshark_category.label=Loan Shark diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages.properties b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages.properties new file mode 100644 index 0000000000..c9286f52b2 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages.properties @@ -0,0 +1,95 @@ +#menu +global.menu.new=Create new {0} +global.menu.list=List all {0} +global.menu.find=Find by {0} +global.language.switch=Switch language to {0} +global.language=Language +global.sponsored=Sponsored by SpringSource +global.theme=Theme +global.theme.alt=alt +global.theme.standard=standard + +#welcome page +welcome.titlepane=Welcome to {0} +welcome.h3=Welcome to {0} +welcome.text=Spring Roo provides interactive, lightweight and user customizable tooling that enables rapid delivery of high performance enterprise Java applications. + +#entity labels +entity.list.all=List all {0} +entity.show=Show {0} +entity.create=Create new {0} +entity.update=Update {0} +entity.delete=Delete {0} +entity.find=Find by {0} +entity.not.found=No {0} found. +entity.not.found.single=No {0} found with this id. + +#button labels +button.home=Home +button.save=Save +button.update=Update +button.find=Find +button.cancel=Cancel +button.proceed=Proceed +button.submit=Submit +button.reset=Reset +button.end=End +button.showmessage=Show Message +button.showstacktrace=Show Stack Trace +button.showcookie=Show Cookie + +#field labels +field.simple.validation=Enter {0} {1} +field.invalid.email=Please enter a valid email +field.invalid.number=Number with \\'-\\' or \\'.\\' allowed +field.invalid.integer=Integer numbers only +field.invalid=Please enter valid {0} +field.required=required + +#list labels +list.first=First Page +list.next=Next Page +list.previous=Previous Page +list.last=Last Page +list.page=Page {0} of {1} +list.size=List results per page: + +#selenium +selenium.menu.test.suite=Test Suite + +#exception +exception.message=Exception Message +exception.stacktrace=Exception Stack Trace +exception.cookie=Cookies +exception.details=Details + +#dataAccessFailure.jspx +error.dataaccessfailure.title=Data access failure +error.dataaccessfailure.problemdescription=Sorry, a problem occurred while accessing the database. + +#resourceNotFound.jspx +error.resourcenotfound.title=Requested Resource Not Found +error.resourcenotfound.problemdescription=Sorry, we did not find the resource you were looking for. + +#uncaughtException.jspx +error.uncaughtexception.title=Internal Error +error.uncaughtexception.problemdescription=Sorry, we encountered an internal error. + +#webflow +webflow.menu.enter=Enter {0} WebFlow +webflow.state1.title=Spring WebFlow - View State One +webflow.state1.message=This is a simple example to get started with Spring Web Flow. The buttons below lead you to another view state (Proceed) or to an end state. +webflow.state2.title=Spring WebFlow - View State Two +webflow.state2.message=This is a simple example to get started with Spring Web Flow. The buttons below lead you to another view state (Proceed) or to an end state. +webflow.endstate.title=Spring WebFlow - End State +webflow.endstate.message=You have now reached the end of this flow. + +#security +security.login.title=Spring Security Login +security.login.message=You have tried to access a protected area of this application. By default you can login as "admin", with a password of "admin". +security.login.form.name=Name +security.login.form.name.message=Enter your name +security.login.form.password=Password +security.login.form.password.message=Enter your password +security.login.unsuccessful=Your login attempt was not successful, try again. Reason: +security.logout=Logout \ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_de.properties b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_de.properties new file mode 100644 index 0000000000..ca8582d5e0 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_de.properties @@ -0,0 +1,96 @@ +#menu +global.menu.new={0} erstellen +global.menu.list=Alle {0} finden +global.menu.find=Suchen: {0} +global.language.switch=Sprache nach {0} ändern +global.language=Sprache +global.sponsored=Gesponsert von SpringSource +global.theme=Thema +global.theme.alt=alt +global.theme.standard=standard + +#welcome page +welcome.titlepane=Willkommen zu {0} +welcome.h3=Willkommen zu {0} +welcome.text=Spring Roo bietet ein interaktives, leichtgewichtiges und vom Anwender anpassbares Tool, welches die schnelle Erstellung von performanten Enterprise Java Applikationen ermöglicht. + +#entity labels +entity.list.all=Liste alle {0} +entity.show=Zeige {0} +entity.create={0} erstellen +entity.update={0} aktualisieren +entity.delete={0} löschen +entity.find=Finde {0} +entity.not.found={0} konnte nicht gefunden werden. +entity.not.found.single={0} konnte nicht gefunden werden mit dieser ID. + +#button labels +button.home=Home +button.save=Speichern +button.update=Aktualisieren +button.find=Finde +button.cancel=Abbrechen +button.proceed=Fortfahren +button.submit=Absenden +button.reset=Zurücksetzen +button.end=Ende +button.showmessage=Meldung Anzeigen +button.showstacktrace=Stack Trace Anzeigen +button.showcookie=Cookie Anzeigen + +#field labels +field.simple.validation=Bitte {0} eingeben {1} +field.invalid.email=E-Mail Adresse muss korrekt sein +field.invalid.number=Nummern mit \\'-\\' oder \\'.\\' erlaubt +field.invalid.integer=Nur Integer-Zahlen erlaubt +field.required=Pflichtfeld + +#list labels +list.first=Erste Seite +list.next=Nächste Seite +list.previous=Vorhergehende Seite +list.last=Letzte Seite +list.page=Seite {0} von {1} +list.size=Ergebnisse pro Seite: + +#webflow +webflow.menu.enter= {0} WebFlow starten + +#selenium +selenium.menu.test.suite=Testfälle + +#exception +exception.message=Exception Meldung +exception.stacktrace=Exception Stack Trace +exception.details=Details + +#dataAccessFailure.jspx +error.dataaccessfailure.title=Datenzugriff fehlgeschlagen +error.dataaccessfailure.problemdescription=Ein Problem ist aufgetreten während des Datenzugriffs. + +#resourceNotFound.jspx +error.resourcenotfound.title=Angeforderte Ressource nicht gefunden +error.resourcenotfound.problemdescription=Die angeforderte Ressource konnte leider nicht gefunden werden. + +#uncaughtException.jspx +error.uncaughtexception.title=Interner Fehler +error.uncaughtexception.problemdescription=Leider ist ein interner Fehler aufgetreten. + +#webflow +webflow.menu.enter=WebFlow {0} starten +webflow.state1.title=Spring WebFlow - Seite (View State) Eins +webflow.state1.message=Dies ist ein einfaches Beispiel um Spring Webflow zu demonstrieren. Die Buttons unten führen Sie zum nächsten Schritt (Fortfahren) oder zum Ende (Ende). +webflow.state2.title=Spring WebFlow - Seite (View State) Zwei +webflow.state2.message=Dies ist ein einfaches Beispiel um Spring Webflow zu demonstrieren. Der Button unten führt Sie zum Ende (Ende) des Flows. +webflow.endstate.title=Spring WebFlow - Letzte Seite (End State) +webflow.endstate.message=Sie haben das Ende des Flows erreicht. + +#security +security.login.title=Spring Security Login +security.login.message=Sie haben versucht eine gesicherte Seite aufzurufen. Standardmäßig können Sie als "admin", mit "admin" als Passwort einloggen. +security.login.form.name=Name +security.login.form.name.message=Geben Sie Ihren Namen ein +security.login.form.password=Passwort +security.login.form.password.message=Geben Sie Ihr Passwort ein +security.login.unsuccessful=Ihre Anmeldung war nicht erfolgreich, bitte versuchen Sie es noch einmal. Grund: +security.logout=Ausloggen \ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_es.properties b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_es.properties new file mode 100644 index 0000000000..9ad5facb3c --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_es.properties @@ -0,0 +1,95 @@ +#menu +global.menu.new=Crear nuevo {0} +global.menu.list=Listar {0} +global.menu.find=Buscar por {0} +global.language.switch=Cambiar idioma a {0} +global.language=Idioma +global.sponsored=Sponsored by SpringSource +global.theme=Tema +global.theme.alt=alt +global.theme.standard=estandarte + +#welcome page +welcome.titlepane=Bienvenido a {0} +welcome.h3=Bienvenido a {0} +welcome.text=Spring Roo proporciona herramientas interactivas, ligeras y adaptables al usuario que permiten la rápida entrega de aplicaciones empresariales Java de alto rendimiento. + +#entity labels +entity.list.all=Listar {0} +entity.show=Mostrar {0} +entity.create=Crear nuevo {0} +entity.update=Actualizar {0} +entity.delete=Borrar {0} +entity.find={0} +entity.not.found=No se han encontrado {0}. +entity.not.found.single=No se han encontrado {0} con este id. + +#button labels +button.home=Inicio +button.save=Guardar +button.update=Actualizar +button.find=Buscar +button.cancel=Cancelar +button.proceed=Proceder +button.submit=Enviar +button.reset=Reiniciar +button.end=Fin +button.showmessage=Mostrar Mensaje +button.showstacktrace=Mostar Stack Trace +button.showcookie=Mostrar Cookie + +#field labels +field.simple.validation=Introduzca {0} {1} +field.invalid.email=Por favor, introduzca un email válido +field.invalid.number=Números con \\'-\\' o \\'.\\' permitidos +field.invalid.integer=Sólo números enteros +field.invalid=Por favor, introduzca un {0} válido +field.required=requerido + +#list labels +list.first=Primera Página +list.next=Página Siguiente +list.previous=Página Anterior +list.last=Última página +list.page=Página {0} de {1} +list.size=Resultados por página: + +#selenium +selenium.menu.test.suite=Batería de pruebas + +#exception +exception.message=Mensaje de la Excepción +exception.stacktrace=Stack Trace de la Excepción +exception.cookie=Cookies +exception.details=Detalles + +#dataAccessFailure.jspx +error.dataaccessfailure.title=Error de acceso a datos +error.dataaccessfailure.problemdescription=Lo sentimos, ha ocurrido un problema al acceder a la base de datos. + +#resourceNotFound.jspx +error.resourcenotfound.title=Recurso Solicitado No Encontrado +error.resourcenotfound.problemdescription=Lo sentimos, no hemos encontrado el recurso que buscaba. + +#uncaughtException.jspx +error.uncaughtexception.title=Error Interno +error.uncaughtexception.problemdescription=Lo sentimos, ha ocurrido un error interno. + +#webflow +webflow.menu.enter=Empezar WebFlow {0} +webflow.state1.title=Spring WebFlow - View State Uno +webflow.state1.message=Este es un simple ejemplo para empezar con Spring Web Flow. Los botones de abajo llevan al siguiente estado (Proceder) o a al estado final. +webflow.state2.title=Spring WebFlow - View State Dos +webflow.state2.message=Este es un simple ejemplo para empezar con Spring Web Flow. El botón de abajo lleva al fin del flujo (end state). +webflow.endstate.title=Spring WebFlow - Estado final (End State) +webflow.endstate.message=Ha llegado al final del flujo. + +#security +security.login.title=Spring Security Login +security.login.message=Ha intentado acceder a una área protegida de esta aplicación. Por defecto, puede iniciar sesión con "admin" y contraseña "admin". +security.login.form.name=Nombre +security.login.form.name.message=Introduzca su nombre +security.login.form.password=Contraseña +security.login.form.password.message=Introduzca su constraseña +security.login.unsuccessful=Su intento de inicio de sesión no ha tenido éxito, inténtelo de nuevo. Razón: +security.logout=Cerrar sesión \ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_it.properties b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_it.properties new file mode 100644 index 0000000000..d02d80852b --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_it.properties @@ -0,0 +1,95 @@ +#menu +global.menu.new=Crea nuovo {0} +global.menu.list=Elenca tutti {0} +global.menu.find=Trova per {0} +global.language.switch=Cambia linguaggio in {0} +global.language=Lingua +global.sponsored=Sponsorizzato da SpringSource +global.theme=Tema +global.theme.alt=alt +global.theme.standard=standard + +#welcome page +welcome.titlepane=Benvenuto in {0} +welcome.h3=Benvenuto in {0} +welcome.text=Spring Roo fornisce un tool interattivo, leggero e personalizzabile dall'utente, che abilita lo sviluppo rapido di applicazioni Java enterprise ad alte prestazioni. + +#entity labels +entity.list.all=Elenca tutti {0} +entity.show=Mostra {0} +entity.create=Crea nuovo {0} +entity.update=Aggiorna {0} +entity.delete=Elimina {0} +entity.find={0} +entity.not.found=Nessun {0} trovato. +entity.not.found.single=Nessun {0} trovato con questo id. + +#button labels +button.home=Home +button.save=Salva +button.update=Aggiorna +button.find=Trova +button.cancel=Cancella +button.proceed=Procedi +button.submit=Invia +button.reset=Azzera +button.end=Fine +button.showmessage=Mostra Messaggio +button.showstacktrace=Mostra Stack Trace +button.showcookie=Mostra Cookie + +#field labels +field.simple.validation=Inserisci {0} {1} +field.invalid.email=Si prega di inserire un indirizzo email valido +field.invalid.number=Numero con \\'-\\' o \\'.\\' ammesso +field.invalid.integer=Solo numeri interi +field.invalid=Si prega di inserire dei validi {0} +field.required=richiesto + +#list labels +list.first=Prima pagina +list.next=Prossima Pagina +list.previous=Pagina Precedente +list.last=Ultima Pagina +list.page=Pagina {0} di {1} +list.size=Elenco risultati per pagina: + +#selenium +selenium.menu.test.suite=Test Suite + +#exception +exception.message=Messaggio Eccezione +exception.stacktrace=Stack Trace Eccezione +exception.cookie=Cookies +exception.details=Dettagli + +#dataAccessFailure.jspx +error.dataaccessfailure.title=Fallito l'accesso ai dati +error.dataaccessfailure.problemdescription=Spiacente, si è verificato un problema durante l'accesso al database. + +#resourceNotFound.jspx +error.resourcenotfound.title=Risorsa richiesta non trovata +error.resourcenotfound.problemdescription=Spiacente, non troviamo la risorsa che stai cercando. + +#uncaughtException.jspx +error.uncaughtexception.title=Errore Interno +error.uncaughtexception.problemdescription=Spiacente, abbiamo incontrato un errore interno. + +#webflow +webflow.menu.enter=Inserire {0} WebFlow +webflow.state1.title=Spring WebFlow - Stato View Uno +webflow.state1.message=Questo è un semplice esempio con Spring Web Flow. I pulsanti sotto conducono ad un altro view state (Procedi) o ad uno stato finale. +webflow.state2.title=Spring WebFlow - Stato View Due +webflow.state2.message=Questo è un semplice esempio per iniziare con Spring Web Flow. I pulsanti sotto conducono ad un altro stato view (Procedi) o ad uno stato finale. +webflow.endstate.title=Spring WebFlow - Stato finale +webflow.endstate.message=Hai raggiunto la fine di questo flusso. + +#security +security.login.title=Spring Security Login +security.login.message=Hai provato ad accedere ad un area protetta di questa applicazione. Di default puoi fare il login come "admin", con password "admin". +security.login.form.name=Nome +security.login.form.name.message=Inserisci il tuo nome +security.login.form.password=Password +security.login.form.password.message=Inserisci la password +security.login.unsuccessful=Il tentativo di login non ha avuto successo, prova ancora. Motivo: +security.logout=Logout diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_nl.properties b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_nl.properties new file mode 100644 index 0000000000..836a96c3a4 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_nl.properties @@ -0,0 +1,96 @@ +#menu +global.menu.new={0} maken +global.menu.list=Toon alle {0} +global.menu.find=Vind op {0} +global.language.switch=Wissel taal naar: {0} +global.language=Taal +global.sponsored=Gesponsord door SpringSource +global.theme=Thema +global.theme.alt=alt +global.theme.standard=standaard + +#welcome page +welcome.titlepane=Welkom bij {0} +welcome.h3=Welkom bij {0} +welcome.text=Spring Roo levert interactieve, lichtgewicht en door de gebruiker aanpasbare tools waarmee snel hoogwaardige Enterprise Java applicaties gemaakt kunnen worden. + +#entity labels +entity.list.all=Toon alle {0} +entity.show=Toon {0} +entity.create={0} maken +entity.update=Bewerk {0} +entity.delete=Verwijder {0} +entity.find=Zoek {0} +entity.not.found=Geen {0} gevonden. +entity.not.found.single=Geen {0} gevonden met dit id. + +#button labels +button.home=Home +button.save=Sla op +button.update=Bewerk +button.find=Zoek +button.cancel=Annuleer +button.proceed=Ga door +button.submit=Verstuur +button.reset=Herstel +button.end=Einde +button.showmessage=Toon bericht +button.showstacktrace=Toon stack trace +button.showcookie=Toon cookie + +#field labels +field.simple.validation=Voer {0} {1} in +field.invalid.email=Voer een geldig email adres in +field.invalid.number=Getal met \\'-\\' or \\',\\' toegestaan +field.invalid.integer=Alleen gehele getallen +field.invalid=Voer een geldige {0} in +field.required=verplicht + +#list labels +list.first=Eerste pagina +list.next=Volgende pagina +list.previous=Vorige pagina +list.last=Laatste pagina +list.page=Pagina {0} van {1} +list.size=Resultaten per pagina: + +#selenium +selenium.menu.test.suite=Test Suite + +#exception +#intentionally left the two exception entries below in English as Dutch translations of technical terms are confusing to Dutch developers +exception.message=Exception Message +exception.stacktrace=Exception Stack Trace +exception.cookie=Cookies +exception.details=Details + +#dataAccessFailure.jspx +error.dataaccessfailure.title=Data toegang gefaald +error.dataaccessfailure.problemdescription=Sorry, er heeft zich een probleem voorgedaan bij het benaderen van de database. + +#resourceNotFound.jspx +error.resourcenotfound.title=Gevraagde bron is niet gevonden +error.resourcenotfound.problemdescription=Sorry, de gevraagde bron is niet gevonden + +#uncaughtException.jspx +error.uncaughtexception.title=Interne fout +error.uncaughtexception.problemdescription=Sorry, het systeem heeft een intern probleem aangetroffen + +#webflow +webflow.menu.enter=Ga webflow {0} in +webflow.state1.title=Spring WebFlow - Bekijk eerste status +webflow.state1.message=Dit is een simpel voorbeeld van hoe met Spring Web Flow te beginnen. De knoppen hieronder leiden je naar een andere view state (Proceed), of naar een eind state. +webflow.state2.title=Spring WebFlow - Bekijk tweede status +webflow.state2.message=Dit is een simpel voorbeeld van hoe met Spring Web Flow te beginnen. De knoppen hieronder leiden je naar een andere view state (Proceed), of naar een eind state. +webflow.endstate.title=Spring WebFlow - status einde +webflow.endstate.message=U heeft het einde van deze flow bereikt. + +#security +security.login.title=Spring Security Login +security.login.message=U hebt geprobeerd een beveiligd gedeelte van de applicatie te benaderen. De standaard login is "admin", met wachtwoord "admin". +security.login.form.name=Naam +security.login.form.name.message=Voer uw naam in +security.login.form.password=Wachtwoord +security.login.form.password.message=Voer uw wachtwoord in +security.login.unsuccessful=Uw login poging was niet succesvoal, probeer het nogmaals. Reden: +security.logout=Afmelden \ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_sv.properties b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_sv.properties new file mode 100644 index 0000000000..92d50da86d --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/i18n/messages_sv.properties @@ -0,0 +1,96 @@ +#menu +global.menu.new=Skapa ny {0} +global.menu.list=Visa alla {0} +global.menu.find=Sök på {0} +global.language.switch=Byt språk till {0} +global.language=Språk +global.sponsored=Sponsrad av SpringSource +global.theme=Tema +global.theme.alt=alt +global.theme.standard=standard + +#welcome page +welcome.titlepane=Välkommen till {0} +welcome.h3=Välkommen till {0} +welcome.text=Spring Roo ger interaktiva, lättviktiga verktyg som kan anpassas av användaren och möjliggör snabb leverans av högpresterande enterprise Java applikationer. + +#entity labels +entity.list.all=Visa alla {0} +entity.show=Visa {0} +entity.create=Skapa ny {0} +entity.update=Uppdatera {0} +entity.delete=Ta bort {0} +entity.find=Sök på {0} +entity.not.found=Ingen {0} hittades. +entity.not.found.single=Ingen {0} hittades med detta id. + +#button labels +button.home=Hem +button.save=Spara +button.update=Uppdatera +button.find=Hitta +button.cancel=Avbryt +button.proceed=Fortsätt +button.submit=Skicka +button.reset=Börja om +button.end=Sista +button.showmessage=Visa meddelande +button.showstacktrace=Visa Stack Trace +button.showcookie=Visa Cookie + +#field labels +field.simple.validation=Ange {0} {1} +field.invalid.email=Var vänlig använd en giltig emailadress +field.invalid.number=Siffra med \\'-\\' eller \\'.\\' tillåten +field.invalid.integer=Endast heltal +field.invalid=Var vänlig anväd en giltig {0} +field.required=obligatoriskt + +#list labels +list.first=Första sidan +list.next=Nästa sida +list.previous=Förra sidan +list.last=Sista sidan +list.page=Sida {0} av {1} +list.size=Visa antal resultat per sida: + +#selenium +selenium.menu.test.suite=Test Svit + +#exception +exception.message=Undantagsmeddelande +exception.stacktrace=Undantag Stack Trace +exception.cookie=Cookies +exception.details=Detaljer + +#dataAccessFailure.jspx +error.dataaccessfailure.title=Fel vid dataläsning +error.dataaccessfailure.problemdescription=Beklagar, ett problem uppstod vid läsning av databasen. + +#resourceNotFound.jspx +error.resourcenotfound.title=Efterfrågad tillgång hittades inte +error.resourcenotfound.problemdescription=Beklagar, vi kunde inte hitta tillgången du efterfrågade. + +#uncaughtException.jspx +error.uncaughtexception.title=Internt fel +error.uncaughtexception.problemdescription=Beklagar, ett internt fel inträffade. + +#webflow +webflow.menu.enter=Börja {0} WebFlow +webflow.state1.title=Spring WebFlow - See tillstånd ett +webflow.state1.message=Det här är ett enkelt exempel på hur du kommer igång med Spring Web Flow. Knapparna nedan leder dig till ett annat tillstånd (Fortsätt) eller till sluttillståndet. +webflow.state2.title=Spring WebFlow - See tillstånd två +webflow.state2.message=Det här är ett enkelt exempel på hur du kommer igång med Spring Web Flow. Knapparna nedan leder dig till ett annat tillstånd (Fortsätt) eller till sluttillståndet. +webflow.endstate.title=Spring WebFlow - Sluttillståndet +webflow.endstate.message=Du har nu kommit till slutet på detta flöde + +#security +security.login.title=Spring Security Login +security.login.message=Du har försökt komma in på en skyddad del av den här applikationen. Som standard kan du logga in som "admin", med lösenord "admin". + +security.login.form.name=Namn +security.login.form.name.message=Ange ditt namn +security.login.form.password=Lösenord +security.login.form.password.message=Ange ditt lösenord +security.login.unsuccessful=Ditt försök att logga in misslyckades, försök igen. Anledning: +security.logout=Logga ut \ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/layouts/default.jspx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/layouts/default.jspx new file mode 100644 index 0000000000..4a8fb09695 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/layouts/default.jspx @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + <spring:message code="welcome.h3" arguments="${app_name}" /> + + +
+ +
+ + +
+
+ + diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/layouts/layouts.xml b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/layouts/layouts.xml new file mode 100644 index 0000000000..322c65a63f --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/layouts/layouts.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/spring/webmvc-config.xml b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/spring/webmvc-config.xml new file mode 100644 index 0000000000..1767a0dbc9 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/spring/webmvc-config.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /WEB-INF/layouts/layouts.xml + + /WEB-INF/views/**/views.xml + + + + + + + + + + + + + + + + + + + + + dataAccessFailure + resourceNotFound + resourceNotFound + resourceNotFound + + + + + + + diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/tags/language.tagx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/tags/language.tagx new file mode 100644 index 0000000000..cfe0a660b8 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/tags/language.tagx @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + ${lang_en} + + + + + + + + + + + + + + ${lang_de} + + + + + + + + + + + + + + ${lang_sv} + + + + + + + + + + + + + + ${lang_es} + + + + + + + + + + + + + + ${lang_it} + + + + + + + + + + + + + + ${lang_nl} + + + + diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/tags/pagination.tagx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/tags/pagination.tagx new file mode 100644 index 0000000000..d5c848a373 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/tags/pagination.tagx @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${i} + + + + + + + + + + + + + + + ${first_label} + + + + + + + + + + + ${previous_label} + + + + + + + + + + + + + + ${next_label} + + + + + + + + + + + ${last_label} + + + \ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/tags/theme.tagx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/tags/theme.tagx new file mode 100644 index 0000000000..d97bbef9d5 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/tags/theme.tagx @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + ${theme_standard} + + + + + + + + + + + + ${theme_alt} + + \ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/urlrewrite.xml b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/urlrewrite.xml new file mode 100644 index 0000000000..314c4acd18 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/urlrewrite.xml @@ -0,0 +1,34 @@ + + + + + + /resources/** + /resources/$1 + + + /static/WEB-INF/** + 403 + /static/WEB-INF/$1 + + + /static/** + /$1 + + + / + /app/index + + + /app/** + /app/$1 + + + /** + /app/$1 + + + /app/** + /$1 + + diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/controller-index.jspx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/controller-index.jspx new file mode 100644 index 0000000000..76e3f3cabf --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/controller-index.jspx @@ -0,0 +1,10 @@ +
+ + +
+ + + +

Controller Index Page

+
+
\ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/dataAccessFailure.jspx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/dataAccessFailure.jspx new file mode 100644 index 0000000000..3fd4aeb625 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/dataAccessFailure.jspx @@ -0,0 +1,30 @@ +
+ + +
+ + +

${title}

+

+ +

+

+ + +
+ + +
+ + +
+ + +
+
+
+

+
+
+
+ diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/index.jspx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/index.jspx new file mode 100644 index 0000000000..ee8e0a1c98 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/index.jspx @@ -0,0 +1,11 @@ +
+ + +
+ + + +

+

+
+
\ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/create.jspx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/create.jspx new file mode 100644 index 0000000000..3fa6350f09 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/create.jspx @@ -0,0 +1,51 @@ +
+ + +
+ + + + + + +
+ + +
+ + + + + +
+
+
+ + +
+ + + + + +
+
+
+ + +
+ + + + + +
+
+
+ + + +
+
+
+
diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/findLoanSharksByName.jspx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/findLoanSharksByName.jspx new file mode 100644 index 0000000000..85c6a9c309 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/findLoanSharksByName.jspx @@ -0,0 +1,25 @@ +
+ + +
+ + + + + +
+ + + + + +
+
+
+ + + +
+
+
+
diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/list.jspx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/list.jspx new file mode 100644 index 0000000000..980f74eb71 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/list.jspx @@ -0,0 +1,87 @@ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IdNameCounterAverage Rate + + +
${loanShark.id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/show.jspx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/show.jspx new file mode 100644 index 0000000000..8720448a8b --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/show.jspx @@ -0,0 +1,35 @@ +
+ + +
+ + + + +
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ + + +
+
diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/update.jspx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/update.jspx new file mode 100644 index 0000000000..95e0e82b8c --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/update.jspx @@ -0,0 +1,53 @@ +
+ + +
+ + + + + + +
+ + +
+ + + + + +
+
+
+ + +
+ + + + + +
+
+
+ + +
+ + + + + +
+
+
+ + + +
+ + +
+
+
diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/views.xml b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/views.xml new file mode 100644 index 0000000000..eda77f5acc --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/loanshark/views.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/menu.jspx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/menu.jspx new file mode 100644 index 0000000000..3701577494 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/menu.jspx @@ -0,0 +1,34 @@ + diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/resourceNotFound.jspx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/resourceNotFound.jspx new file mode 100644 index 0000000000..3190fb5e3c --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/resourceNotFound.jspx @@ -0,0 +1,29 @@ +
+ + +
+ + +

${title}

+

+ +

+

+ + +
+ + +
+ + +
+ + +
+
+
+

+
+
+
\ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/uncaughtException.jspx b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/uncaughtException.jspx new file mode 100644 index 0000000000..267f8eb116 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/uncaughtException.jspx @@ -0,0 +1,29 @@ +
+ + +
+ + +

${title}

+

+ +

+

+ + +
+ + +
+ + +
+ + +
+
+
+

+
+
+
\ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/views.xml b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/views.xml new file mode 100644 index 0000000000..865a7c87a3 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/views/views.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/web.xml b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..20dcb64219 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,136 @@ + + + loanshark + Roo generated loanshark application + + + log4jConfigLocation + classpath:META-INF/spring/log4j.properties + + + defaultHtmlEscape + true + + + + webAppRootKey + loanshark.root + + + + contextConfigLocation + classpath*:META-INF/spring/applicationContext*.xml + + + + etagFilter + org.springframework.web.filter.ShallowEtagHeaderFilter + + + + CharacterEncodingFilter + org.springframework.web.filter.CharacterEncodingFilter + + encoding + UTF-8 + + + forceEncoding + true + + + + + httpMethodFilter + org.springframework.web.filter.HiddenHttpMethodFilter + + + + UrlRewriteFilter + org.tuckey.web.filters.urlrewrite.UrlRewriteFilter + + + + Spring OpenEntityManagerInViewFilter + org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter + + + + Spring OpenEntityManagerInViewFilter + /* + + + CharacterEncodingFilter + /* + + + + httpMethodFilter + /* + + + + UrlRewriteFilter + /* + + + + org.springframework.web.util.Log4jConfigListener + + + org.springframework.web.context.ContextLoaderListener + + + + loanshark + org.springframework.web.servlet.DispatcherServlet + + contextConfigLocation + /WEB-INF/spring/webmvc-config.xml + + + + + + Resource Servlet + org.springframework.js.resource.ResourceServlet + + + + loanshark + /app/* + + + + + Resource Servlet + /resources/* + + + + 10 + + + + index.jspx + + + + java.lang.Exception + /app/uncaughtException + + + + 404 + /app/resourceNotFound + + diff --git a/spring-integration-samples/loanshark/src/main/webapp/images/add.png b/spring-integration-samples/loanshark/src/main/webapp/images/add.png new file mode 100644 index 0000000000000000000000000000000000000000..d5bfa0719bc3a2ce4fc529403f0acd6b6057c956 GIT binary patch literal 739 zcmV<90v!E`P)BG67=JY6c|L1R-#TR>fC$3^Y%QEnYO1xHsf)+GU`3F<{J0kR(;pbF3)zyg$H+idfnl-wl5Wkh!vUH z4Z32YP=l_}1rZd1W_D&^$A($A+&a0e&P?xx0!ctY2}*<#p+qPVN*B(YzvAWXa*%bzq z7Fz41LKILT(GWohi9|LgIzSZBhb*Zf6R6O}WYQ4GOi&71s9lmll0x6;8&ILOl$j(c z0Z1T(6Tg09{?wd{moFHNN6PS?$|e>1MxSJ(0Z7o2)J-Zv|>acY@f`(Y@g7GwsEj5NLQo+q|HsxQ5}XSX_d@*^A9ZT9=A{W~j+$GyI1 zc4oqTHx@1FlRjw4XWyPN5i2~l_F3@aBk!0yu^aoRDvXy}8@HCjUVQUsuSH4$T5|r< zzZOn^?Wfa6y|Q($Hx4{ws+)wX6-HP4zo!S?4KJ@7PG@G3G{CjXs(p*kIrj6rHs7_y z+=<-=Q62s9FuWa^X~WKgJIAAZJR&XBB002ovPDHLkV1jCMPILeO literal 0 HcmV?d00001 diff --git a/spring-integration-samples/loanshark/src/main/webapp/images/banner-graphic.png b/spring-integration-samples/loanshark/src/main/webapp/images/banner-graphic.png new file mode 100644 index 0000000000000000000000000000000000000000..7d2b78c6e370c97f342921e8158c324b73c8bda6 GIT binary patch literal 13194 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 literal 0 HcmV?d00001 diff --git a/spring-integration-samples/loanshark/src/main/webapp/images/delete.png b/spring-integration-samples/loanshark/src/main/webapp/images/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..1514d51a3cf1b67e1c5b9ada36f1fd474e2d214a GIT binary patch literal 655 zcmV;A0&x9_P)uEoyT++I zn$b9r%cFfhHe2K68PkBu*@^<$y+7xQ$wJ~;c5aBx$R=xq*41Wo zhwQus_VOgm0hughj}MhOvs#{>Vg09Y8WxjWUJY5YW zJ?&8eG!59Cz=|E%Ns@013KLWOLV)CObIIj_5{>{#k%TEAMs_GbdDV`x-iYsGH z#=Z{USAQA>NY(}X7=3{K8#@|4`Xj5kLT%`al?B=W5I`&pe;NKW0^Ri&h`xRJ_x;0v zUa?=y?0^3M|NZ~}FE9c#{{3cP{Qd6}13&;Vf!z&M{pZWqKYu4MFm$tgedF}w=P#IQ z7-9gT-$11R0mKA$(qEu4%ok$*y!^wMRm*x;`R7|k6yu?K{s8?55I{^|9{?Tjhec2I zv+6&FhFWG_BbNVc|Ns94tNRJp!0`V!Py;{!F#$2enB#XZaohg-5%Tlk#oa&nzQW9g zl0Y{D4gK?n0U&@Fe=;yIr=|V7caH%YEYL84k`Tt9-wc2LGODP&y?7BIfLMT@X8Qey zK~fSFpuiXa$^kvn0BuQXJh36f^?aOyKw{h@uGe%%Wq^169do=n}I~R6hvCr3tVvMAWnoLz7vK zrO%(BZka@ARX?KW6vnlT=-3oo?Q#Qc?_g^kLRfksRJJxW3`{_oQw7nxfY1vgkd2Fw z-=9Zq-xwk)+o9;5hE^7g^BtqWokg_tKg7ij7s?v%0gh?-7QTRMeg$=f1ESxHYtBc| zrRIV2c%iJOJcN3{C*{qT&5#C4p)SwY*g9S zP))p0W+Z#gB%LK0aREiVb(f9k_2g7YG=Ef*NDD?%Y&>{Kk{5t=Z$iR$>u)A??2e>b JCH$-BKLHYvzV844 literal 0 HcmV?d00001 diff --git a/spring-integration-samples/loanshark/src/main/webapp/images/gb.png b/spring-integration-samples/loanshark/src/main/webapp/images/gb.png new file mode 100644 index 0000000000000000000000000000000000000000..ff701e19f6d2c0658fb23b1d94124cba4ce60851 GIT binary patch literal 599 zcmV-d0;v6oP)U(k2*|8J(R-+sudaynhucHbwAMTnor{mwqO^w7JHzaBsT z{O^B8RYf5+LvDs&KmRKVd78=o{`1#HTiEo_OolaGleS)G+IQ#sUI`b*pv<`1zCJ=H0jd{{2S>p`ri%{LsXJ%FbMS z$#S`6f|?OG!^Jxczkf6Q`UNF{l0Sd`ad7zm>({^EzyAS6{{CgrkluOb3l1A>ZU2~A zK+FZ=zkmP!`TOVhpFbzBzFaPmD2$N3;+$pK?>zdet`f0002ovPDHLkV1gy;I?Vt8 literal 0 HcmV?d00001 diff --git a/spring-integration-samples/loanshark/src/main/webapp/images/it.png b/spring-integration-samples/loanshark/src/main/webapp/images/it.png new file mode 100644 index 0000000000000000000000000000000000000000..89692f74f051cd43503744c3dab65c8ba773b7e2 GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!2~3KHq6QcQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrIztFq(O~IEGZ*N=lh=;=qSyMwWku z27eMOW_|f0uQeek^e_9g7KH|eq{JVG0^UaP2Jy4}|L^JL_3uCblfVD@mnS9t`~UCn z|MT(+KT|KOfz%~1cG~~^_2vEk{SFNQ?Cjg~|NsBWy<%2im{vp^YdeS=hk-Cyo6U`Hgs{l4FR(w#{P`G0;a3G2@YSmzI~fu(ZE1> L{an^LB{Ts58L6#6 literal 0 HcmV?d00001 diff --git a/spring-integration-samples/loanshark/src/main/webapp/images/list.png b/spring-integration-samples/loanshark/src/main/webapp/images/list.png new file mode 100644 index 0000000000000000000000000000000000000000..acc30b853b3740bad231e4daa8e9f5a81f3f757b GIT binary patch literal 473 zcmV;~0Ve*5P)x=~R!WME*cb6K0H8ItD70ARH|h P00000NkvXXu0mjfzPQHT literal 0 HcmV?d00001 diff --git a/spring-integration-samples/loanshark/src/main/webapp/images/nl.png b/spring-integration-samples/loanshark/src/main/webapp/images/nl.png new file mode 100644 index 0000000000000000000000000000000000000000..fe44791e32b790949b0317ab3c258864b9024ebe GIT binary patch literal 453 zcmV;$0XqJPP)@|4`Xj5kLTv#?55wQzKoX38|NjLffBpXj6#2y{D-E;(Ab?mHL=FGT z$TP6>fK>na1GWK({(upf0nrSU5*Gz(00%w4e}91F-@gjtJbOE500a;V!?RECzy5mt@dro_q~YJM-#~SLe}OeX zNT7y4|NilCvNABd0|+1%hF>6clER!2lYo}|1|zVkK=SXOfB*mf{rC6ZKVbL)odgg- vjKFAPVE6?_e~=h|kVO7~qZmRm0R$KTYszPUy89K;00000NkvXXu0mjfB$dbi literal 0 HcmV?d00001 diff --git a/spring-integration-samples/loanshark/src/main/webapp/images/resultset_first.png b/spring-integration-samples/loanshark/src/main/webapp/images/resultset_first.png new file mode 100644 index 0000000000000000000000000000000000000000..b03eaf8b5416fa6878165d95116e73003f8445f5 GIT binary patch literal 522 zcmV+l0`>igP)ufs8f5Kzx*fI63}@)AAFXgQp7K#X5)&2^7g z_9O9^7^ARqyc%qAP{1M7?|}io8xW>dotf=a%%ZSXBBI&Rf<-t`#(~H!2g~*8&15{# zVXjXMwHZYVJ6lk!gb6?r$g;SuO>QI;yeQ51#0H@Z6sk_ajqECPZEqLq!PMf5MQ5gS1i(Owi(ut_CY*w|Psf-Iy6=08Y` zHnsuDs6h)+OwcBqopImX_v1c`5LkrSCWWWFUvW71z%eN$cB714YVYtd`}$X<%JbQ) zM;;CHJDu;#-swg0iul07{S&4s!M>4O+`c|6_tW_i^y+I%|aPsIlEx5K=^ki~8LwqDy-)t}thx1D9 zB6|#ECQ%2a60OQQ<{6-)5|okv)6E>1Xpv+@iIv@MJ8v15 zR{N~1_2z$e&R$WgNhIQelIl1rK}5XruIN#GDZA_4bJqcqID*^mXXFcgt1K5iK7HPL zwLW*@#tu()#Cyd@CHc^75Ul6pYT4PCpSeBE)hh4bY>IO8de(|Ml<%@O-40!dwX61{2C5s-llVw2V@@N0oo_PPieZ!0Y2~+R( zk!(QTf=B;X9DnzJ@u9c>OP4(U@7{849!UlyO@H`*;lVfmCvAW6f9CF&{}ZR*{jXDW zb_vl21ozzrYJBy-Vb$aRjjJF3@7nm}zjw#A|58cE9uZ}LbIY~=6ShA8U$XeY|MDdd zfQCH!?_7WRzhvaG%|sbsT7Kz&`}!yUix%Do#>T_{_Ei`DO9UTSBkH=Hg(w4*^UnUS zTk-IJ<+2C=ZObqG7Z2FGlB7VCN;>(!bn*TFHYMl(i+Sx`L~=ArL>~EXU3lidsO!!J pWF;gqzXSh89JkLNxXeT<1_12n>%V}Y6R`jQ002ovPDHLkV1iLCz99er literal 0 HcmV?d00001 diff --git a/spring-integration-samples/loanshark/src/main/webapp/images/resultset_previous.png b/spring-integration-samples/loanshark/src/main/webapp/images/resultset_previous.png new file mode 100644 index 0000000000000000000000000000000000000000..18f9cc10948f025fde708328fa704b520161e5f6 GIT binary patch literal 389 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 literal 0 HcmV?d00001 diff --git a/spring-integration-samples/loanshark/src/main/webapp/images/update.png b/spring-integration-samples/loanshark/src/main/webapp/images/update.png new file mode 100644 index 0000000000000000000000000000000000000000..046811ed7a6ef16be1a54bb860e1f22c6dacdacf GIT binary patch literal 807 zcmV+?1K9kDP)iHtsh1EzPArg^Q zIZrOk#rNsfjaSbMAL;<4h;Z=jvu8dzyz8N&Nb7=z03ZUw?9z%8KQEa6yM5=kUnka& z3?FJk2}L7q>na=T#;<7U*P91xfF`;`6%pVgWgRy0?1ZryL@%z52=-!fGXWGEn4M351L4<+7eDgwo|moqXT+s1&Kmn>-uQQ8mL7XY)w5Zk*(g+<3Y3tmkR!bL zOUKaUtj_pX26sH+=Iorwu}MGd`_%O-_sS}8VpG#fJA)Fcs#ezwtZf?q?Ac70mDv`rVs{$od?VPKeqf<-kUjNtS6ecB*mq<&M97K^6IVsDO zt2$Ru!b+>2S<}_H>$RcInusU_8PMNdf(W{sNlJ3FkrwMJPeBPO#d}Y^a{9TH(#{Y) l0D?dWAV4eUJX#h`!2gmISk&ZKd4B)^002ovPDHLkV1g&sd|Lnj literal 0 HcmV?d00001 diff --git a/spring-integration-samples/loanshark/src/main/webapp/styles/alt.css b/spring-integration-samples/loanshark/src/main/webapp/styles/alt.css new file mode 100644 index 0000000000..5cb9a08877 --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/styles/alt.css @@ -0,0 +1,348 @@ +/* main elements */ + +body,div,td { + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + color: #666; +} + +body { + background-color: #fff; + background-image: url(../images/banner-graphic.png); + background-position: top center; + background-repeat: no-repeat; + text-align: center; +} + +#wrapper { + width:800px; + min-width: 800px; + max-width: 800px; + margin-right: auto; + margin-left: auto; + /* fix max-width incompatibility in IE6 */ + width:expression(document.body.clientWidth > 800? "800px": "auto" ); + + overflow:hidden; + display:block; + margin-top: 90px; +} + +/* header and footer elements */ + +#main { + overflow:hidden; + display:box; +} + +#menu { + background: #eee; + position:relative; + float:right; + left:0px; + width:220px; + margin-left:15px; +} + +#menu ul{ + list-style: none; + margin: 0; + padding: 0; +} + +#menu ul li{ + padding: 0px; +} + + +#menu a, #menu h2 { + display: block; + margin: 0; + padding: 2px 6px; + color:#FFFFFF; +} + +#menu h2 { + color: #fff; + background: #648C1D; + text-transform: uppercase; + font-weight:bold; + font-size: 12px; +} + +#menu a { + color: #666666; + background: #efefef; + text-decoration: none; + padding: 2px 12px; +} + +#menu a:hover { + color: #648C1D; + background: #fff; +} + +#footer { + background:#fff; + border:none; + margin-top:15px; + border-top:1px solid #999999; +} + +#footer .new { + float:left; +} + +#footer a:link {color: #7db223;} + +label { + width:100px; + float:left; + margin-left: 5px; + margin-top: 0px; +} + +input { + height:20px; +} + +input, textarea, select { + border:1px solid #B3B3B3; +} + +input.image { + border: none; + height: auto; +} + +submit { + height:25px; +} + +div { + text-align: left; +} + +div .box { + display:block; + margin-left:105px; +} + +/* menu elements*/ + +a.menu, a.menu:link, a.menu:visited {display:block; width:150px; height:25px;} + +/* text styles */ + +h1,h2,h3 { + font-family: Helvetica, sans-serif; + color: #7db223; +} + +h1 { + font-size: 20px; + line-height: 26px; +} + +h2 { + font-size: 18px; + line-height: 20px; +} + +h3 { + font-size: 15px; + line-height: 21px; + color:#555; +} + +h4 { + font-size: 14px; + line-height: 20px; +} + +.errors { + color: red; + font-weight: bold; + display: block; + margin-left: 105px; +} + +a { + text-decoration: underline; + font-size: 12px; +} + +a img { + border: 0 none; + vertical-align: middle; +} + +tr:nth-child(odd) { + background-color: #FFFFFF; +} + +tr:nth-child(even) { + background-color: #EFEFEF; +} + +a:link { + color: #7db223; +} + +a:hover { + color: #456314; +} + +a:active { + color: #7db223; +} + +a:visited { + color: #7db223; +} + +ul { + list-style: disc url(../images/bullet-arrow.png); +} + +li { + padding-top: 5px; + text-align: left; +} + +li ul { + list-style: square url(../images/sub-bullet.gif); +} + +li ul li ul { + list-style: circle none; +} + +ul li { + margin:0 0 0.25em 0; + padding:0; +} +/* table elements */ + +table { + background: #EEEEEE; + margin: 2px 0 0 0; + border: 1px solid #BBBBBB; + border-collapse: collapse; + width: 100% +} + +table table { + margin: -5px 0; + border: 0px solid #e0e7d3; + width: 100%; +} + +table td,table th { + padding: 2px; + border: 1px solid #CCCCCC; +} + +table td form { + text-align:center; + vertical-align: middle; + margin: 0px; +} + +table th { + font-size: 0.75em; + text-align: left; + font-weight: bold; + color: #FFF; + background: #999; +} + +table thead { + font-weight: bold; + font-style: italic; + background-color: #BBBBBB; +} + +table a:link {color: #303030;} + +caption { + caption-side: top; + width: auto; + text-align: left; + font-size: 12px; + color: #848f73; + padding-bottom: 4px; +} + +fieldset { + background: #e0e7d3; + padding: 8px; + padding-bottom: 22px; + border: none; + width: 560px; +} + +fieldset label { + width: 70px; + float: left; + margin-top: 1.7em; + margin-left: 20px; +} + +fieldset textfield { + margin: 3px; + height: 20px; + background: #e0e7d3; +} + +fieldset textarea { + margin: 3px; + height: 165px; + background: #e0e7d3; +} + +fieldset input { + margin: 3px; + height: 20px; + background: #e0e7d3; +} + +fieldset table { + width: 100%; +} + +fieldset th { + padding-left: 25px; +} + +.table-buttons { + background-color:#fff; + border:none; +} + +.table-buttons td { + border:none; +} + +.submit input { + border: 1px solid #BBBBBB; + color:#777777; + padding:2px 7px; + font-size:11px; + text-transform:uppercase; + font-weight:bold; + height:24px; +} + +.updated { + background:#ecf1e5; + font-size:11px; + margin-left:2px; + border:4px solid #ecf1e5; +} + +.updated td { + padding:2px 8px; + font-size:11px; + color:#888888; +} \ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/main/webapp/styles/standard.css b/spring-integration-samples/loanshark/src/main/webapp/styles/standard.css new file mode 100644 index 0000000000..8a8939642b --- /dev/null +++ b/spring-integration-samples/loanshark/src/main/webapp/styles/standard.css @@ -0,0 +1,348 @@ +/* main elements */ + +body,div,td { + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + color: #666; +} + +body { + background-color: #fff; + background-image: url(../images/banner-graphic.png); + background-position: top center; + background-repeat: no-repeat; + text-align: center; +} + +#wrapper { + width:800px; + min-width: 800px; + max-width: 800px; + margin-right: auto; + margin-left: auto; + /* fix max-width incompatibility in IE6 */ + width:expression(document.body.clientWidth > 800? "800px": "auto" ); + + overflow:hidden; + display:block; + margin-top: 90px; +} + +/* header and footer elements */ + +#main { + overflow:hidden; + display:box; +} + +#menu { + background: #eee; + position:relative; + float:left; + left:0px; + width:220px; + margin-right:15px; +} + +#menu ul{ + list-style: none; + margin: 0; + padding: 0; +} + +#menu ul li{ + padding: 0px; +} + + +#menu a, #menu h2 { + display: block; + margin: 0; + padding: 2px 6px; + color:#FFFFFF; +} + +#menu h2 { + color: #fff; + background: #648C1D; + text-transform: uppercase; + font-weight:bold; + font-size: 12px; +} + +#menu a { + color: #666666; + background: #efefef; + text-decoration: none; + padding: 2px 12px; +} + +#menu a:hover { + color: #648C1D; + background: #fff; +} + +#footer { + background:#fff; + border:none; + margin-top:15px; + border-top:1px solid #999999; +} + +#footer .new { + float:left; +} + +#footer a:link {color: #7db223;} + +label { + width:100px; + float:left; + margin-left: 5px; + margin-top: 0px; +} + +input { + height:20px; +} + +input, textarea, select { + border:1px solid #B3B3B3; +} + +input.image { + border: none; + height: auto; +} + +submit { + height:25px; +} + +div { + text-align: left; +} + +div .box { + display:block; + margin-left:105px; +} + +/* menu elements*/ + +a.menu, a.menu:link, a.menu:visited {display:block; width:150px; height:25px;} + +/* text styles */ + +h1,h2,h3 { + font-family: Helvetica, sans-serif; + color: #7db223; +} + +h1 { + font-size: 20px; + line-height: 26px; +} + +h2 { + font-size: 18px; + line-height: 20px; +} + +h3 { + font-size: 15px; + line-height: 21px; + color:#555; +} + +h4 { + font-size: 14px; + line-height: 20px; +} + +.errors { + color: red; + font-weight: bold; + display: block; + margin-left: 105px; +} + +a { + text-decoration: underline; + font-size: 12px; +} + +a img { + border: 0 none; + vertical-align: middle; +} + +tr:nth-child(odd) { + background-color: #FFFFFF; +} + +tr:nth-child(even) { + background-color: #EFEFEF; +} + +a:link { + color: #7db223; +} + +a:hover { + color: #456314; +} + +a:active { + color: #7db223; +} + +a:visited { + color: #7db223; +} + +ul { + list-style: disc url(../images/bullet-arrow.png); +} + +li { + padding-top: 5px; + text-align: left; +} + +li ul { + list-style: square url(../images/sub-bullet.gif); +} + +li ul li ul { + list-style: circle none; +} + +ul li { + margin:0 0 0.25em 0; + padding:0; +} +/* table elements */ + +table { + background: #EEEEEE; + margin: 2px 0 0 0; + border: 1px solid #BBBBBB; + border-collapse: collapse; + width: 100% +} + +table table { + margin: -5px 0; + border: 0px solid #e0e7d3; + width: 100%; +} + +table td,table th { + padding: 2px; + border: 1px solid #CCCCCC; +} + +table td form { + text-align:center; + vertical-align: middle; + margin: 0px; +} + +table th { + font-size: 0.75em; + text-align: left; + font-weight: bold; + color: #FFF; + background: #999; +} + +table thead { + font-weight: bold; + font-style: italic; + background-color: #BBBBBB; +} + +table a:link {color: #303030;} + +caption { + caption-side: top; + width: auto; + text-align: left; + font-size: 12px; + color: #848f73; + padding-bottom: 4px; +} + +fieldset { + background: #e0e7d3; + padding: 8px; + padding-bottom: 22px; + border: none; + width: 560px; +} + +fieldset label { + width: 70px; + float: left; + margin-top: 1.7em; + margin-left: 20px; +} + +fieldset textfield { + margin: 3px; + height: 20px; + background: #e0e7d3; +} + +fieldset textarea { + margin: 3px; + height: 165px; + background: #e0e7d3; +} + +fieldset input { + margin: 3px; + height: 20px; + background: #e0e7d3; +} + +fieldset table { + width: 100%; +} + +fieldset th { + padding-left: 25px; +} + +.table-buttons { + background-color:#fff; + border:none; +} + +.table-buttons td { + border:none; +} + +.submit input { + border: 1px solid #BBBBBB; + color:#777777; + padding:2px 7px; + font-size:11px; + text-transform:uppercase; + font-weight:bold; + height:24px; +} + +.updated { + background:#ecf1e5; + font-size:11px; + margin-left:2px; + border:4px solid #ecf1e5; +} + +.updated td { + padding:2px 8px; + font-size:11px; + color:#888888; +} \ No newline at end of file diff --git a/spring-integration-samples/loanshark/src/test/java/com/springframework/integration/loanbroker/loanshark/biz/TestAccumulator.java b/spring-integration-samples/loanshark/src/test/java/com/springframework/integration/loanbroker/loanshark/biz/TestAccumulator.java new file mode 100644 index 0000000000..e62e04f1f7 --- /dev/null +++ b/spring-integration-samples/loanshark/src/test/java/com/springframework/integration/loanbroker/loanshark/biz/TestAccumulator.java @@ -0,0 +1,51 @@ +/* + * Copyright 2002-2010 the original author or authors. + * + * 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 com.springframework.integration.loanbroker.loanshark.biz; + + +import static junit.framework.Assert.assertEquals; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.transaction.annotation.Transactional; + +import com.springframework.integration.loanbroker.loanshark.domain.LoanShark; + + +/** + * @author Gary Russell + * + */ +@ContextConfiguration(locations="classpath:META-INF/spring/applicationContext.xml") +@RunWith(SpringJUnit4ClassRunner.class) +public class TestAccumulator { + + @Autowired + Accumulator accumulator; + + @Test + @Transactional + public void test() { + accumulator.accumulate(new SharkQuote("fred", 6.0d)); + accumulator.accumulate(new SharkQuote("fred", 6.2d)); + LoanShark shark = (LoanShark) LoanShark.findLoanSharksByName("fred").getSingleResult(); + assertEquals(new Long(2), shark.getCounter()); + assertEquals(new Double(6.1), shark.getAverageRate()); + } +} diff --git a/spring-integration-samples/loanshark/src/test/resources/log4j.properties b/spring-integration-samples/loanshark/src/test/resources/log4j.properties new file mode 100644 index 0000000000..becbf46cca --- /dev/null +++ b/spring-integration-samples/loanshark/src/test/resources/log4j.properties @@ -0,0 +1,12 @@ +#Updated at Tue Mar 23 17:20:25 PDT 2010 +#Tue Mar 23 17:20:25 PDT 2010 +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.rootLogger=DEBUG, stdout, R +log4j.appender.R.File=application.log +log4j.appender.R.MaxFileSize=100KB +log4j.appender.R.layout=org.apache.log4j.PatternLayout +log4j.appender.R.MaxBackupIndex=1 +log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n +log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.R=org.apache.log4j.RollingFileAppender diff --git a/spring-integration-samples/loanshark/udps.groovy b/spring-integration-samples/loanshark/udps.groovy new file mode 100644 index 0000000000..f9b69716a7 --- /dev/null +++ b/spring-integration-samples/loanshark/udps.groovy @@ -0,0 +1,12 @@ +//Groovy Script to catch multicast packets. +socket = new MulticastSocket(11111) +mcast = InetAddress.getByName("225.6.7.8") +socket.joinGroup(mcast) +buffer = (' ' * 1024) as byte[] +while(true) { + incoming = new DatagramPacket(buffer, buffer.length) + socket.receive(incoming) + s = new String(incoming.data, 0, incoming.length) + println ("** Shark **" + s) +} + diff --git a/spring-integration-samples/loanshark/udps.pl b/spring-integration-samples/loanshark/udps.pl new file mode 100755 index 0000000000..ed00ed571d --- /dev/null +++ b/spring-integration-samples/loanshark/udps.pl @@ -0,0 +1,16 @@ +#!/usr/bin/perl -w +#Perl Script to catch multicast packets. +use strict; +use IO::Socket::Multicast; + +my $socket = IO::Socket::Multicast->new(LocalPort=>11111, ReuseAddr=>1) + or die "Can't start UDP server: $@"; + +$socket->mcast_add('225.6.7.8'); + +my ($datagram,$flags); +while ($socket->recv($datagram,1024,$flags)) { + print "**Shark** $datagram\n"; +} + +$socket->close();