From cbc7c4ddac640e78a1b43415a2e311ed5d8a0201 Mon Sep 17 00:00:00 2001 From: Thomas Pasch Date: Sat, 18 Jun 2011 22:20:20 +0200 Subject: [PATCH] First remote-client Signed-off-by: Thomas Pasch --- {remote-war => remote-client}/.classpath | 14 +- remote-client/.project | 23 ++ remote-client/.settings/org.eclipse.jdt.core.prefs | 13 + .../.settings/org.maven.ide.eclipse.prefs | 8 + remote-client/pom.xml | 337 +++++++++++++++++++++ .../java/test/remote/client/main/ACSingleton.java | 40 +++ .../java/test/remote/client}/main/Calculate.java | 23 +- .../test/remote/server/service/Calculator.java | 4 +- .../remote/server/service/CalculatorFactory.java | 7 + .../META-INF/spring/applicationContext.xml | 51 ++++ .../main/resources/META-INF/spring/remoteBeans.xml | 25 ++ remote-client/src/main/resources/log4j.properties | 24 ++ .../main/java/test/remote/server/domain/Op.java | 1 - .../java/test/remote/server/main/Calculate.java | 3 +- .../test/remote/server/service/Calculator.java | 3 + .../remote/server/service/impl/CalculatorImpl.java | 4 +- remote-war/.classpath | 6 +- remote-war/.settings/org.eclipse.jdt.core.prefs | 12 +- .../org.eclipse.wst.common.project.facet.core.xml | 2 +- remote-war/pom.xml | 178 +++++++++++ remote-war/src/main/webapp/WEB-INF/web.xml | 4 +- 21 files changed, 750 insertions(+), 32 deletions(-) copy {remote-war => remote-client}/.classpath (51%) create mode 100644 remote-client/.project create mode 100644 remote-client/.settings/org.eclipse.jdt.core.prefs create mode 100644 remote-client/.settings/org.maven.ide.eclipse.prefs create mode 100644 remote-client/pom.xml create mode 100644 remote-client/src/main/java/test/remote/client/main/ACSingleton.java copy {remote-server/src/main/java/test/remote/server => remote-client/src/main/java/test/remote/client}/main/Calculate.java (58%) copy {remote-server => remote-client}/src/main/java/test/remote/server/service/Calculator.java (63%) create mode 100644 remote-client/src/main/java/test/remote/server/service/CalculatorFactory.java create mode 100644 remote-client/src/main/resources/META-INF/spring/applicationContext.xml create mode 100644 remote-client/src/main/resources/META-INF/spring/remoteBeans.xml create mode 100644 remote-client/src/main/resources/log4j.properties diff --git a/remote-war/.classpath b/remote-client/.classpath similarity index 51% copy from remote-war/.classpath copy to remote-client/.classpath index 4e3a09b..7c3d14f 100644 --- a/remote-war/.classpath +++ b/remote-client/.classpath @@ -1,14 +1,10 @@ + - - - - - - - - - + + + + diff --git a/remote-client/.project b/remote-client/.project new file mode 100644 index 0000000..71c43cd --- /dev/null +++ b/remote-client/.project @@ -0,0 +1,23 @@ + + + remote-client + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + + diff --git a/remote-client/.settings/org.eclipse.jdt.core.prefs b/remote-client/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..e9d15b9 --- /dev/null +++ b/remote-client/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,13 @@ +#Sat Jun 18 21:03:56 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/remote-client/.settings/org.maven.ide.eclipse.prefs b/remote-client/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 0000000..c134bfd --- /dev/null +++ b/remote-client/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,8 @@ +#Sat Jun 18 20:43:14 CEST 2011 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/remote-client/pom.xml b/remote-client/pom.xml new file mode 100644 index 0000000..a033223 --- /dev/null +++ b/remote-client/pom.xml @@ -0,0 +1,337 @@ + + 4.0.0 + test.remote + remote-client + 0.0.1-SNAPSHOT + remote-client + + 1.1.4.RELEASE + 3.0.5.RELEASE + 1.6.11 + 1.6.1 + UTF-8 + + + + spring-maven-release + Spring Maven Release Repository + http://maven.springframework.org/release + + + spring-maven-milestone + Spring Maven Milestone Repository + http://maven.springframework.org/milestone + + + spring-roo-repository + Spring Roo Repository + http://spring-roo-repository.springsource.org/release + + + JBoss Repo + https://repository.jboss.org/nexus/content/repositories/releases + JBoss Repo + + + googlecode.rooequals.repo + https://spring-roo-equals-roo-addon.googlecode.com/svn/maven-repository/ + + Repository for Roo equals addon + + + googlecode.rooequals.snapshotrepo + https://spring-roo-equals-roo-addon.googlecode.com/svn/maven-snapshot-repository/ + + Repository for Roo equals addon + + true + + + + + + + commons-lang + commons-lang + 2.5 + + + javax.validation + validation-api + 1.0.0.GA + + + org.apache.geronimo.specs + geronimo-jpa_2.0_spec + 1.1 + + + + org.springframework.roo + org.springframework.roo.annotations + ${roo.version} + provided + + + de.saxsys.roo + de.saxsys.roo.equals.annotations + 1.2.1 + + + + org.aspectj + aspectjrt + ${aspectj.version} + + + org.aspectj + aspectjweaver + ${aspectj.version} + + + + log4j + log4j + 1.2.16 + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + jcl-over-slf4j + ${slf4j.version} + + + org.slf4j + slf4j-log4j12 + ${slf4j.version} + + + + org.springframework + spring-core + ${spring.version} + + + commons-logging + commons-logging + + + + + org.springframework + spring-test + ${spring.version} + test + + + commons-logging + commons-logging + + + + + org.springframework + spring-context + ${spring.version} + + + org.springframework + spring-aop + ${spring.version} + + + org.springframework + spring-aspects + ${spring.version} + + + org.springframework + spring-tx + ${spring.version} + + + + + + org.apache.maven.plugins + maven-war-plugin + 2.1.1 + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.3.2 + + 1.6 + 1.6 + UTF-8 + + + + org.codehaus.mojo + aspectj-maven-plugin + 1.2 + + + + org.aspectj + aspectjrt + ${aspectj.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + true + + + org.springframework + spring-aspects + + + 1.6 + 1.6 + + + + org.apache.maven.plugins + maven-resources-plugin + 2.5 + + UTF-8 + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.7.2 + + false + + **/*_Roo_* + + + + + org.apache.maven.plugins + maven-assembly-plugin + 2.2.1 + + + jar-with-dependencies + + + + + org.apache.maven.plugins + maven-deploy-plugin + 2.5 + + + + 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.1 + + + org.mortbay.jetty + jetty-maven-plugin + 7.3.0.v20110203 + + + /${project.name} + + + + + + + diff --git a/remote-client/src/main/java/test/remote/client/main/ACSingleton.java b/remote-client/src/main/java/test/remote/client/main/ACSingleton.java new file mode 100644 index 0000000..b0d3182 --- /dev/null +++ b/remote-client/src/main/java/test/remote/client/main/ACSingleton.java @@ -0,0 +1,40 @@ +package test.remote.client.main; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.FileSystemXmlApplicationContext; + +public class ACSingleton { + + private static final Log LOG = LogFactory.getLog(ACSingleton.class); + + private static final String PREFIX = "file:/home/tpasch/compile/remote-test/remote-client/src/main/resources/META-INF/spring/"; + + private static ACSingleton INSTANCE = new ACSingleton(); + + private final ApplicationContext ctx = new FileSystemXmlApplicationContext( + PREFIX + "applicationContext.xml", PREFIX + "remoteBeans.xml"); + + private ACSingleton() { + final StringBuilder sb = new StringBuilder(); + sb.append("Spring beans:\n"); + for (String n: ctx.getBeanDefinitionNames()) { + sb.append("\t"); + sb.append(n); + sb.append(" -> "); + final Object b = ctx.getBean(n); + sb.append(b); + sb.append(" ("); + sb.append(b.getClass().getName()); + sb.append(")\n"); + } + sb.append("end of Spring beans\n"); + LOG.info(sb.toString()); + } + + public static ApplicationContext getApplicationContext() { + return INSTANCE.ctx; + } + +} diff --git a/remote-server/src/main/java/test/remote/server/main/Calculate.java b/remote-client/src/main/java/test/remote/client/main/Calculate.java similarity index 58% copy from remote-server/src/main/java/test/remote/server/main/Calculate.java copy to remote-client/src/main/java/test/remote/client/main/Calculate.java index 08be9d4..08e5c2c 100644 --- a/remote-server/src/main/java/test/remote/server/main/Calculate.java +++ b/remote-client/src/main/java/test/remote/client/main/Calculate.java @@ -1,28 +1,37 @@ -package test.remote.server.main; +package test.remote.client.main; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Configurable; +import org.springframework.stereotype.Component; -import test.remote.server.domain.OpConstant; import test.remote.server.service.Calculator; import test.remote.server.service.CalculatorFactory; -import test.remote.server.service.impl.CalculatorFactoryImpl; +@Configurable public class Calculate { private static final Log LOG = LogFactory.getLog(Calculate.class); - + static { ACSingleton.getApplicationContext(); } + // ??? what's wrong here + @Autowired + private Calculator cal = ACSingleton.getApplicationContext().getBean(Calculator.class); + public Calculate() { } public static void main(String[] args) { - final CalculatorFactory fac = new CalculatorFactoryImpl(); - final Calculator cal = fac.getCalculator(); - OpConstant result; + final Calculate dut = new Calculate(); + dut.calculate(); + } + + private void calculate() { + Double result; try { cal.push("3"); cal.push("4"); diff --git a/remote-server/src/main/java/test/remote/server/service/Calculator.java b/remote-client/src/main/java/test/remote/server/service/Calculator.java similarity index 63% copy from remote-server/src/main/java/test/remote/server/service/Calculator.java copy to remote-client/src/main/java/test/remote/server/service/Calculator.java index 5c86d21..4156a01 100644 --- a/remote-server/src/main/java/test/remote/server/service/Calculator.java +++ b/remote-client/src/main/java/test/remote/server/service/Calculator.java @@ -1,12 +1,10 @@ package test.remote.server.service; -import test.remote.server.domain.OpConstant; - public interface Calculator { void push(String atom); - OpConstant eval(); + Double eval(); void clear(); diff --git a/remote-client/src/main/java/test/remote/server/service/CalculatorFactory.java b/remote-client/src/main/java/test/remote/server/service/CalculatorFactory.java new file mode 100644 index 0000000..b18a0e3 --- /dev/null +++ b/remote-client/src/main/java/test/remote/server/service/CalculatorFactory.java @@ -0,0 +1,7 @@ +package test.remote.server.service; + +public interface CalculatorFactory { + + Calculator getCalculator(); + +} diff --git a/remote-client/src/main/resources/META-INF/spring/applicationContext.xml b/remote-client/src/main/resources/META-INF/spring/applicationContext.xml new file mode 100644 index 0000000..2a598ea --- /dev/null +++ b/remote-client/src/main/resources/META-INF/spring/applicationContext.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + diff --git a/remote-client/src/main/resources/META-INF/spring/remoteBeans.xml b/remote-client/src/main/resources/META-INF/spring/remoteBeans.xml new file mode 100644 index 0000000..e5206a9 --- /dev/null +++ b/remote-client/src/main/resources/META-INF/spring/remoteBeans.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + diff --git a/remote-client/src/main/resources/log4j.properties b/remote-client/src/main/resources/log4j.properties new file mode 100644 index 0000000..8cd07af --- /dev/null +++ b/remote-client/src/main/resources/log4j.properties @@ -0,0 +1,24 @@ +#Updated at Sat Jun 18 13:31:14 CEST 2011 +#Sat Jun 18 13:31:14 CEST 2011 +log4j.rootLogger=INFO, stdout + +# appender R +log4j.appender.R.File=application.log +log4j.appender.R=org.apache.log4j.RollingFileAppender +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 + +# appender stdout +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout + +# specific package log levels +log4j.logger.test.remote.server=TRACE +log4j.logger.openjpa.Runtime=TRACE +log4j.logger.openjpa.Enhance=TRACE +log4j.logger.org.apache.openjpa=TRACE + + diff --git a/remote-server/src/main/java/test/remote/server/domain/Op.java b/remote-server/src/main/java/test/remote/server/domain/Op.java index de602fb..383290d 100644 --- a/remote-server/src/main/java/test/remote/server/domain/Op.java +++ b/remote-server/src/main/java/test/remote/server/domain/Op.java @@ -6,7 +6,6 @@ import org.springframework.roo.addon.tostring.RooToString; import test.remote.server.domain.OpType; import test.remote.server.service.impl.Apply; -import javax.validation.constraints.NotNull; import javax.persistence.ManyToOne; @RooJavaBean diff --git a/remote-server/src/main/java/test/remote/server/main/Calculate.java b/remote-server/src/main/java/test/remote/server/main/Calculate.java index 08be9d4..225a3ff 100644 --- a/remote-server/src/main/java/test/remote/server/main/Calculate.java +++ b/remote-server/src/main/java/test/remote/server/main/Calculate.java @@ -3,7 +3,6 @@ package test.remote.server.main; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import test.remote.server.domain.OpConstant; import test.remote.server.service.Calculator; import test.remote.server.service.CalculatorFactory; import test.remote.server.service.impl.CalculatorFactoryImpl; @@ -22,7 +21,7 @@ public class Calculate { public static void main(String[] args) { final CalculatorFactory fac = new CalculatorFactoryImpl(); final Calculator cal = fac.getCalculator(); - OpConstant result; + Double result; try { cal.push("3"); cal.push("4"); diff --git a/remote-server/src/main/java/test/remote/server/service/Calculator.java b/remote-server/src/main/java/test/remote/server/service/Calculator.java index 5c86d21..f7abe8e 100644 --- a/remote-server/src/main/java/test/remote/server/service/Calculator.java +++ b/remote-server/src/main/java/test/remote/server/service/Calculator.java @@ -6,7 +6,10 @@ public interface Calculator { void push(String atom); + /* *very* bad idea * OpConstant eval(); + */ + Double eval(); void clear(); diff --git a/remote-server/src/main/java/test/remote/server/service/impl/CalculatorImpl.java b/remote-server/src/main/java/test/remote/server/service/impl/CalculatorImpl.java index 88c7fdf..458a92a 100644 --- a/remote-server/src/main/java/test/remote/server/service/impl/CalculatorImpl.java +++ b/remote-server/src/main/java/test/remote/server/service/impl/CalculatorImpl.java @@ -51,7 +51,7 @@ public class CalculatorImpl implements Calculator { } @Override - public OpConstant eval() { + public Double eval() { final Apply apply = new ApplyImpl(); for (Long id: stack) { final Op op = Op.findOp(id); @@ -59,7 +59,7 @@ public class CalculatorImpl implements Calculator { } final OpConstant result = new OpConstant(); result.setValue(apply.pop()); - return result; + return result.getValue(); } @Override diff --git a/remote-war/.classpath b/remote-war/.classpath index 4e3a09b..ce6434c 100644 --- a/remote-war/.classpath +++ b/remote-war/.classpath @@ -2,7 +2,6 @@ - @@ -10,5 +9,10 @@ + + + + + diff --git a/remote-war/.settings/org.eclipse.jdt.core.prefs b/remote-war/.settings/org.eclipse.jdt.core.prefs index 50a8b7c..df078e8 100644 --- a/remote-war/.settings/org.eclipse.jdt.core.prefs +++ b/remote-war/.settings/org.eclipse.jdt.core.prefs @@ -1,9 +1,13 @@ -#Sat Jun 18 18:38:28 CEST 2011 +#Sat Jun 18 20:47:58 CEST 2011 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 -org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/remote-war/.settings/org.eclipse.wst.common.project.facet.core.xml b/remote-war/.settings/org.eclipse.wst.common.project.facet.core.xml index d74c55e..7895606 100644 --- a/remote-war/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/remote-war/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -1,7 +1,7 @@ - + diff --git a/remote-war/pom.xml b/remote-war/pom.xml index 26f48fc..48d389c 100644 --- a/remote-war/pom.xml +++ b/remote-war/pom.xml @@ -8,6 +8,7 @@ remote-war http://maven.apache.org + 1.6.11 3.0.5.RELEASE UTF-8 @@ -36,6 +37,183 @@ + + + org.apache.maven.plugins + maven-war-plugin + 2.1.1 + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.3.2 + + 1.6 + 1.6 + UTF-8 + + + + org.codehaus.mojo + aspectj-maven-plugin + 1.2 + + + + org.aspectj + aspectjrt + ${aspectj.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + true + + + org.springframework + spring-aspects + + + 1.6 + 1.6 + + + + org.apache.maven.plugins + maven-resources-plugin + 2.5 + + UTF-8 + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.7.2 + + false + + **/*_Roo_* + + + + + org.apache.maven.plugins + maven-assembly-plugin + 2.2.1 + + + jar-with-dependencies + + + + + org.apache.maven.plugins + maven-deploy-plugin + 2.5 + + + + 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.1 + + + org.mortbay.jetty + jetty-maven-plugin + 7.3.0.v20110203 + + + /${project.name} + + + + + org.codehaus.mojo + openjpa-maven-plugin + 1.2 + + **/*.class + **/*_Roo_*.class + true + + + + enhancer + process-classes + + enhance + + + + + + org.apache.openjpa + openjpa + 2.1.0 + + + commons-logging + commons-logging + + + org.apache.geronimo.specs + geronimo-jms_1.1_spec + + + + + + remote-war diff --git a/remote-war/src/main/webapp/WEB-INF/web.xml b/remote-war/src/main/webapp/WEB-INF/web.xml index da01120..1a3532b 100644 --- a/remote-war/src/main/webapp/WEB-INF/web.xml +++ b/remote-war/src/main/webapp/WEB-INF/web.xml @@ -1,7 +1,7 @@ + version="2.5" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"> remote-war -- 2.11.4.GIT