http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/interceptors/src/main/java/org/superbiz/interceptors/Utils.java ---------------------------------------------------------------------- diff --git a/examples/interceptors/src/main/java/org/superbiz/interceptors/Utils.java b/examples/interceptors/src/main/java/org/superbiz/interceptors/Utils.java index 29b9030..82e4d13 100644 --- a/examples/interceptors/src/main/java/org/superbiz/interceptors/Utils.java +++ b/examples/interceptors/src/main/java/org/superbiz/interceptors/Utils.java @@ -1,38 +1,38 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.interceptors; - -import javax.interceptor.InvocationContext; -import java.util.ArrayList; -import java.util.List; - -/** - * @version $Rev$ $Date$ - */ -public class Utils { - - public static List<String> addClassSimpleName(InvocationContext ic, String classSimpleName) throws Exception { - List<String> list = new ArrayList<String>(); - list.add(classSimpleName); - List<String> listOfStrings = (List<String>) ic.proceed(); - if (listOfStrings != null) { - list.addAll(listOfStrings); - } - return list; - } - -} +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.interceptors; + +import javax.interceptor.InvocationContext; +import java.util.ArrayList; +import java.util.List; + +/** + * @version $Rev$ $Date$ + */ +public class Utils { + + public static List<String> addClassSimpleName(InvocationContext ic, String classSimpleName) throws Exception { + List<String> list = new ArrayList<String>(); + list.add(classSimpleName); + List<String> listOfStrings = (List<String>) ic.proceed(); + if (listOfStrings != null) { + list.addAll(listOfStrings); + } + return list; + } + +}
http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/interceptors/src/test/java/org/superbiz/interceptors/FullyInterceptedTest.java ---------------------------------------------------------------------- diff --git a/examples/interceptors/src/test/java/org/superbiz/interceptors/FullyInterceptedTest.java b/examples/interceptors/src/test/java/org/superbiz/interceptors/FullyInterceptedTest.java index 9c9cf1c..f27c828 100755 --- a/examples/interceptors/src/test/java/org/superbiz/interceptors/FullyInterceptedTest.java +++ b/examples/interceptors/src/test/java/org/superbiz/interceptors/FullyInterceptedTest.java @@ -1,94 +1,94 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.interceptors; - -import junit.framework.TestCase; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import javax.naming.Context; -import javax.naming.InitialContext; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; - -/** - * @version $Rev$ $Date$ - */ -public class FullyInterceptedTest extends TestCase { - - private InitialContext initCtx; - - @Before - public void setUp() throws Exception { - Properties properties = new Properties(); - properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory"); - properties.setProperty("openejb.deployments.classpath.include", ".*interceptors/target/classes.*"); - - initCtx = new InitialContext(properties); - } - - @Test - public void testBusinessMethod() throws Exception { - - FullyIntercepted fullyIntercepted = (FullyIntercepted) initCtx.lookup("FullyInterceptedBeanLocal"); - - assert fullyIntercepted != null; - - List<String> expected = new ArrayList<String>(); - expected.add("DefaultInterceptorOne"); - expected.add("DefaultInterceptorTwo"); - expected.add("ClassLevelInterceptorSuperClassOne"); - expected.add("ClassLevelInterceptorSuperClassTwo"); - expected.add("ClassLevelInterceptorOne"); - expected.add("ClassLevelInterceptorTwo"); - expected.add("MethodLevelInterceptorOne"); - expected.add("MethodLevelInterceptorTwo"); - expected.add("beanClassBusinessMethodInterceptor"); - expected.add("businessMethod"); - - List<String> actual = fullyIntercepted.businessMethod(); - assert expected.equals(actual) : "Expected " + expected + ", but got " + actual; - } - - @Test - public void testMethodWithDefaultInterceptorsExcluded() throws Exception { - - FullyIntercepted fullyIntercepted = (FullyIntercepted) initCtx.lookup("FullyInterceptedBeanLocal"); - - assert fullyIntercepted != null; - - List<String> expected = new ArrayList<String>(); - expected.add("ClassLevelInterceptorSuperClassOne"); - expected.add("ClassLevelInterceptorSuperClassTwo"); - expected.add("ClassLevelInterceptorOne"); - expected.add("ClassLevelInterceptorTwo"); - expected.add("MethodLevelInterceptorOne"); - expected.add("MethodLevelInterceptorTwo"); - expected.add("beanClassBusinessMethodInterceptor"); - expected.add("methodWithDefaultInterceptorsExcluded"); - - List<String> actual = fullyIntercepted.methodWithDefaultInterceptorsExcluded(); - assert expected.equals(actual) : "Expected " + expected + ", but got " + actual; - } - - @After - public void tearDown() throws Exception { - initCtx.close(); - } -} +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.interceptors; + +import junit.framework.TestCase; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import javax.naming.Context; +import javax.naming.InitialContext; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; + +/** + * @version $Rev$ $Date$ + */ +public class FullyInterceptedTest extends TestCase { + + private InitialContext initCtx; + + @Before + public void setUp() throws Exception { + Properties properties = new Properties(); + properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory"); + properties.setProperty("openejb.deployments.classpath.include", ".*interceptors/target/classes.*"); + + initCtx = new InitialContext(properties); + } + + @Test + public void testBusinessMethod() throws Exception { + + FullyIntercepted fullyIntercepted = (FullyIntercepted) initCtx.lookup("FullyInterceptedBeanLocal"); + + assert fullyIntercepted != null; + + List<String> expected = new ArrayList<String>(); + expected.add("DefaultInterceptorOne"); + expected.add("DefaultInterceptorTwo"); + expected.add("ClassLevelInterceptorSuperClassOne"); + expected.add("ClassLevelInterceptorSuperClassTwo"); + expected.add("ClassLevelInterceptorOne"); + expected.add("ClassLevelInterceptorTwo"); + expected.add("MethodLevelInterceptorOne"); + expected.add("MethodLevelInterceptorTwo"); + expected.add("beanClassBusinessMethodInterceptor"); + expected.add("businessMethod"); + + List<String> actual = fullyIntercepted.businessMethod(); + assert expected.equals(actual) : "Expected " + expected + ", but got " + actual; + } + + @Test + public void testMethodWithDefaultInterceptorsExcluded() throws Exception { + + FullyIntercepted fullyIntercepted = (FullyIntercepted) initCtx.lookup("FullyInterceptedBeanLocal"); + + assert fullyIntercepted != null; + + List<String> expected = new ArrayList<String>(); + expected.add("ClassLevelInterceptorSuperClassOne"); + expected.add("ClassLevelInterceptorSuperClassTwo"); + expected.add("ClassLevelInterceptorOne"); + expected.add("ClassLevelInterceptorTwo"); + expected.add("MethodLevelInterceptorOne"); + expected.add("MethodLevelInterceptorTwo"); + expected.add("beanClassBusinessMethodInterceptor"); + expected.add("methodWithDefaultInterceptorsExcluded"); + + List<String> actual = fullyIntercepted.methodWithDefaultInterceptorsExcluded(); + assert expected.equals(actual) : "Expected " + expected + ", but got " + actual; + } + + @After + public void tearDown() throws Exception { + initCtx.close(); + } +} http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/interceptors/src/test/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyTest.java ---------------------------------------------------------------------- diff --git a/examples/interceptors/src/test/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyTest.java b/examples/interceptors/src/test/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyTest.java index 937e0e0..8a298d0 100755 --- a/examples/interceptors/src/test/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyTest.java +++ b/examples/interceptors/src/test/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyTest.java @@ -1,58 +1,58 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.interceptors; - -import junit.framework.TestCase; -import org.junit.Before; -import org.junit.Test; - -import javax.naming.Context; -import javax.naming.InitialContext; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; - -/** - * @version $Rev$ $Date$ - */ -public class MethodLevelInterceptorOnlyTest extends TestCase { - - private InitialContext initCtx; - - @Before - public void setUp() throws Exception { - Properties properties = new Properties(); - properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory"); - properties.setProperty("openejb.deployments.classpath.include", ".*interceptors/target/classes.*"); - - initCtx = new InitialContext(properties); - } - - @Test - public void testInterceptedGenerifiedBusinessIntfMethod() throws Exception { - MethodLevelInterceptorOnlyParent bean = (MethodLevelInterceptorOnlyParent) initCtx.lookup("MethodLevelInterceptorOnlySLSBeanLocal"); - - assert bean != null; - - List<String> expected = new ArrayList<String>(); - expected.add("MethodLevelInterceptorOne"); - expected.add("makePersistent"); - - List<String> actual = bean.makePersistent(null); - assert expected.equals(actual) : "Expected " + expected + ", but got " + actual; - } +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.interceptors; + +import junit.framework.TestCase; +import org.junit.Before; +import org.junit.Test; + +import javax.naming.Context; +import javax.naming.InitialContext; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; + +/** + * @version $Rev$ $Date$ + */ +public class MethodLevelInterceptorOnlyTest extends TestCase { + + private InitialContext initCtx; + + @Before + public void setUp() throws Exception { + Properties properties = new Properties(); + properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory"); + properties.setProperty("openejb.deployments.classpath.include", ".*interceptors/target/classes.*"); + + initCtx = new InitialContext(properties); + } + + @Test + public void testInterceptedGenerifiedBusinessIntfMethod() throws Exception { + MethodLevelInterceptorOnlyParent bean = (MethodLevelInterceptorOnlyParent) initCtx.lookup("MethodLevelInterceptorOnlySLSBeanLocal"); + + assert bean != null; + + List<String> expected = new ArrayList<String>(); + expected.add("MethodLevelInterceptorOne"); + expected.add("makePersistent"); + + List<String> actual = bean.makePersistent(null); + assert expected.equals(actual) : "Expected " + expected + ", but got " + actual; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/interceptors/src/test/java/org/superbiz/interceptors/SecondStatelessInterceptedTest.java ---------------------------------------------------------------------- diff --git a/examples/interceptors/src/test/java/org/superbiz/interceptors/SecondStatelessInterceptedTest.java b/examples/interceptors/src/test/java/org/superbiz/interceptors/SecondStatelessInterceptedTest.java index ad6b363..38117a7 100644 --- a/examples/interceptors/src/test/java/org/superbiz/interceptors/SecondStatelessInterceptedTest.java +++ b/examples/interceptors/src/test/java/org/superbiz/interceptors/SecondStatelessInterceptedTest.java @@ -1,63 +1,63 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.interceptors; - -import junit.framework.TestCase; -import org.junit.Before; -import org.junit.Test; - -import javax.naming.Context; -import javax.naming.InitialContext; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; - -/** - * @version $Rev$ $Date$ - */ -public class SecondStatelessInterceptedTest extends TestCase { - - private InitialContext initCtx; - - @Before - public void setUp() throws Exception { - Properties properties = new Properties(); - properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory"); - properties.setProperty("openejb.deployments.classpath.include", ".*interceptors/target/classes.*"); - - initCtx = new InitialContext(properties); - } - - @Test - public void testMethodWithDefaultInterceptorsExcluded() throws Exception { - SecondStatelessInterceptedLocal bean = - (SecondStatelessInterceptedLocal) initCtx.lookup("SecondStatelessInterceptedBeanLocal"); - - assert bean != null; - - List<String> expected = new ArrayList<String>(); - expected.add("ClassLevelInterceptorOne"); - expected.add("ClassLevelInterceptorTwo"); - expected.add("MethodLevelInterceptorOne"); - expected.add("MethodLevelInterceptorTwo"); - expected.add("SecondStatelessInterceptedBean"); - expected.add("methodWithDefaultInterceptorsExcluded"); - - List<String> actual = bean.methodWithDefaultInterceptorsExcluded(); - assert expected.equals(actual) : "Expected " + expected + ", but got " + actual; - } -} +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.interceptors; + +import junit.framework.TestCase; +import org.junit.Before; +import org.junit.Test; + +import javax.naming.Context; +import javax.naming.InitialContext; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; + +/** + * @version $Rev$ $Date$ + */ +public class SecondStatelessInterceptedTest extends TestCase { + + private InitialContext initCtx; + + @Before + public void setUp() throws Exception { + Properties properties = new Properties(); + properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory"); + properties.setProperty("openejb.deployments.classpath.include", ".*interceptors/target/classes.*"); + + initCtx = new InitialContext(properties); + } + + @Test + public void testMethodWithDefaultInterceptorsExcluded() throws Exception { + SecondStatelessInterceptedLocal bean = + (SecondStatelessInterceptedLocal) initCtx.lookup("SecondStatelessInterceptedBeanLocal"); + + assert bean != null; + + List<String> expected = new ArrayList<String>(); + expected.add("ClassLevelInterceptorOne"); + expected.add("ClassLevelInterceptorTwo"); + expected.add("MethodLevelInterceptorOne"); + expected.add("MethodLevelInterceptorTwo"); + expected.add("SecondStatelessInterceptedBean"); + expected.add("methodWithDefaultInterceptorsExcluded"); + + List<String> actual = bean.methodWithDefaultInterceptorsExcluded(); + assert expected.equals(actual) : "Expected " + expected + ", but got " + actual; + } +} http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/interceptors/src/test/java/org/superbiz/interceptors/ThirdSLSBeanTest.java ---------------------------------------------------------------------- diff --git a/examples/interceptors/src/test/java/org/superbiz/interceptors/ThirdSLSBeanTest.java b/examples/interceptors/src/test/java/org/superbiz/interceptors/ThirdSLSBeanTest.java index e775612..9009316 100755 --- a/examples/interceptors/src/test/java/org/superbiz/interceptors/ThirdSLSBeanTest.java +++ b/examples/interceptors/src/test/java/org/superbiz/interceptors/ThirdSLSBeanTest.java @@ -1,78 +1,78 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.interceptors; - -import junit.framework.TestCase; -import org.junit.Before; -import org.junit.Test; - -import javax.naming.Context; -import javax.naming.InitialContext; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; - -/** - * @version $Rev$ $Date$ - */ -public class ThirdSLSBeanTest extends TestCase { - - private InitialContext initCtx; - - @Before - public void setUp() throws Exception { - Properties properties = new Properties(); - properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory"); - properties.setProperty("openejb.deployments.classpath.include", ".*interceptors/target/classes.*"); - - initCtx = new InitialContext(properties); - } - - @Test - public void testMethodWithDefaultInterceptorsExcluded() throws Exception { - ThirdSLSBeanLocal bean = (ThirdSLSBeanLocal) initCtx.lookup("ThirdSLSBeanLocal"); - - assert bean != null; - - List<String> expected = new ArrayList<String>(); - expected.add("ClassLevelInterceptorOne"); - expected.add("ClassLevelInterceptorTwo"); - expected.add("MethodLevelInterceptorOne"); - expected.add("MethodLevelInterceptorTwo"); - expected.add("ThirdSLSBean"); - expected.add("businessMethod"); - - List<String> actual = bean.businessMethod(); - assert expected.equals(actual) : "Expected " + expected + ", but got " + actual; - } - - @Test - public void testMethodWithDefaultAndClassInterceptorsExcluded() throws Exception { - ThirdSLSBeanLocal bean = (ThirdSLSBeanLocal) initCtx.lookup("ThirdSLSBeanLocal"); - - assert bean != null; - - List<String> expected = new ArrayList<String>(); - expected.add("MethodLevelInterceptorOne"); - expected.add("MethodLevelInterceptorTwo"); - expected.add("ThirdSLSBean"); - expected.add("anotherBusinessMethod"); - - List<String> actual = bean.anotherBusinessMethod(); - assert expected.equals(actual) : "Expected " + expected + ", but got " + actual; - } -} +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.interceptors; + +import junit.framework.TestCase; +import org.junit.Before; +import org.junit.Test; + +import javax.naming.Context; +import javax.naming.InitialContext; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; + +/** + * @version $Rev$ $Date$ + */ +public class ThirdSLSBeanTest extends TestCase { + + private InitialContext initCtx; + + @Before + public void setUp() throws Exception { + Properties properties = new Properties(); + properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory"); + properties.setProperty("openejb.deployments.classpath.include", ".*interceptors/target/classes.*"); + + initCtx = new InitialContext(properties); + } + + @Test + public void testMethodWithDefaultInterceptorsExcluded() throws Exception { + ThirdSLSBeanLocal bean = (ThirdSLSBeanLocal) initCtx.lookup("ThirdSLSBeanLocal"); + + assert bean != null; + + List<String> expected = new ArrayList<String>(); + expected.add("ClassLevelInterceptorOne"); + expected.add("ClassLevelInterceptorTwo"); + expected.add("MethodLevelInterceptorOne"); + expected.add("MethodLevelInterceptorTwo"); + expected.add("ThirdSLSBean"); + expected.add("businessMethod"); + + List<String> actual = bean.businessMethod(); + assert expected.equals(actual) : "Expected " + expected + ", but got " + actual; + } + + @Test + public void testMethodWithDefaultAndClassInterceptorsExcluded() throws Exception { + ThirdSLSBeanLocal bean = (ThirdSLSBeanLocal) initCtx.lookup("ThirdSLSBeanLocal"); + + assert bean != null; + + List<String> expected = new ArrayList<String>(); + expected.add("MethodLevelInterceptorOne"); + expected.add("MethodLevelInterceptorTwo"); + expected.add("ThirdSLSBean"); + expected.add("anotherBusinessMethod"); + + List<String> actual = bean.anotherBusinessMethod(); + assert expected.equals(actual) : "Expected " + expected + ", but got " + actual; + } +} http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/javamail/README.md ---------------------------------------------------------------------- diff --git a/examples/javamail/README.md b/examples/javamail/README.md index 89be081..61ff594 100644 --- a/examples/javamail/README.md +++ b/examples/javamail/README.md @@ -1,184 +1,184 @@ -Title: Javamail API - -This is just a simple example to demonstrate a very basic usage of the API. It should be enough to get you started using the java mail packages. - -#The Code - -## A simple REST service using the Javamail API - -Here we see a very simple RESTful endpoint that can be called with a message to send by Email. It would not be hard to modify the application to provide -more useful configuration options. As is, this will not send anything, but if you change the parameters to match your mail server then you'll see the message being sent. -You can find much more detailed information on the [Javamail API here](https://java.net/projects/javamail/pages/Home#Samples) - - package org.superbiz.rest; - - import javax.mail.Authenticator; - import javax.mail.Message; - import javax.mail.MessagingException; - import javax.mail.PasswordAuthentication; - import javax.mail.Session; - import javax.mail.Transport; - import javax.mail.internet.InternetAddress; - import javax.mail.internet.MimeMessage; - import javax.ws.rs.POST; - import javax.ws.rs.Path; - import java.util.Date; - import java.util.Properties; - - @Path("/email") - public class EmailService { - - @POST - public String lowerCase(final String message) { - - try { - - //Create some properties and get the default Session - final Properties props = new Properties(); - props.put("mail.smtp.host", "your.mailserver.host"); - props.put("mail.debug", "true"); - - final Session session = Session.getInstance(props, new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication("MyUsername", "MyPassword"); - } - }); - - //Set this just to see some internal logging - session.setDebug(true); - - //Create a message - final MimeMessage msg = new MimeMessage(session); - msg.setFrom(new InternetAddress("[email protected]")); - final InternetAddress[] address = {new InternetAddress("[email protected]")}; - msg.setRecipients(Message.RecipientType.TO, address); - msg.setSubject("JavaMail API test"); - msg.setSentDate(new Date()); - msg.setText(message, "UTF-8"); - - - Transport.send(msg); - } catch (MessagingException e) { - return "Failed to send message: " + e.getMessage(); - } - - return "Sent"; - } - } - -# Testing - -## Test for the JAXRS service - -The test uses the OpenEJB ApplicationComposer to make it trivial. - -The idea is first to activate the jaxrs services. This is done using @EnableServices annotation. - -Then we create on the fly the application simply returning an object representing the web.xml. Here we simply -use it to define the context root but you can use it to define your REST Application too. And to complete the -application definition we add @Classes annotation to define the set of classes to use in this app. - -Finally to test it we use cxf client API to call the REST service post() method. - - package org.superbiz.rest; - - import org.apache.cxf.jaxrs.client.WebClient; - import org.apache.openejb.jee.WebApp; - import org.apache.openejb.junit.ApplicationComposer; - import org.apache.openejb.testing.Classes; - import org.apache.openejb.testing.EnableServices; - import org.apache.openejb.testing.Module; - import org.junit.Test; - import org.junit.runner.RunWith; - - import java.io.IOException; - - import static org.junit.Assert.assertEquals; - - @EnableServices(value = "jaxrs") - @RunWith(ApplicationComposer.class) - public class EmailServiceTest { - - @Module - @Classes(EmailService.class) - public WebApp app() { - return new WebApp().contextRoot("test"); - } - - @Test - public void post() throws IOException { - final String message = WebClient.create("http://localhost:4204").path("/test/email/").post("Hello Tomitribe", String.class); - assertEquals("Failed to send message: Unknown SMTP host: your.mailserver.host", message); - } - } - -#Running - -Running the example is fairly simple. In the "javamail-api" directory run: - - $ mvn clean install - -Which should create output like the following. - - INFO - Cannot find the configuration file [conf/openejb.xml]. Will attempt to create one for the beans deployed. - INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service) - INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager) - INFO - Creating TransactionManager(id=Default Transaction Manager) - INFO - Creating SecurityService(id=Default Security Service) - INFO - Initializing network services - INFO - Creating ServerService(id=cxf-rs) - INFO - Creating ServerService(id=httpejbd) - INFO - Created ServicePool 'httpejbd' with (10) core threads, limited to (200) threads with a queue of (9) - INFO - Initializing network services - INFO - ** Bound Services ** - INFO - NAME IP PORT - INFO - httpejbd 127.0.0.1 4204 - INFO - ------- - INFO - Ready! - INFO - Configuring enterprise application: D:\github\tomee\examples\javamail\EmailServiceTest - INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container) - INFO - Auto-creating a container for bean org.superbiz.rest.EmailServiceTest: Container(type=MANAGED, id=Default Managed Container) - INFO - Creating Container(id=Default Managed Container) - INFO - Using directory D:\windows\tmp for stateful session passivation - INFO - Configuring Service(id=comp/DefaultManagedExecutorService, type=Resource, provider-id=Default Executor Service) - INFO - Auto-creating a Resource with id 'comp/DefaultManagedExecutorService' of type 'javax.enterprise.concurrent.ManagedExecutorService for 'test'. - INFO - Configuring Service(id=comp/DefaultManagedScheduledExecutorService, type=Resource, provider-id=Default Scheduled Executor Service) - INFO - Auto-creating a Resource with id 'comp/DefaultManagedScheduledExecutorService' of type 'javax.enterprise.concurrent.ManagedScheduledExecutorService for 'test'. - INFO - Configuring Service(id=comp/DefaultManagedThreadFactory, type=Resource, provider-id=Default Managed Thread Factory) - INFO - Auto-creating a Resource with id 'comp/DefaultManagedThreadFactory' of type 'javax.enterprise.concurrent.ManagedThreadFactory for 'test'. - INFO - Enterprise application "D:\github\tomee\examples\javamail\EmailServiceTest" loaded. - INFO - Creating dedicated application classloader for EmailServiceTest - INFO - Assembling app: D:\github\tomee\examples\javamail\EmailServiceTest - INFO - Using providers: - INFO - org.apache.johnzon.jaxrs.JohnzonProvider@2687f956 - INFO - org.apache.cxf.jaxrs.provider.JAXBElementProvider@1ded7b14 - INFO - org.apache.johnzon.jaxrs.JsrProvider@29be7749 - INFO - org.apache.johnzon.jaxrs.WadlDocumentMessageBodyWriter@5f84abe8 - INFO - org.apache.openejb.server.cxf.rs.EJBAccessExceptionMapper@4650a407 - INFO - org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@30135202 - INFO - REST Application: http://127.0.0.1:4204/test/ -> org.apache.openejb.server.rest.InternalApplication - INFO - Service URI: http://127.0.0.1:4204/test/email -> Pojo org.superbiz.rest.EmailService - INFO - POST http://127.0.0.1:4204/test/email/ -> String lowerCase(String) - INFO - Deployed Application(path=D:\github\tomee\examples\javamail\EmailServiceTest) - DEBUG: JavaMail version 1.4ea - DEBUG: java.io.FileNotFoundException: D:\java\jdk8\jre\lib\javamail.providers (The system cannot find the file specified) - DEBUG: !anyLoaded - DEBUG: not loading resource: /META-INF/javamail.providers - DEBUG: successfully loaded resource: /META-INF/javamail.default.providers - DEBUG: Tables of loaded providers - DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]} - DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]} - DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map - DEBUG: !anyLoaded - DEBUG: not loading resource: /META-INF/javamail.address.map - DEBUG: java.io.FileNotFoundException: D:\java\jdk8\jre\lib\javamail.address.map (The system cannot find the file specified) - DEBUG: setDebug: JavaMail version 1.4ea - DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] - DEBUG SMTP: useEhlo true, useAuth false - DEBUG SMTP: trying to connect to host "your.mailserver.host", port 25, isSSL false - INFO - Undeploying app: D:\github\tomee\examples\javamail\EmailServiceTest - INFO - Stopping network services - INFO - Stopping server services - - +Title: Javamail API + +This is just a simple example to demonstrate a very basic usage of the API. It should be enough to get you started using the java mail packages. + +#The Code + +## A simple REST service using the Javamail API + +Here we see a very simple RESTful endpoint that can be called with a message to send by Email. It would not be hard to modify the application to provide +more useful configuration options. As is, this will not send anything, but if you change the parameters to match your mail server then you'll see the message being sent. +You can find much more detailed information on the [Javamail API here](https://java.net/projects/javamail/pages/Home#Samples) + + package org.superbiz.rest; + + import javax.mail.Authenticator; + import javax.mail.Message; + import javax.mail.MessagingException; + import javax.mail.PasswordAuthentication; + import javax.mail.Session; + import javax.mail.Transport; + import javax.mail.internet.InternetAddress; + import javax.mail.internet.MimeMessage; + import javax.ws.rs.POST; + import javax.ws.rs.Path; + import java.util.Date; + import java.util.Properties; + + @Path("/email") + public class EmailService { + + @POST + public String lowerCase(final String message) { + + try { + + //Create some properties and get the default Session + final Properties props = new Properties(); + props.put("mail.smtp.host", "your.mailserver.host"); + props.put("mail.debug", "true"); + + final Session session = Session.getInstance(props, new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication("MyUsername", "MyPassword"); + } + }); + + //Set this just to see some internal logging + session.setDebug(true); + + //Create a message + final MimeMessage msg = new MimeMessage(session); + msg.setFrom(new InternetAddress("[email protected]")); + final InternetAddress[] address = {new InternetAddress("[email protected]")}; + msg.setRecipients(Message.RecipientType.TO, address); + msg.setSubject("JavaMail API test"); + msg.setSentDate(new Date()); + msg.setText(message, "UTF-8"); + + + Transport.send(msg); + } catch (MessagingException e) { + return "Failed to send message: " + e.getMessage(); + } + + return "Sent"; + } + } + +# Testing + +## Test for the JAXRS service + +The test uses the OpenEJB ApplicationComposer to make it trivial. + +The idea is first to activate the jaxrs services. This is done using @EnableServices annotation. + +Then we create on the fly the application simply returning an object representing the web.xml. Here we simply +use it to define the context root but you can use it to define your REST Application too. And to complete the +application definition we add @Classes annotation to define the set of classes to use in this app. + +Finally to test it we use cxf client API to call the REST service post() method. + + package org.superbiz.rest; + + import org.apache.cxf.jaxrs.client.WebClient; + import org.apache.openejb.jee.WebApp; + import org.apache.openejb.junit.ApplicationComposer; + import org.apache.openejb.testing.Classes; + import org.apache.openejb.testing.EnableServices; + import org.apache.openejb.testing.Module; + import org.junit.Test; + import org.junit.runner.RunWith; + + import java.io.IOException; + + import static org.junit.Assert.assertEquals; + + @EnableServices(value = "jaxrs") + @RunWith(ApplicationComposer.class) + public class EmailServiceTest { + + @Module + @Classes(EmailService.class) + public WebApp app() { + return new WebApp().contextRoot("test"); + } + + @Test + public void post() throws IOException { + final String message = WebClient.create("http://localhost:4204").path("/test/email/").post("Hello Tomitribe", String.class); + assertEquals("Failed to send message: Unknown SMTP host: your.mailserver.host", message); + } + } + +#Running + +Running the example is fairly simple. In the "javamail-api" directory run: + + $ mvn clean install + +Which should create output like the following. + + INFO - Cannot find the configuration file [conf/openejb.xml]. Will attempt to create one for the beans deployed. + INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service) + INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager) + INFO - Creating TransactionManager(id=Default Transaction Manager) + INFO - Creating SecurityService(id=Default Security Service) + INFO - Initializing network services + INFO - Creating ServerService(id=cxf-rs) + INFO - Creating ServerService(id=httpejbd) + INFO - Created ServicePool 'httpejbd' with (10) core threads, limited to (200) threads with a queue of (9) + INFO - Initializing network services + INFO - ** Bound Services ** + INFO - NAME IP PORT + INFO - httpejbd 127.0.0.1 4204 + INFO - ------- + INFO - Ready! + INFO - Configuring enterprise application: D:\github\tomee\examples\javamail\EmailServiceTest + INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container) + INFO - Auto-creating a container for bean org.superbiz.rest.EmailServiceTest: Container(type=MANAGED, id=Default Managed Container) + INFO - Creating Container(id=Default Managed Container) + INFO - Using directory D:\windows\tmp for stateful session passivation + INFO - Configuring Service(id=comp/DefaultManagedExecutorService, type=Resource, provider-id=Default Executor Service) + INFO - Auto-creating a Resource with id 'comp/DefaultManagedExecutorService' of type 'javax.enterprise.concurrent.ManagedExecutorService for 'test'. + INFO - Configuring Service(id=comp/DefaultManagedScheduledExecutorService, type=Resource, provider-id=Default Scheduled Executor Service) + INFO - Auto-creating a Resource with id 'comp/DefaultManagedScheduledExecutorService' of type 'javax.enterprise.concurrent.ManagedScheduledExecutorService for 'test'. + INFO - Configuring Service(id=comp/DefaultManagedThreadFactory, type=Resource, provider-id=Default Managed Thread Factory) + INFO - Auto-creating a Resource with id 'comp/DefaultManagedThreadFactory' of type 'javax.enterprise.concurrent.ManagedThreadFactory for 'test'. + INFO - Enterprise application "D:\github\tomee\examples\javamail\EmailServiceTest" loaded. + INFO - Creating dedicated application classloader for EmailServiceTest + INFO - Assembling app: D:\github\tomee\examples\javamail\EmailServiceTest + INFO - Using providers: + INFO - org.apache.johnzon.jaxrs.JohnzonProvider@2687f956 + INFO - org.apache.cxf.jaxrs.provider.JAXBElementProvider@1ded7b14 + INFO - org.apache.johnzon.jaxrs.JsrProvider@29be7749 + INFO - org.apache.johnzon.jaxrs.WadlDocumentMessageBodyWriter@5f84abe8 + INFO - org.apache.openejb.server.cxf.rs.EJBAccessExceptionMapper@4650a407 + INFO - org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@30135202 + INFO - REST Application: http://127.0.0.1:4204/test/ -> org.apache.openejb.server.rest.InternalApplication + INFO - Service URI: http://127.0.0.1:4204/test/email -> Pojo org.superbiz.rest.EmailService + INFO - POST http://127.0.0.1:4204/test/email/ -> String lowerCase(String) + INFO - Deployed Application(path=D:\github\tomee\examples\javamail\EmailServiceTest) + DEBUG: JavaMail version 1.4ea + DEBUG: java.io.FileNotFoundException: D:\java\jdk8\jre\lib\javamail.providers (The system cannot find the file specified) + DEBUG: !anyLoaded + DEBUG: not loading resource: /META-INF/javamail.providers + DEBUG: successfully loaded resource: /META-INF/javamail.default.providers + DEBUG: Tables of loaded providers + DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]} + DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]} + DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map + DEBUG: !anyLoaded + DEBUG: not loading resource: /META-INF/javamail.address.map + DEBUG: java.io.FileNotFoundException: D:\java\jdk8\jre\lib\javamail.address.map (The system cannot find the file specified) + DEBUG: setDebug: JavaMail version 1.4ea + DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] + DEBUG SMTP: useEhlo true, useAuth false + DEBUG SMTP: trying to connect to host "your.mailserver.host", port 25, isSSL false + INFO - Undeploying app: D:\github\tomee\examples\javamail\EmailServiceTest + INFO - Stopping network services + INFO - Stopping server services + + http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/javamail/src/main/java/org/superbiz/rest/EmailService.java ---------------------------------------------------------------------- diff --git a/examples/javamail/src/main/java/org/superbiz/rest/EmailService.java b/examples/javamail/src/main/java/org/superbiz/rest/EmailService.java index 5d037a9..0b33681 100644 --- a/examples/javamail/src/main/java/org/superbiz/rest/EmailService.java +++ b/examples/javamail/src/main/java/org/superbiz/rest/EmailService.java @@ -1,72 +1,72 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.rest; - -import javax.mail.Authenticator; -import javax.mail.Message; -import javax.mail.MessagingException; -import javax.mail.PasswordAuthentication; -import javax.mail.Session; -import javax.mail.Transport; -import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeMessage; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import java.util.Date; -import java.util.Properties; - -@Path("/email") -public class EmailService { - - @POST - public String lowerCase(final String message) { - - try { - - //Create some properties and get the default Session - final Properties props = new Properties(); - props.put("mail.smtp.host", "your.mailserver.host"); - props.put("mail.debug", "true"); - - final Session session = Session.getInstance(props, new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication("MyUsername", "MyPassword"); - } - }); - - //Set this just to see some internal logging - session.setDebug(true); - - //Create a message - final MimeMessage msg = new MimeMessage(session); - msg.setFrom(new InternetAddress("[email protected]")); - final InternetAddress[] address = {new InternetAddress("[email protected]")}; - msg.setRecipients(Message.RecipientType.TO, address); - msg.setSubject("JavaMail API test"); - msg.setSentDate(new Date()); - msg.setText(message, "UTF-8"); - - - Transport.send(msg); - } catch (final MessagingException e) { - return "Failed to send message: " + e.getMessage(); - } - - return "Sent"; - } -} +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.rest; + +import javax.mail.Authenticator; +import javax.mail.Message; +import javax.mail.MessagingException; +import javax.mail.PasswordAuthentication; +import javax.mail.Session; +import javax.mail.Transport; +import javax.mail.internet.InternetAddress; +import javax.mail.internet.MimeMessage; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import java.util.Date; +import java.util.Properties; + +@Path("/email") +public class EmailService { + + @POST + public String lowerCase(final String message) { + + try { + + //Create some properties and get the default Session + final Properties props = new Properties(); + props.put("mail.smtp.host", "your.mailserver.host"); + props.put("mail.debug", "true"); + + final Session session = Session.getInstance(props, new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication("MyUsername", "MyPassword"); + } + }); + + //Set this just to see some internal logging + session.setDebug(true); + + //Create a message + final MimeMessage msg = new MimeMessage(session); + msg.setFrom(new InternetAddress("[email protected]")); + final InternetAddress[] address = {new InternetAddress("[email protected]")}; + msg.setRecipients(Message.RecipientType.TO, address); + msg.setSubject("JavaMail API test"); + msg.setSentDate(new Date()); + msg.setText(message, "UTF-8"); + + + Transport.send(msg); + } catch (final MessagingException e) { + return "Failed to send message: " + e.getMessage(); + } + + return "Sent"; + } +} http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/javamail/src/test/java/org/superbiz/rest/EmailServiceTest.java ---------------------------------------------------------------------- diff --git a/examples/javamail/src/test/java/org/superbiz/rest/EmailServiceTest.java b/examples/javamail/src/test/java/org/superbiz/rest/EmailServiceTest.java index 53798f8..de52865 100644 --- a/examples/javamail/src/test/java/org/superbiz/rest/EmailServiceTest.java +++ b/examples/javamail/src/test/java/org/superbiz/rest/EmailServiceTest.java @@ -1,47 +1,47 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.rest; - -import org.apache.cxf.jaxrs.client.WebClient; -import org.apache.openejb.jee.WebApp; -import org.apache.openejb.junit.ApplicationComposer; -import org.apache.openejb.testing.Classes; -import org.apache.openejb.testing.EnableServices; -import org.apache.openejb.testing.Module; -import org.junit.Test; -import org.junit.runner.RunWith; - -import java.io.IOException; - -import static org.junit.Assert.assertEquals; - -@EnableServices(value = "jaxrs") -@RunWith(ApplicationComposer.class) -public class EmailServiceTest { - - @Module - @Classes(EmailService.class) - public WebApp app() { - return new WebApp().contextRoot("test"); - } - - @Test - public void post() throws IOException { - final String message = WebClient.create("http://localhost:4204").path("/test/email/").post("Hello Tomitribe", String.class); - assertEquals("Failed to send message: Unknown SMTP host: your.mailserver.host", message); - } -} +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.rest; + +import org.apache.cxf.jaxrs.client.WebClient; +import org.apache.openejb.jee.WebApp; +import org.apache.openejb.junit.ApplicationComposer; +import org.apache.openejb.testing.Classes; +import org.apache.openejb.testing.EnableServices; +import org.apache.openejb.testing.Module; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.io.IOException; + +import static org.junit.Assert.assertEquals; + +@EnableServices(value = "jaxrs") +@RunWith(ApplicationComposer.class) +public class EmailServiceTest { + + @Module + @Classes(EmailService.class) + public WebApp app() { + return new WebApp().contextRoot("test"); + } + + @Test + public void post() throws IOException { + final String message = WebClient.create("http://localhost:4204").path("/test/email/").post("Hello Tomitribe", String.class); + assertEquals("Failed to send message: Unknown SMTP host: your.mailserver.host", message); + } +} http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/jpa-eclipselink/src/main/java/org/superbiz/eclipselink/Movie.java ---------------------------------------------------------------------- diff --git a/examples/jpa-eclipselink/src/main/java/org/superbiz/eclipselink/Movie.java b/examples/jpa-eclipselink/src/main/java/org/superbiz/eclipselink/Movie.java index f2b119c..150e56f 100644 --- a/examples/jpa-eclipselink/src/main/java/org/superbiz/eclipselink/Movie.java +++ b/examples/jpa-eclipselink/src/main/java/org/superbiz/eclipselink/Movie.java @@ -1,68 +1,68 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.eclipselink; - -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; - -@Entity -public class Movie { - - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private long id; - - private String director; - private String title; - private int year; - - public Movie() { - } - - public Movie(String director, String title, int year) { - this.director = director; - this.title = title; - this.year = year; - } - - public String getDirector() { - return director; - } - - public void setDirector(String director) { - this.director = director; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public int getYear() { - return year; - } - - public void setYear(int year) { - this.year = year; - } - -} +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.eclipselink; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity +public class Movie { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private long id; + + private String director; + private String title; + private int year; + + public Movie() { + } + + public Movie(String director, String title, int year) { + this.director = director; + this.title = title; + this.year = year; + } + + public String getDirector() { + return director; + } + + public void setDirector(String director) { + this.director = director; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public int getYear() { + return year; + } + + public void setYear(int year) { + this.year = year; + } + +} http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/jpa-eclipselink/src/main/java/org/superbiz/eclipselink/Movies.java ---------------------------------------------------------------------- diff --git a/examples/jpa-eclipselink/src/main/java/org/superbiz/eclipselink/Movies.java b/examples/jpa-eclipselink/src/main/java/org/superbiz/eclipselink/Movies.java index af0e412..e716152 100644 --- a/examples/jpa-eclipselink/src/main/java/org/superbiz/eclipselink/Movies.java +++ b/examples/jpa-eclipselink/src/main/java/org/superbiz/eclipselink/Movies.java @@ -1,45 +1,45 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.eclipselink; - -import javax.ejb.Stateful; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.persistence.PersistenceContextType; -import javax.persistence.Query; -import java.util.List; - -@Stateful -public class Movies { - - @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED) - private EntityManager entityManager; - - public void addMovie(Movie movie) throws Exception { - entityManager.persist(movie); - } - - public void deleteMovie(Movie movie) throws Exception { - entityManager.remove(movie); - } - - public List<Movie> getMovies() throws Exception { - Query query = entityManager.createQuery("SELECT m from Movie as m"); - return query.getResultList(); - } - -} +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.eclipselink; + +import javax.ejb.Stateful; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import javax.persistence.PersistenceContextType; +import javax.persistence.Query; +import java.util.List; + +@Stateful +public class Movies { + + @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED) + private EntityManager entityManager; + + public void addMovie(Movie movie) throws Exception { + entityManager.persist(movie); + } + + public void deleteMovie(Movie movie) throws Exception { + entityManager.remove(movie); + } + + public List<Movie> getMovies() throws Exception { + Query query = entityManager.createQuery("SELECT m from Movie as m"); + return query.getResultList(); + } + +} http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/jpa-eclipselink/src/test/java/org/superbiz/eclipselink/MoviesTest.java ---------------------------------------------------------------------- diff --git a/examples/jpa-eclipselink/src/test/java/org/superbiz/eclipselink/MoviesTest.java b/examples/jpa-eclipselink/src/test/java/org/superbiz/eclipselink/MoviesTest.java index c6584148..f661b2d 100644 --- a/examples/jpa-eclipselink/src/test/java/org/superbiz/eclipselink/MoviesTest.java +++ b/examples/jpa-eclipselink/src/test/java/org/superbiz/eclipselink/MoviesTest.java @@ -1,54 +1,54 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.eclipselink; - -import junit.framework.TestCase; - -import javax.ejb.embeddable.EJBContainer; -import javax.naming.Context; -import java.util.List; -import java.util.Properties; - -/** - * @version $Revision: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $ - */ -public class MoviesTest extends TestCase { - - public void test() throws Exception { - Properties p = new Properties(); - p.put("movieDatabase", "new://Resource?type=DataSource"); - p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver"); - p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb"); - - final Context context = EJBContainer.createEJBContainer(p).getContext(); - - Movies movies = (Movies) context.lookup("java:global/jpa-eclipselink/Movies"); - - movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992)); - movies.addMovie(new Movie("Joel Coen", "Fargo", 1996)); - movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998)); - - List<Movie> list = movies.getMovies(); - assertEquals("List.size()", 3, list.size()); - - for (Movie movie : list) { - movies.deleteMovie(movie); - } - - assertEquals("Movies.getMovies()", 0, movies.getMovies().size()); - } -} +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.eclipselink; + +import junit.framework.TestCase; + +import javax.ejb.embeddable.EJBContainer; +import javax.naming.Context; +import java.util.List; +import java.util.Properties; + +/** + * @version $Revision: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $ + */ +public class MoviesTest extends TestCase { + + public void test() throws Exception { + Properties p = new Properties(); + p.put("movieDatabase", "new://Resource?type=DataSource"); + p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver"); + p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb"); + + final Context context = EJBContainer.createEJBContainer(p).getContext(); + + Movies movies = (Movies) context.lookup("java:global/jpa-eclipselink/Movies"); + + movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992)); + movies.addMovie(new Movie("Joel Coen", "Fargo", 1996)); + movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998)); + + List<Movie> list = movies.getMovies(); + assertEquals("List.size()", 3, list.size()); + + for (Movie movie : list) { + movies.deleteMovie(movie); + } + + assertEquals("Movies.getMovies()", 0, movies.getMovies().size()); + } +} http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/jpa-enumerated/src/main/java/org/superbiz/jpa/enums/Movie.java ---------------------------------------------------------------------- diff --git a/examples/jpa-enumerated/src/main/java/org/superbiz/jpa/enums/Movie.java b/examples/jpa-enumerated/src/main/java/org/superbiz/jpa/enums/Movie.java index 1e1c21f..b76c269 100644 --- a/examples/jpa-enumerated/src/main/java/org/superbiz/jpa/enums/Movie.java +++ b/examples/jpa-enumerated/src/main/java/org/superbiz/jpa/enums/Movie.java @@ -1,79 +1,79 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.jpa.enums; - -import javax.persistence.Entity; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; - -@Entity -public class Movie { - - @Id - @GeneratedValue - private int id; - private String director; - private String title; - private int year; - - @Enumerated(EnumType.STRING) - private Rating rating; - - public Movie() { - } - - public Movie(String director, String title, int year, Rating rating) { - this.director = director; - this.title = title; - this.year = year; - this.rating = rating; - } - - public String getDirector() { - return director; - } - - public void setDirector(String director) { - this.director = director; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public int getYear() { - return year; - } - - public void setYear(int year) { - this.year = year; - } - - public Rating getRating() { - return rating; - } - - public void setRating(Rating rating) { - this.rating = rating; - } -} +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.jpa.enums; + +import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +@Entity +public class Movie { + + @Id + @GeneratedValue + private int id; + private String director; + private String title; + private int year; + + @Enumerated(EnumType.STRING) + private Rating rating; + + public Movie() { + } + + public Movie(String director, String title, int year, Rating rating) { + this.director = director; + this.title = title; + this.year = year; + this.rating = rating; + } + + public String getDirector() { + return director; + } + + public void setDirector(String director) { + this.director = director; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public int getYear() { + return year; + } + + public void setYear(int year) { + this.year = year; + } + + public Rating getRating() { + return rating; + } + + public void setRating(Rating rating) { + this.rating = rating; + } +} http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/jpa-enumerated/src/main/java/org/superbiz/jpa/enums/Movies.java ---------------------------------------------------------------------- diff --git a/examples/jpa-enumerated/src/main/java/org/superbiz/jpa/enums/Movies.java b/examples/jpa-enumerated/src/main/java/org/superbiz/jpa/enums/Movies.java index 46fc1c0..b152d29 100644 --- a/examples/jpa-enumerated/src/main/java/org/superbiz/jpa/enums/Movies.java +++ b/examples/jpa-enumerated/src/main/java/org/superbiz/jpa/enums/Movies.java @@ -1,54 +1,54 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.jpa.enums; - -//START SNIPPET: code - -import javax.ejb.Stateful; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.persistence.PersistenceContextType; -import javax.persistence.Query; -import java.util.List; - -@Stateful -public class Movies { - - @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED) - private EntityManager entityManager; - - public void addMovie(Movie movie) { - entityManager.persist(movie); - } - - public void deleteMovie(Movie movie) { - entityManager.remove(movie); - } - - public List<Movie> findByRating(Rating rating) { - final Query query = entityManager.createQuery("SELECT m FROM Movie as m WHERE m.rating = :rating"); - query.setParameter("rating", rating); - return query.getResultList(); - } - - public List<Movie> getMovies() throws Exception { - Query query = entityManager.createQuery("SELECT m from Movie as m"); - return query.getResultList(); - } - -} -//END SNIPPET: code +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.jpa.enums; + +//START SNIPPET: code + +import javax.ejb.Stateful; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import javax.persistence.PersistenceContextType; +import javax.persistence.Query; +import java.util.List; + +@Stateful +public class Movies { + + @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED) + private EntityManager entityManager; + + public void addMovie(Movie movie) { + entityManager.persist(movie); + } + + public void deleteMovie(Movie movie) { + entityManager.remove(movie); + } + + public List<Movie> findByRating(Rating rating) { + final Query query = entityManager.createQuery("SELECT m FROM Movie as m WHERE m.rating = :rating"); + query.setParameter("rating", rating); + return query.getResultList(); + } + + public List<Movie> getMovies() throws Exception { + Query query = entityManager.createQuery("SELECT m from Movie as m"); + return query.getResultList(); + } + +} +//END SNIPPET: code http://git-wip-us.apache.org/repos/asf/tomee/blob/6e2a4f7c/examples/jpa-enumerated/src/test/java/org/superbiz/jpa/enums/MoviesTest.java ---------------------------------------------------------------------- diff --git a/examples/jpa-enumerated/src/test/java/org/superbiz/jpa/enums/MoviesTest.java b/examples/jpa-enumerated/src/test/java/org/superbiz/jpa/enums/MoviesTest.java index dd90258..69ced20 100644 --- a/examples/jpa-enumerated/src/test/java/org/superbiz/jpa/enums/MoviesTest.java +++ b/examples/jpa-enumerated/src/test/java/org/superbiz/jpa/enums/MoviesTest.java @@ -1,54 +1,54 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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 org.superbiz.jpa.enums; - -import junit.framework.TestCase; - -import javax.ejb.embeddable.EJBContainer; -import javax.naming.Context; -import java.util.Properties; - -public class MoviesTest extends TestCase { - - public void test() throws Exception { - - final Properties p = new Properties(); - p.put("movieDatabase", "new://Resource?type=DataSource"); - p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver"); - p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb"); - - EJBContainer container = EJBContainer.createEJBContainer(p); - final Context context = container.getContext(); - - final Movies movies = (Movies) context.lookup("java:global/jpa-enumerated/Movies"); - - movies.addMovie(new Movie("James Frawley", "The Muppet Movie", 1979, Rating.G)); - movies.addMovie(new Movie("Jim Henson", "The Great Muppet Caper", 1981, Rating.G)); - movies.addMovie(new Movie("Frank Oz", "The Muppets Take Manhattan", 1984, Rating.G)); - movies.addMovie(new Movie("James Bobin", "The Muppets", 2011, Rating.PG)); - - assertEquals("List.size()", 4, movies.getMovies().size()); - - assertEquals("List.size()", 3, movies.findByRating(Rating.G).size()); - - assertEquals("List.size()", 1, movies.findByRating(Rating.PG).size()); - - assertEquals("List.size()", 0, movies.findByRating(Rating.R).size()); - - container.close(); - } -} +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * 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 org.superbiz.jpa.enums; + +import junit.framework.TestCase; + +import javax.ejb.embeddable.EJBContainer; +import javax.naming.Context; +import java.util.Properties; + +public class MoviesTest extends TestCase { + + public void test() throws Exception { + + final Properties p = new Properties(); + p.put("movieDatabase", "new://Resource?type=DataSource"); + p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver"); + p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb"); + + EJBContainer container = EJBContainer.createEJBContainer(p); + final Context context = container.getContext(); + + final Movies movies = (Movies) context.lookup("java:global/jpa-enumerated/Movies"); + + movies.addMovie(new Movie("James Frawley", "The Muppet Movie", 1979, Rating.G)); + movies.addMovie(new Movie("Jim Henson", "The Great Muppet Caper", 1981, Rating.G)); + movies.addMovie(new Movie("Frank Oz", "The Muppets Take Manhattan", 1984, Rating.G)); + movies.addMovie(new Movie("James Bobin", "The Muppets", 2011, Rating.PG)); + + assertEquals("List.size()", 4, movies.getMovies().size()); + + assertEquals("List.size()", 3, movies.findByRating(Rating.G).size()); + + assertEquals("List.size()", 1, movies.findByRating(Rating.PG).size()); + + assertEquals("List.size()", 0, movies.findByRating(Rating.R).size()); + + container.close(); + } +}
