001: package org.apache.ojb.ejb.pb;
002:
003: /* Copyright 2004-2005 The Apache Software Foundation
004: *
005: * Licensed under the Apache License, Version 2.0 (the "License");
006: * you may not use this file except in compliance with the License.
007: * You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: import javax.ejb.EJBHome;
019: import javax.rmi.PortableRemoteObject;
020: import java.util.List;
021:
022: import junit.framework.TestCase;
023: import org.apache.ojb.ejb.ContextHelper;
024: import org.apache.ojb.ejb.VOHelper;
025:
026: /**
027: * Test client class using {@link org.apache.ojb.ejb.pb.PersonArticleManagerPBBean}
028: *
029: * @author <a href="mailto:armin@codeAuLait.de">Armin Waibel</a>
030: * @version $Id: PersonArticleClient.java,v 1.5.2.3 2005/12/21 22:21:38 tomdz Exp $
031: */
032: public class PersonArticleClient extends TestCase {
033: PersonArticleManagerPBRemote bean;
034:
035: public PersonArticleClient(String s) {
036: super (s);
037: }
038:
039: public PersonArticleClient() {
040: super (PersonArticleClient.class.getName());
041: }
042:
043: public static void main(String[] args) {
044: String[] arr = { PersonArticleClient.class.getName() };
045: junit.textui.TestRunner.main(arr);
046: }
047:
048: public void testNestedBrokerStore() throws Exception {
049: int personsBefore = bean.personCount();
050: int articlesBefore = bean.articleCount();
051:
052: List articleList = VOHelper.createNewArticleList(6);
053: List personList = VOHelper.createNewPersonList(4);
054: bean.storeUsingNestedPB(articleList, personList);
055:
056: int personsAfterStore = bean.personCount();
057: int articlesAfterStore = bean.articleCount();
058: assertEquals("wrong number of articles after store",
059: articlesBefore + 6, articlesAfterStore);
060: assertEquals("wrong number of persons after store",
061: personsBefore + 4, personsAfterStore);
062: }
063:
064: public void testNestedBeans() throws Exception {
065: int personsBefore = bean.personCount();
066: int articlesBefore = bean.articleCount();
067:
068: List articleList = VOHelper.createNewArticleList(6);
069: List personList = VOHelper.createNewPersonList(4);
070: // storing objects
071: bean.storeUsingSubBeans(articleList, personList);
072:
073: int personsAfterStore = bean.personCount();
074: int articlesAfterStore = bean.articleCount();
075: assertEquals("wrong number of articles after store",
076: articlesBefore + 6, articlesAfterStore);
077: assertEquals("wrong number of persons after store",
078: personsBefore + 4, personsAfterStore);
079: }
080:
081: public void testNestedStoreDelete() throws Exception {
082: int personsBefore = bean.personCount();
083: int articlesBefore = bean.articleCount();
084:
085: List articleList = VOHelper.createNewArticleList(6);
086: List personList = VOHelper.createNewPersonList(4);
087: // storing objects
088: articleList = bean.storeArticles(articleList);
089: personList = bean.storePersons(personList);
090:
091: int personsAfterStore = bean.personCount();
092: int articlesAfterStore = bean.articleCount();
093: assertEquals("wrong number of articles after store",
094: articlesBefore + 6, articlesAfterStore);
095: assertEquals("wrong number of persons after store",
096: personsBefore + 4, personsAfterStore);
097:
098: //delete objects
099: bean.deleteArticles(articleList);
100: bean.deletePersons(personList);
101:
102: int personsAfterDelete = bean.personCount();
103: int articlesAfterDelete = bean.articleCount();
104: assertEquals("wrong number of articles after delete",
105: articlesBefore, articlesAfterDelete);
106: assertEquals("wrong number of persons after delete",
107: personsBefore, personsAfterDelete);
108: }
109:
110: public void testStoreDelete() throws Exception {
111: int count = 100;
112: int articlesBefore = bean.articleCount();
113:
114: List articleList = VOHelper.createNewArticleList(count);
115: // storing objects
116: articleList = bean.storeArticlesIntricately(articleList);
117:
118: int articlesAfterStore = bean.articleCount();
119: assertEquals("wrong number of articles after store",
120: articlesBefore + count, articlesAfterStore);
121:
122: //delete objects
123: bean.deleteArticlesIntricately(articleList);
124:
125: int articlesAfterDelete = bean.articleCount();
126: assertEquals("wrong number of articles after delete",
127: articlesBefore, articlesAfterDelete);
128: }
129:
130: protected void setUp() throws Exception {
131: super .setUp();
132: init();
133: }
134:
135: protected void init() throws Exception {
136: try {
137: Object object = PortableRemoteObject.narrow(ContextHelper
138: .getContext().lookup(
139: PersonArticleManagerPBHome.JNDI_NAME),
140: EJBHome.class);
141: bean = (PersonArticleManagerPBRemote) ((PersonArticleManagerPBHome) object)
142: .create();
143: System.out.println("Bean found: " + bean);
144: } catch (Exception e) {
145: e.printStackTrace();
146: throw e;
147: }
148: }
149:
150: }
|