You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scout-dev@ws.apache.org by ks...@apache.org on 2007/05/03 06:24:40 UTC
svn commit: r534703 - in
/webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout:
registry/BusinessQueryManagerImpl.java
registry/infomodel/RegistryObjectImpl.java util/ScoutJaxrUddiHelper.java
util/ScoutUddiJaxrHelper.java
Author: kstam
Date: Wed May 2 21:24:39 2007
New Revision: 534703
URL: http://svn.apache.org/viewvc?view=rev&rev=534703
Log:
SCOUT-30 Applying patch which enables the handling of classifications
Modified:
webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java
webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/RegistryObjectImpl.java
webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/util/ScoutJaxrUddiHelper.java
webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/util/ScoutUddiJaxrHelper.java
Modified: webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java
URL: http://svn.apache.org/viewvc/webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java?view=diff&rev=534703&r1=534702&r2=534703
==============================================================================
--- webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java (original)
+++ webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java Wed May 2 21:24:39 2007
@@ -24,6 +24,7 @@
import org.apache.ws.scout.registry.infomodel.AssociationImpl;
import org.apache.ws.scout.util.EnumerationHelper;
import org.apache.ws.scout.util.ScoutUddiJaxrHelper;
+import org.apache.ws.scout.util.ScoutJaxrUddiHelper;
import org.apache.ws.scout.uddi.AssertionStatusItem;
import org.apache.ws.scout.uddi.AssertionStatusReport;
@@ -121,7 +122,10 @@
FindQualifiers juddiFindQualifiers = mapFindQualifiers(findQualifiers);
Name[] nameArray = mapNamePatterns(namePatterns);
BusinessList result = registry.findBusiness(nameArray,
- null, null, null, null,
+ null,
+ ScoutJaxrUddiHelper.getIdentifierBagFromExternalIdentifiers(externalIdentifiers),
+ ScoutJaxrUddiHelper.getCategoryBagFromClassifications(classifications),
+ null,
juddiFindQualifiers,
registryService.getMaxRows());
BusinessInfo[] a = result.getBusinessInfos() != null ? result.getBusinessInfos().getBusinessInfoArray() : null;
@@ -475,25 +479,24 @@
scheme.addChildConcept(c);
}
- public BulkResponse findClassificationSchemes(Collection findQualifiers,
- Collection namePatterns,
- Collection classifications,
- Collection externalLinks) throws JAXRException
- {
- //TODO: Handle this better
- Collection col = new ArrayList();
- Iterator iter = namePatterns.iterator();
- String name = "";
- while(iter.hasNext())
- {
- name = (String)iter.next();
- break;
- }
-
- col.add(this.findClassificationSchemeByName(findQualifiers,name));
- return new BulkResponseImpl(col);
-
- }
+ public BulkResponse findClassificationSchemes(Collection findQualifiers,
+ Collection namePatterns,
+ Collection classifications,
+ Collection externalLinks) throws JAXRException
+ {
+ //TODO: Handle this better
+ Collection col = new ArrayList();
+ Iterator iter = namePatterns.iterator();
+ String name = "";
+ while(iter.hasNext())
+ {
+ name = (String)iter.next();
+ break;
+ }
+
+ col.add(this.findClassificationSchemeByName(findQualifiers,name));
+ return new BulkResponseImpl(col);
+ }
public Concept findConceptByPath(String path) throws JAXRException
{
@@ -523,7 +526,10 @@
String namestr = (String) iter.next();
try
{
- TModelList list = registry.findTModel(namestr, null, null, juddiFindQualifiers, 10);
+ TModelList list = registry.findTModel(namestr,
+ ScoutJaxrUddiHelper.getCategoryBagFromClassifications(classifications),
+ ScoutJaxrUddiHelper.getIdentifierBagFromExternalIdentifiers(externalIdentifiers),
+ juddiFindQualifiers, 10);
TModelInfos infos = null;
TModelInfo[] tmarr = null;
if (list != null) infos = list.getTModelInfos();
@@ -565,7 +571,10 @@
try
{
- BindingDetail l = iRegistry.findBinding(serviceKey.getId(),null,null,juddiFindQualifiers,registryService.getMaxRows());
+ BindingDetail l = iRegistry.findBinding(serviceKey.getId(),
+ ScoutJaxrUddiHelper.getCategoryBagFromClassifications(classifications),
+ null,
+ juddiFindQualifiers,registryService.getMaxRows());
/*
* now convert from jUDDI ServiceInfo objects to JAXR Services
@@ -635,8 +644,11 @@
id = orgKey.getId();
}
- ServiceList l = iRegistry.findService(id, juddiNames,
- null, null, juddiFindQualifiers, registryService.getMaxRows());
+ ServiceList l = iRegistry.findService(id,
+ juddiNames,
+ ScoutJaxrUddiHelper.getCategoryBagFromClassifications(classifications),
+ null,
+ juddiFindQualifiers, registryService.getMaxRows());
/*
* now convert from jUDDI ServiceInfo objects to JAXR Services
Modified: webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/RegistryObjectImpl.java
URL: http://svn.apache.org/viewvc/webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/RegistryObjectImpl.java?view=diff&rev=534703&r1=534702&r2=534703
==============================================================================
--- webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/RegistryObjectImpl.java (original)
+++ webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/RegistryObjectImpl.java Wed May 2 21:24:39 2007
@@ -109,10 +109,12 @@
public void addClassifications(Collection collection)
{
- for (Iterator i = collection.iterator(); i.hasNext();)
- {
- Classification classification = (Classification) i.next();
- classifications.add(classification);
+ if (collection!=null) {
+ for (Iterator i = collection.iterator(); i.hasNext();)
+ {
+ Classification classification = (Classification) i.next();
+ classifications.add(classification);
+ }
}
}
@@ -202,11 +204,13 @@
public void addExternalIdentifiers(Collection collection)
{
- for (Iterator i = collection.iterator(); i.hasNext();)
- {
- ExternalIdentifier externalId = (ExternalIdentifier) i.next();
- externalIds.add(externalId);
- ((ExternalIdentifierImpl) externalId).setRegistryObject(this);
+ if (collection!=null) {
+ for (Iterator i = collection.iterator(); i.hasNext();)
+ {
+ ExternalIdentifier externalId = (ExternalIdentifier) i.next();
+ externalIds.add(externalId);
+ ((ExternalIdentifierImpl) externalId).setRegistryObject(this);
+ }
}
}
Modified: webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/util/ScoutJaxrUddiHelper.java
URL: http://svn.apache.org/viewvc/webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/util/ScoutJaxrUddiHelper.java?view=diff&rev=534703&r1=534702&r2=534703
==============================================================================
--- webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/util/ScoutJaxrUddiHelper.java (original)
+++ webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/util/ScoutJaxrUddiHelper.java Wed May 2 21:24:39 2007
@@ -40,6 +40,7 @@
import org.apache.ws.scout.uddi.URLType;
import org.apache.ws.scout.uddi.TModelInstanceDetails;
import org.apache.ws.scout.uddi.TModelInstanceInfo;
+import org.apache.xmlbeans.XmlObject;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -311,7 +312,7 @@
bs.setServiceKey(serve.getKey().getId());
}
- addCategories(serve.getClassifications(), bs.addNewCategoryBag());
+ bs.setCategoryBag(getCategoryBagFromClassifications(serve.getClassifications()));
// TODO: need to do ServiceBindings->BindingTemplates
@@ -370,8 +371,8 @@
emptyDesc.setStringValue(scheme.getDescription().getValue());
}
- addIdentifiers(scheme.getExternalIdentifiers(), tm.addNewIdentifierBag());
- addCategories(scheme.getClassifications(), tm.addNewCategoryBag());
+ tm.setIdentifierBag(getIdentifierBagFromExternalIdentifiers(scheme.getExternalIdentifiers()));
+ tm.setCategoryBag(getCategoryBagFromClassifications(scheme.getClassifications()));
// ToDO: overviewDoc
} catch (Exception ud) {
@@ -414,8 +415,8 @@
emptyDesc.setStringValue(scheme.getDescription().getValue());
}
- addIdentifiers(scheme.getExternalIdentifiers(), tm.addNewIdentifierBag());
- addCategories(scheme.getClassifications(), tm.addNewCategoryBag());
+ tm.setIdentifierBag(getIdentifierBagFromExternalIdentifiers(scheme.getExternalIdentifiers()));
+ tm.setCategoryBag(getCategoryBagFromClassifications(scheme.getClassifications()));
// ToDO: overviewDoc
@@ -550,8 +551,8 @@
}
}
- addIdentifiers(org.getExternalIdentifiers(), biz.addNewIdentifierBag());
- addCategories(org.getClassifications(), biz.addNewCategoryBag());
+ biz.setIdentifierBag(getIdentifierBagFromExternalIdentifiers(org.getExternalIdentifiers()));
+ biz.setCategoryBag(getCategoryBagFromClassifications(org.getClassifications()));
} catch (Exception ud) {
throw new JAXRException("Apache JAXR Impl:", ud);
@@ -676,7 +677,7 @@
return uri;
}
- /**
+ /**
* According to JAXR Javadoc, there are two types of classification, internal and external and they use the Classification, Concept,
* and ClassificationScheme objects. It seems the only difference between internal and external (as related to UDDI) is that the
* name/value pair of the categorization is held in the Concept for internal classifications and the Classification for external (bypassing
@@ -690,12 +691,13 @@
* @param destinationObj
* @throws JAXRException
*/
- private static void addCategories(Collection classifications, CategoryBag cbag) throws JAXRException {
+ public static CategoryBag getCategoryBagFromClassifications(Collection classifications) throws JAXRException {
try {
- if (classifications == null || cbag == null)
- return;
+ if (classifications == null)
+ return null;
// Classifications
+ CategoryBag cbag = (CategoryBag)(XmlObject.Factory.newInstance()).changeType(CategoryBag.type);
Iterator classiter = classifications.iterator();
while (classiter.hasNext()) {
Classification classification = (Classification) classiter.next();
@@ -733,24 +735,26 @@
}
}
}
+ return cbag;
} catch (Exception ud) {
throw new JAXRException("Apache JAXR Impl:", ud);
}
}
- /**
+ /**
* Adds the objects identifiers from JAXR's external identifier collection
*
* @param identifiers
* @param ibag
* @throws JAXRException
*/
- private static void addIdentifiers(Collection identifiers, IdentifierBag ibag) throws JAXRException {
+ public static IdentifierBag getIdentifierBagFromExternalIdentifiers(Collection identifiers) throws JAXRException {
try {
- if (identifiers == null || ibag == null)
- return;
+ if (identifiers == null)
+ return null;
// Identifiers
+ IdentifierBag ibag = (IdentifierBag)(XmlObject.Factory.newInstance()).changeType(IdentifierBag.type);
Iterator iditer = identifiers.iterator();
while (iditer.hasNext()) {
ExternalIdentifier extid = (ExternalIdentifier) iditer.next();
@@ -775,10 +779,10 @@
}
}
}
+ return ibag;
} catch (Exception ud) {
throw new JAXRException("Apache JAXR Impl:", ud);
}
}
-
}
Modified: webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/util/ScoutUddiJaxrHelper.java
URL: http://svn.apache.org/viewvc/webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/util/ScoutUddiJaxrHelper.java?view=diff&rev=534703&r1=534702&r2=534703
==============================================================================
--- webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/util/ScoutUddiJaxrHelper.java (original)
+++ webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/util/ScoutUddiJaxrHelper.java Wed May 2 21:24:39 2007
@@ -43,6 +43,7 @@
import javax.xml.registry.LifeCycleManager;
import javax.xml.registry.infomodel.*;
import java.util.Collection;
+import java.util.ArrayList;
/**
* Helper class that does UDDI->Jaxr Mapping
@@ -131,9 +132,8 @@
}
}
-
- addExternalIdentifiers(entity.getIdentifierBag(), org, lcm);
- addClassifications(entity.getCategoryBag(), org, lcm);
+ org.addExternalIdentifiers(getExternalIdentifiers(entity.getIdentifierBag(), lcm));
+ org.addClassifications(getClassifications(entity.getCategoryBag(), lcm));
return org;
}
@@ -210,8 +210,8 @@
}
}
- addExternalIdentifiers(entity.getIdentifierBag(), org, lcm);
- addClassifications(entity.getCategoryBag(), org, lcm);
+ org.addExternalIdentifiers(getExternalIdentifiers(entity.getIdentifierBag(), lcm));
+ org.addClassifications(getClassifications(entity.getCategoryBag(), lcm));
return org;
}
@@ -256,7 +256,7 @@
serve.addServiceBinding(getServiceBinding(bindingTemplate, lcm));
}
- addClassifications(bs.getCategoryBag(), serve, lcm);
+ serve.addClassifications(getClassifications(bs.getCategoryBag(), lcm));
return serve;
}
@@ -323,16 +323,15 @@
TModel tmodel = tc != null && tc.length > 0 ? tc[0] : null;
if (tmodel != null) {
- concept.setKey(lcm.createKey(tmodel.getTModelKey()));
+ concept.setKey(lcm.createKey(tmodel.getTModelKey()));
concept.setName(lcm.createInternationalString(tmodel.getName().getStringValue()));
- Description desc = getDescription(tmodel);
+ Description desc = getDescription(tmodel);
if( desc != null ) concept.setDescription(lcm.createInternationalString(desc.getStringValue()));
- addExternalIdentifiers(tmodel.getIdentifierBag(), concept, lcm);
- addClassifications(tmodel.getCategoryBag(), concept, lcm);
+ concept.addExternalIdentifiers(getExternalIdentifiers(tmodel.getIdentifierBag(), lcm));
+ concept.addClassifications(getClassifications(tmodel.getCategoryBag(), lcm));
}
-
return concept;
}
@@ -346,8 +345,8 @@
Description desc = getDescription(tmodel);
concept.setDescription(lcm.createInternationalString(desc.getStringValue()));
- addExternalIdentifiers(tmodel.getIdentifierBag(), concept, lcm);
- addClassifications(tmodel.getCategoryBag(), concept, lcm);
+ concept.addExternalIdentifiers(getExternalIdentifiers(tmodel.getIdentifierBag(), lcm));
+ concept.addClassifications(getClassifications(tmodel.getCategoryBag(), lcm));
return concept;
}
@@ -377,26 +376,29 @@
* @param lcm
* @throws JAXRException
*/
- private static void addClassifications(CategoryBag cbag, RegistryObject destinationObj, LifeCycleManager lcm) throws JAXRException {
- if (cbag != null) {
- KeyedReference[] keyrarr = cbag.getKeyedReferenceArray();
- for (int i = 0; keyrarr != null && i < keyrarr.length; i++)
- {
- KeyedReference keyr = (KeyedReference)keyrarr[i];
- Classification classification = new ClassificationImpl(lcm);
- classification.setValue(keyr.getKeyValue());
- classification.setName(new InternationalStringImpl(keyr.getKeyName()));
-
- String tmodelKey = keyr.getTModelKey();
- if (tmodelKey != null) {
- ClassificationScheme scheme = new ClassificationSchemeImpl(lcm);
- scheme.setKey(new KeyImpl(tmodelKey));
- classification.setClassificationScheme(scheme);
- }
- destinationObj.addClassification(classification);
- }
- }
- }
+ public static Collection getClassifications(CategoryBag cbag, LifeCycleManager lcm) throws JAXRException {
+ Collection<Classification> classifications = null;
+ if (cbag != null) {
+ classifications = new ArrayList<Classification>();
+ KeyedReference[] keyrarr = cbag.getKeyedReferenceArray();
+ for (int i = 0; keyrarr != null && i < keyrarr.length; i++)
+ {
+ KeyedReference keyr = (KeyedReference)keyrarr[i];
+ Classification classification = new ClassificationImpl(lcm);
+ classification.setValue(keyr.getKeyValue());
+ classification.setName(new InternationalStringImpl(keyr.getKeyName()));
+
+ String tmodelKey = keyr.getTModelKey();
+ if (tmodelKey != null) {
+ ClassificationScheme scheme = new ClassificationSchemeImpl(lcm);
+ scheme.setKey(new KeyImpl(tmodelKey));
+ classification.setClassificationScheme(scheme);
+ }
+ classifications.add(classification);
+ }
+ }
+ return classifications;
+ }
/**
* External Identifiers
@@ -406,8 +408,10 @@
* @param lcm
* @throws JAXRException
*/
- private static void addExternalIdentifiers(IdentifierBag ibag, RegistryObject destinationObj, LifeCycleManager lcm) throws JAXRException {
+ public static Collection getExternalIdentifiers(IdentifierBag ibag, LifeCycleManager lcm) throws JAXRException {
+ Collection<ExternalIdentifier> extidentifiers = null;
if (ibag != null) {
+ extidentifiers = new ArrayList<ExternalIdentifier>();
KeyedReference[] keyrarr = ibag.getKeyedReferenceArray();
for (int i = 0; keyrarr != null && i < keyrarr.length; i++)
{
@@ -422,9 +426,10 @@
scheme.setKey(new KeyImpl(tmodelKey));
extId.setIdentificationScheme(scheme);
}
- destinationObj.addExternalIdentifier(extId);
+ extidentifiers.add(extId);
}
}
+ return extidentifiers;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: scout-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: scout-dev-help@ws.apache.org