/** * 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; import junit.framework.TestCase; import javax.ejb.embeddable.EJBContainer; import javax.naming.Context; import java.util.Locale; /** * @version $Rev$ $Date$ */ public class FriendlyPersonTest extends TestCase { private Context context; protected void setUp() throws Exception { context = EJBContainer.createEJBContainer().getContext(); } /** * Here we lookup and test the FriendlyPerson bean via its EJB 2.1 EJBHome and EJBObject interfaces * * @throws Exception */ //START SNIPPET: remotehome public void testEjbHomeAndEjbObject() throws Exception { Object object = context.lookup("java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonEjbHome"); FriendlyPersonEjbHome home = (FriendlyPersonEjbHome) object; FriendlyPersonEjbObject friendlyPerson = home.create(); friendlyPerson.setDefaultLanguage("en"); assertEquals("Hello David!", friendlyPerson.greet("David")); assertEquals("Hello Amelia!", friendlyPerson.greet("Amelia")); friendlyPerson.setLanguagePreferences("Amelia", "es"); assertEquals("Hello David!", friendlyPerson.greet("David")); assertEquals("Hola Amelia!", friendlyPerson.greet("Amelia")); // Amelia took some French, let's see if she remembers assertEquals("Bonjour Amelia!", friendlyPerson.greet("fr", "Amelia")); // Dave should take some Polish and if he had, he could say Hi in Polish assertEquals("Witaj Dave!", friendlyPerson.greet("pl", "Dave")); // Let's see if I speak Portuguese assertEquals("Sorry, I don't speak " + new Locale("pt").getDisplayLanguage() + ".", friendlyPerson.greet("pt", "David")); // Ok, well I've been meaning to learn, so... friendlyPerson.addGreeting("pt", "Ola {0}!"); assertEquals("Ola David!", friendlyPerson.greet("pt", "David")); } //END SNIPPET: remotehome /** * Here we lookup and test the FriendlyPerson bean via its EJB 2.1 EJBLocalHome and EJBLocalObject interfaces * * @throws Exception */ public void testEjbLocalHomeAndEjbLocalObject() throws Exception { Object object = context.lookup("java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonEjbLocalHome"); FriendlyPersonEjbLocalHome home = (FriendlyPersonEjbLocalHome) object; FriendlyPersonEjbLocalObject friendlyPerson = home.create(); friendlyPerson.setDefaultLanguage("en"); assertEquals("Hello David!", friendlyPerson.greet("David")); assertEquals("Hello Amelia!", friendlyPerson.greet("Amelia")); friendlyPerson.setLanguagePreferences("Amelia", "es"); assertEquals("Hello David!", friendlyPerson.greet("David")); assertEquals("Hola Amelia!", friendlyPerson.greet("Amelia")); // Amelia took some French, let's see if she remembers assertEquals("Bonjour Amelia!", friendlyPerson.greet("fr", "Amelia")); // Dave should take some Polish and if he had, he could say Hi in Polish assertEquals("Witaj Dave!", friendlyPerson.greet("pl", "Dave")); // Let's see if I speak Portuguese assertEquals("Sorry, I don't speak " + new Locale("pt").getDisplayLanguage() + ".", friendlyPerson.greet("pt", "David")); // Ok, well I've been meaning to learn, so... friendlyPerson.addGreeting("pt", "Ola {0}!"); assertEquals("Ola David!", friendlyPerson.greet("pt", "David")); } /** * Here we lookup and test the FriendlyPerson bean via its EJB 3.0 business remote interface * * @throws Exception */ //START SNIPPET: remote public void testBusinessRemote() throws Exception { Object object = context.lookup("java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonRemote"); FriendlyPersonRemote friendlyPerson = (FriendlyPersonRemote) object; friendlyPerson.setDefaultLanguage("en"); assertEquals("Hello David!", friendlyPerson.greet("David")); assertEquals("Hello Amelia!", friendlyPerson.greet("Amelia")); friendlyPerson.setLanguagePreferences("Amelia", "es"); assertEquals("Hello David!", friendlyPerson.greet("David")); assertEquals("Hola Amelia!", friendlyPerson.greet("Amelia")); // Amelia took some French, let's see if she remembers assertEquals("Bonjour Amelia!", friendlyPerson.greet("fr", "Amelia")); // Dave should take some Polish and if he had, he could say Hi in Polish assertEquals("Witaj Dave!", friendlyPerson.greet("pl", "Dave")); // Let's see if I speak Portuguese assertEquals("Sorry, I don't speak " + new Locale("pt").getDisplayLanguage() + ".", friendlyPerson.greet("pt", "David")); // Ok, well I've been meaning to learn, so... friendlyPerson.addGreeting("pt", "Ola {0}!"); assertEquals("Ola David!", friendlyPerson.greet("pt", "David")); } //START SNIPPET: remote /** * Here we lookup and test the FriendlyPerson bean via its EJB 3.0 business local interface * * @throws Exception */ public void testBusinessLocal() throws Exception { Object object = context.lookup("java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonLocal"); FriendlyPersonLocal friendlyPerson = (FriendlyPersonLocal) object; friendlyPerson.setDefaultLanguage("en"); assertEquals("Hello David!", friendlyPerson.greet("David")); assertEquals("Hello Amelia!", friendlyPerson.greet("Amelia")); friendlyPerson.setLanguagePreferences("Amelia", "es"); assertEquals("Hello David!", friendlyPerson.greet("David")); assertEquals("Hola Amelia!", friendlyPerson.greet("Amelia")); // Amelia took some French, let's see if she remembers assertEquals("Bonjour Amelia!", friendlyPerson.greet("fr", "Amelia")); // Dave should take some Polish and if he had, he could say Hi in Polish assertEquals("Witaj Dave!", friendlyPerson.greet("pl", "Dave")); // Let's see if I speak Portuguese assertEquals("Sorry, I don't speak " + new Locale("pt").getDisplayLanguage() + ".", friendlyPerson.greet("pt", "David")); // Ok, well I've been meaning to learn, so... friendlyPerson.addGreeting("pt", "Ola {0}!"); assertEquals("Ola David!", friendlyPerson.greet("pt", "David")); } }