[jboss-cvs] jbosstest/src/main/org/jboss/test/jaxr/scout/query/infomodel ...

Anil Saldhana anil.saldhana at jboss.com
Thu Jul 20 13:19:17 EDT 2006


  User: asaldhana
  Date: 06/07/20 13:19:17

  Added:       src/main/org/jboss/test/jaxr/scout/query/infomodel 
                        JaxrFindAssociationsTestCase.java
  Log:
  JBAS-2621: JAXR testcases
  
  Revision  Changes    Path
  1.2       +210 -0    jbosstest/src/main/org/jboss/test/jaxr/scout/query/infomodel/JaxrFindAssociationsTestCase.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: JaxrFindAssociationsTestCase.java
  ===================================================================
  RCS file: JaxrFindAssociationsTestCase.java
  diff -N JaxrFindAssociationsTestCase.java
  --- /dev/null	1 Jan 1970 00:00:00 -0000
  +++ JaxrFindAssociationsTestCase.java	20 Jul 2006 17:19:17 -0000	1.2
  @@ -0,0 +1,210 @@
  +/*
  +* JBoss, Home of Professional Open Source
  +* Copyright 2005, JBoss Inc., and individual contributors as indicated
  +* by the @authors tag. See the copyright.txt in the distribution for a
  +* full listing of individual contributors.
  +*
  +* This is free software; you can redistribute it and/or modify it
  +* under the terms of the GNU Lesser General Public License as
  +* published by the Free Software Foundation; either version 2.1 of
  +* the License, or (at your option) any later version.
  +*
  +* This software is distributed in the hope that it will be useful,
  +* but WITHOUT ANY WARRANTY; without even the implied warranty of
  +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  +* Lesser General Public License for more details.
  +*
  +* You should have received a copy of the GNU Lesser General Public
  +* License along with this software; if not, write to the Free
  +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  +* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  +*/
  +package org.jboss.test.jaxr.scout.query.infomodel;
  +
  +import org.jboss.test.jaxr.scout.JaxrBaseTestCase;
  +import org.jboss.test.jaxr.scout.util.ScoutUtil;
  +
  +import javax.xml.registry.BulkResponse;
  +import javax.xml.registry.BusinessLifeCycleManager;
  +import javax.xml.registry.BusinessQueryManager;
  +import javax.xml.registry.Connection;
  +import javax.xml.registry.JAXRException;
  +import javax.xml.registry.LifeCycleManager;
  +import javax.xml.registry.RegistryService;
  +import javax.xml.registry.infomodel.Association;
  +import javax.xml.registry.infomodel.Concept;
  +import javax.xml.registry.infomodel.Key;
  +import javax.xml.registry.infomodel.Organization;
  +import java.util.ArrayList;
  +import java.util.Collection;
  +import java.util.Iterator;
  +
  +/**
  + *  Tests FindAssociation using JAXR API
  + *  @author <mailto:Anil.Saldhana at jboss.org>Anil Saldhana
  + *  @since  Mar 9, 2005
  + */
  +public class JaxrFindAssociationsTestCase extends JaxrBaseTestCase
  +{
  +   public void testFindAssociations() throws JAXRException
  +   {
  +
  +      String orgSource = "Source Organization";
  +      String type = "Implements";
  +
  +      Key savekey = null;
  +      Key assockey = null;
  +
  +      BusinessQueryManager bqm2 = null;
  +      BusinessLifeCycleManager blm2 = null;
  +      Collection associationKeys = null;
  +      Collection sourceKeys = null;
  +      Collection targetKeys = null;
  +      String targetId = null;
  +      String sourceId = null;
  +      String orgTarget = "Target Organization";
  +
  +      try
  +      {
  +         login();
  +         getJAXREssentials();
  +         // Authenticate second user
  +         Connection con2 = loginSecondUser();
  +         RegistryService rs2 = con2.getRegistryService();
  +         blm2 = rs2.getBusinessLifeCycleManager();
  +         bqm2 = rs2.getBusinessQueryManager();
  +
  +         Organization source = blm.createOrganization(blm.createInternationalString(orgSource));
  +         Organization target = blm2.createOrganization(blm.createInternationalString(orgTarget));
  +
  +         // publish the source organization
  +         Collection orgs = new ArrayList();
  +         orgs.add(source);
  +         br = blm.saveOrganizations(orgs);
  +         if (br.getExceptions() != null)
  +         {
  +            fail(" Source:Save Orgs failed");
  +         }
  +
  +         sourceKeys = br.getCollection();
  +         Iterator iter = sourceKeys.iterator();
  +         while (iter.hasNext())
  +         {
  +            savekey = (Key)iter.next();
  +         }
  +         sourceId = savekey.getId();
  +         String objectType = LifeCycleManager.ORGANIZATION;
  +         Organization pubSource = (Organization)bqm.getRegistryObject(sourceId, objectType);
  +         assertNotNull(pubSource.getName().getValue());
  +
  +         // publish the target
  +         orgs.clear();
  +         orgs.add(target);
  +         br = blm2.saveOrganizations(orgs);
  +         if (br.getExceptions() != null)
  +         {
  +            fail(" Target:Save Orgs failed");
  +         }
  +         targetKeys = br.getCollection();
  +         iter = targetKeys.iterator();
  +         while (iter.hasNext())
  +         {
  +            savekey = (Key)iter.next();
  +         }
  +         targetId = savekey.getId();
  +         Organization pubTarget = (Organization)bqm2.getRegistryObject(targetId, objectType);
  +
  +         Concept associationType = getAssociationConcept(type);
  +         if (associationType == null)
  +            fail(" getAssociationConcept returned null associationType");
  +
  +         Association a = blm.createAssociation(pubTarget, associationType);
  +         a.setSourceObject(pubSource);
  +
  +         blm.confirmAssociation(a); //First user
  +         blm2.confirmAssociation(a); //Second user
  +
  +         // publish Association
  +         Collection associations = new ArrayList();
  +         associations.add(a);
  +         // Second user saves the association.
  +         br = blm2.saveAssociations(associations, false);
  +
  +         if (br.getExceptions() != null)
  +         {
  +            fail("Error:Save Associations failed \n");
  +         }
  +         BulkResponse targetAssoc = bqm.findCallerAssociations(null,
  +                 new Boolean(true),
  +                 new Boolean(true),
  +                 null);
  +
  +         if (targetAssoc.getExceptions() == null)
  +         {
  +            Collection targetCol = targetAssoc.getCollection();
  +            if (targetCol.size() > 0)
  +            {
  +               iter = targetCol.iterator();
  +               while (iter.hasNext())
  +               {
  +                  Association a1 = (Association)iter.next();
  +                  Organization o = (Organization)a1.getSourceObject();
  +                  o = (Organization)a1.getTargetObject();
  +                  Concept atype = a1.getAssociationType();
  +                  assertNotNull("Concept Type stored in Association", atype);
  +               }
  +            }
  +         }
  +
  +
  +         br = null;
  +         Collection associationTypes = new ArrayList();
  +         associationTypes.add(type);
  +         br = bqm.findAssociations(null, sourceId, targetId, null);
  +         if (br.getExceptions() != null)
  +         {
  +            fail("Error:    findAssociations failed ");
  +         }
  +         associations = null;
  +         associations = br.getCollection();
  +         if (associations.size() > 0)
  +         {
  +            iter = associations.iterator();
  +            while (iter.hasNext())
  +            {
  +               Association a1 = (Association)iter.next();
  +               assockey = a1.getKey();
  +               ScoutUtil.validateAssociation(a1,orgSource);
  +            }
  +         }
  +      }
  +      catch (Exception e)
  +      {
  +         e.printStackTrace();
  +         fail(" Test failed ");
  +      }
  +      finally
  +      {
  +         //Clean Up
  +         try
  +         {
  +            if (assockey != null)
  +            {
  +               associationKeys = new ArrayList();
  +               associationKeys.add(assockey);
  +               blm.deleteAssociations(associationKeys);
  +            }
  +            blm2.deleteOrganizations(targetKeys);
  +            blm.deleteOrganizations(sourceKeys); 
  +         }
  +         catch (JAXRException ex)
  +         {
  +            ex.printStackTrace();
  +            fail("Error: Cleanup failed");
  +         }
  +      }
  +
  +   } // end of method
  +
  +
  +}
  
  
  



More information about the jboss-cvs-commits mailing list