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 an...@apache.org on 2006/08/18 16:59:19 UTC
svn commit: r432612 - in /webservices/scout/branches/v0.7rc1/modules/scout:
./ src/java/org/apache/ws/scout/registry/
src/java/org/apache/ws/scout/registry/infomodel/
src/java/org/apache/ws/scout/util/
Author: anil
Date: Fri Aug 18 07:59:19 2006
New Revision: 432612
URL: http://svn.apache.org/viewvc?rev=432612&view=rev
Log:
v0.7rc1 code changes
Modified:
webservices/scout/branches/v0.7rc1/modules/scout/project.xml
webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerImpl.java
webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java
webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/ConnectionFactoryImpl.java
webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/ConnectionImpl.java
webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/AssociationImpl.java
webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/ClassificationSchemeImpl.java
webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/util/ScoutJaxrUddiHelper.java
webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/util/ScoutUddiJaxrHelper.java
Modified: webservices/scout/branches/v0.7rc1/modules/scout/project.xml
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v0.7rc1/modules/scout/project.xml?rev=432612&r1=432611&r2=432612&view=diff
==============================================================================
--- webservices/scout/branches/v0.7rc1/modules/scout/project.xml (original)
+++ webservices/scout/branches/v0.7rc1/modules/scout/project.xml Fri Aug 18 07:59:19 2006
@@ -18,7 +18,7 @@
-->
<project>
<pomVersion>3</pomVersion>
- <extend>../../project.xml</extend>
+ <extend>../../etc/project.xml</extend>
<id>scout</id>
<name>Apache Scout Implementation</name>
@@ -27,7 +27,7 @@
<dependency>
<groupId>scout</groupId>
<artifactId>jaxr-api</artifactId>
- <version>${pom.currentVersion}</version>
+ <version>0.7</version>
</dependency>
<!-- external JARs -->
@@ -52,11 +52,13 @@
<artifactId>commons-logging</artifactId>
<version>${clogging_version}</version>
</dependency>
+ <!--
<dependency>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>${commons_discovery_version}</version>
</dependency>
+ -->
<dependency>
<groupId>axis</groupId>
<artifactId>axis</artifactId>
@@ -71,6 +73,11 @@
<groupId>axis</groupId>
<artifactId>axis-jaxrpc</artifactId>
<version>${axis_version}</version>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>${log4j_version}</version>
</dependency>
</dependencies>
</project>
Modified: webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerImpl.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerImpl.java?rev=432612&r1=432611&r2=432612&view=diff
==============================================================================
--- webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerImpl.java (original)
+++ webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerImpl.java Fri Aug 18 07:59:19 2006
@@ -16,38 +16,56 @@
*/
package org.apache.ws.scout.registry;
-import org.apache.juddi.IRegistry;
-import org.apache.juddi.datatype.binding.BindingTemplate;
-import org.apache.juddi.datatype.business.BusinessEntity;
-import org.apache.juddi.datatype.response.*;
-import org.apache.juddi.datatype.service.BusinessService;
-import org.apache.juddi.datatype.tmodel.TModel;
-import org.apache.juddi.datatype.assertion.PublisherAssertion;
-import org.apache.juddi.datatype.KeyedReference;
-import org.apache.juddi.datatype.request.AuthInfo;
-import org.apache.juddi.error.RegistryException;
-import org.apache.ws.scout.registry.infomodel.KeyImpl;
-import org.apache.ws.scout.registry.infomodel.ConceptImpl;
-import org.apache.ws.scout.registry.infomodel.InternationalStringImpl;
-import org.apache.ws.scout.util.ScoutJaxrUddiHelper;
-import org.apache.ws.scout.util.ScoutUddiJaxrHelper;
+import java.io.Serializable;
+import java.net.PasswordAuthentication;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.Vector;
-import javax.xml.registry.*;
+import javax.xml.registry.BulkResponse;
+import javax.xml.registry.BusinessLifeCycleManager;
+import javax.xml.registry.DeleteException;
+import javax.xml.registry.InvalidRequestException;
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.JAXRResponse;
+import javax.xml.registry.LifeCycleManager;
+import javax.xml.registry.RegistryService;
+import javax.xml.registry.SaveException;
+import javax.xml.registry.UnexpectedObjectException;
import javax.xml.registry.infomodel.Association;
import javax.xml.registry.infomodel.ClassificationScheme;
import javax.xml.registry.infomodel.Concept;
import javax.xml.registry.infomodel.Key;
import javax.xml.registry.infomodel.Organization;
+import javax.xml.registry.infomodel.RegistryObject;
import javax.xml.registry.infomodel.Service;
import javax.xml.registry.infomodel.ServiceBinding;
-import javax.xml.registry.infomodel.RegistryObject;
-import java.io.Serializable;
-import java.net.PasswordAuthentication;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.Vector;
+
+import org.apache.juddi.IRegistry;
+import org.apache.juddi.datatype.KeyedReference;
+import org.apache.juddi.datatype.assertion.PublisherAssertion;
+import org.apache.juddi.datatype.binding.BindingTemplate;
+import org.apache.juddi.datatype.business.BusinessEntity;
+import org.apache.juddi.datatype.request.AuthInfo;
+import org.apache.juddi.datatype.response.AssertionStatusItem;
+import org.apache.juddi.datatype.response.AssertionStatusReport;
+import org.apache.juddi.datatype.response.AuthToken;
+import org.apache.juddi.datatype.response.BindingDetail;
+import org.apache.juddi.datatype.response.BusinessDetail;
+import org.apache.juddi.datatype.response.DispositionReport;
+import org.apache.juddi.datatype.response.ErrInfo;
+import org.apache.juddi.datatype.response.PublisherAssertions;
+import org.apache.juddi.datatype.response.Result;
+import org.apache.juddi.datatype.response.ServiceDetail;
+import org.apache.juddi.datatype.response.TModelDetail;
+import org.apache.juddi.datatype.service.BusinessService;
+import org.apache.juddi.datatype.tmodel.TModel;
+import org.apache.juddi.error.RegistryException;
+import org.apache.log4j.Logger;
+import org.apache.ws.scout.registry.infomodel.KeyImpl;
+import org.apache.ws.scout.util.ScoutJaxrUddiHelper;
/**
* Implements JAXR BusinessLifeCycleManager Interface.
@@ -59,7 +77,11 @@
public class BusinessLifeCycleManagerImpl extends LifeCycleManagerImpl
implements BusinessLifeCycleManager, Serializable {
- public BusinessLifeCycleManagerImpl(RegistryService registry) {
+ private static final long serialVersionUID = 4662854497208312765L;
+
+ private static Logger log = Logger.getLogger(BusinessLifeCycleManagerImpl.class);
+
+ public BusinessLifeCycleManagerImpl(RegistryService registry) {
super(registry);
}
@@ -270,7 +292,7 @@
throw new UnexpectedObjectException();
}
}
- System.out.println("Method:save_classificationscheme: ENlength=" + entityvect.size());
+ log.debug("Method:save_classificationscheme: ENlength=" + entityvect.size());
// Save business
TModelDetail td = null;
try {
@@ -283,7 +305,7 @@
}
entityvect = td.getTModelVector();
- System.out.println("After Saving TModel. Obtained vector size:" + entityvect.size());
+ log.debug("After Saving TModel. Obtained vector size:" + entityvect.size());
for (int i = 0; entityvect != null && i < entityvect.size(); i++) {
TModel tm = (TModel) entityvect.elementAt(i);
coll.add(new KeyImpl(tm.getTModelKey()));
@@ -315,7 +337,7 @@
throw new UnexpectedObjectException();
}
}
- System.out.println("Method:save_concept: ENlength=" + entityvect.size());
+ log.debug("Method:save_concept: ENlength=" + entityvect.size());
// Save business
TModelDetail td = null;
try {
@@ -328,7 +350,7 @@
}
entityvect = td.getTModelVector();
- System.out.println("After Saving TModel. Obtained vector size:" + entityvect.size());
+ log.debug("After Saving TModel. Obtained vector size:" + entityvect.size());
for (int i = 0; entityvect != null && i < entityvect.size(); i++) {
TModel tm = (TModel) entityvect.elementAt(i);
coll.add(new KeyImpl(tm.getTModelKey()));
@@ -360,7 +382,7 @@
throw new UnexpectedObjectException();
}
}
- System.out.println("Method:save_business: ENlength=" + entityvect.size());
+ log.debug("Method:save_business: ENlength=" + entityvect.size());
// Save business
BusinessDetail bd = null;
try {
@@ -373,7 +395,7 @@
}
entityvect = bd.getBusinessEntityVector();
- System.out.println("After Saving Business. Obtained vector size:" + entityvect.size());
+ log.debug("After Saving Business. Obtained vector size:" + entityvect.size());
for (int i = 0; entityvect != null && i < entityvect.size(); i++) {
BusinessEntity entity = (BusinessEntity) entityvect.elementAt(i);
coll.add(new KeyImpl(entity.getBusinessKey()));
@@ -596,7 +618,7 @@
}
catch (RegistryException e)
{
- e.printStackTrace();
+ log.error("Error:",e);
}
if(pasvect != null && pasvect.size() > 0)
@@ -606,7 +628,7 @@
}
catch (RegistryException e)
{
- e.printStackTrace();
+ log.error("Ignorable exception:",e);
//IGNORE
}
}
@@ -631,13 +653,12 @@
while (iter.hasNext()) {
Key key = (Key) iter.next();
keyvect.add(key.getId());
- }
- //System.out.println("Method:" + op + ": ENlength=" + keyvect.size());
+ }
// Save business
DispositionReport bd = (DispositionReport) executeOperation(keyvect, op);
keyvect = bd.getResultVector();
- System.out.println("After deleting Business. Obtained vector size:" + keyvect.size());
+ log.debug("After deleting Business. Obtained vector size:" + keyvect.size());
for (int i = 0; keyvect != null && i < keyvect.size(); i++) {
Result result = (Result) keyvect.elementAt(i);
int errno = result.getErrno();
@@ -701,7 +722,7 @@
}
catch (Exception e)
{
- e.printStackTrace();
+ log.error("Exception::",e);
throw new JAXRException(e);
}
return token;
Modified: webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java?rev=432612&r1=432611&r2=432612&view=diff
==============================================================================
--- webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java (original)
+++ webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java Fri Aug 18 07:59:19 2006
@@ -17,6 +17,8 @@
package org.apache.ws.scout.registry;
import org.apache.juddi.IRegistry;
+import org.apache.juddi.datatype.CategoryBag;
+import org.apache.juddi.datatype.Description;
import org.apache.juddi.datatype.KeyedReference;
import org.apache.juddi.datatype.Name;
import org.apache.juddi.datatype.assertion.PublisherAssertion;
@@ -27,6 +29,7 @@
import org.apache.juddi.datatype.service.BusinessService;
import org.apache.juddi.datatype.tmodel.TModel;
import org.apache.juddi.error.RegistryException;
+import org.apache.log4j.Logger;
import org.apache.ws.scout.registry.infomodel.ClassificationSchemeImpl;
import org.apache.ws.scout.registry.infomodel.ConceptImpl;
import org.apache.ws.scout.registry.infomodel.InternationalStringImpl;
@@ -49,6 +52,7 @@
import javax.xml.registry.infomodel.ClassificationScheme;
import javax.xml.registry.infomodel.Concept;
import javax.xml.registry.infomodel.Key;
+import javax.xml.registry.infomodel.LocalizedString;
import javax.xml.registry.infomodel.Organization;
import javax.xml.registry.infomodel.RegistryObject;
import javax.xml.registry.infomodel.Service;
@@ -59,6 +63,7 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.Vector;
@@ -74,6 +79,8 @@
public class BusinessQueryManagerImpl implements BusinessQueryManager
{
private final RegistryServiceImpl registryService;
+
+ private static Logger log = Logger.getLogger(BusinessQueryManagerImpl.class);
public BusinessQueryManagerImpl(RegistryServiceImpl registry)
@@ -146,9 +153,7 @@
//TODO: Currently we just return all the Association objects owned by the caller
IRegistry registry = registryService.getRegistry();
try
- {
- FindQualifiers juddiFindQualifiers = mapFindQualifiers(findQualifiers);
-
+ {
ConnectionImpl con = ((RegistryServiceImpl)getRegistryService()).getConnection();
AuthToken auth = this.getAuthToken(con,registry);
PublisherAssertions result =
@@ -196,9 +201,7 @@
//TODO: Currently we just return all the Association objects owned by the caller
IRegistry registry = registryService.getRegistry();
try
- {
- FindQualifiers juddiFindQualifiers = mapFindQualifiers(findQualifiers);
-
+ {
ConnectionImpl con = ((RegistryServiceImpl)getRegistryService()).getConnection();
AuthToken auth = this.getAuthToken(con,registry);
@@ -444,7 +447,7 @@
} catch (RegistryException e)
{
- e.printStackTrace();
+ log.error("Exception ::",e);
throw new JAXRException(e.getLocalizedMessage());
}
}
@@ -531,7 +534,7 @@
} catch (RegistryException e)
{
- e.printStackTrace();
+ log.error("RegistryException::",e);
throw new JAXRException(e.getLocalizedMessage());
}
}
@@ -584,7 +587,7 @@
}
}
catch (RegistryException e) {
- e.printStackTrace();
+ log.error("RegistryException::",e);
throw new JAXRException(e.getLocalizedMessage());
}
@@ -654,7 +657,7 @@
}
}
catch (RegistryException e) {
- e.printStackTrace();
+ log.error("RegistryException::",e);
throw new JAXRException(e.getLocalizedMessage());
}
@@ -676,22 +679,43 @@
try {
TModelDetail tmodeldetail = registry.getTModelDetail(id);
- Concept c = ScoutUddiJaxrHelper.getConcept(tmodeldetail, lcm);
-
- /*
- * now turn into a concrete ClassificationScheme
- */
-
- ClassificationScheme scheme = new ClassificationSchemeImpl(lcm);
+ if(tmodeldetail != null && tmodeldetail.getTModelVector().size() > 0)
+ {
+ TModel tmodel = (TModel)tmodeldetail.getTModelVector().elementAt(0);
+ ClassificationSchemeImpl scheme = new ClassificationSchemeImpl(lcm);
+ boolean uddiBased = isUDDIBasedTModel(tmodel);
+ if(uddiBased)
+ {
+ scheme.setName(new InternationalStringImpl(tmodel.getName()));
+ Vector descVect = tmodel.getDescriptionVector();
+ if(descVect != null && descVect.size() > 0)
+ {
+ Description d = (Description)descVect.elementAt(0);
+ scheme.setDescription(new InternationalStringImpl(d.getValue()));
+ }
+ scheme.setExternalLinks(ScoutUddiJaxrHelper.getExternalLinks(tmodel.getOverviewDoc()
+ ,lcm));
+ scheme.setExternalIdentifiers(ScoutUddiJaxrHelper.getExternalIdentifiers(tmodel.getIdentifierBag()
+ ,lcm));
+ scheme.setClassifications(ScoutUddiJaxrHelper.getClassifications(tmodel.getCategoryBag(),lcm));
+ }
+ else
+ {
+ Concept c = ScoutUddiJaxrHelper.getConcept(tmodeldetail, lcm);
- scheme.setName(c.getName());
- scheme.setDescription(c.getDescription());
- scheme.setKey(c.getKey());
+ /*
+ * now turn into a concrete ClassificationScheme
+ */
+ scheme.setName(c.getName());
+ scheme.setDescription(c.getDescription());
+ scheme.setKey(c.getKey());
+ }
- return scheme;
+ return scheme;
+ }
}
catch (RegistryException e) {
- e.printStackTrace();
+ log.error("RegistryException::",e);
throw new JAXRException(e.getLocalizedMessage());
}
}
@@ -703,7 +727,7 @@
return ScoutUddiJaxrHelper.getOrganization(orgdetail, lcm);
}
catch (RegistryException e) {
- e.printStackTrace();
+ log.error("RegistryException::",e);
throw new JAXRException(e.getLocalizedMessage());
}
}
@@ -715,7 +739,7 @@
return ScoutUddiJaxrHelper.getConcept(tmodeldetail, lcm);
}
catch (RegistryException e) {
- e.printStackTrace();
+ log.error("RegistryException::",e);
throw new JAXRException(e.getLocalizedMessage());
}
}
@@ -739,7 +763,7 @@
}
}
catch (RegistryException e) {
- e.printStackTrace();
+ log.error("RegistryException::",e);
}
}
@@ -842,7 +866,7 @@
} catch (RegistryException e)
{
- e.printStackTrace();
+ log.error("RegistryException::",e);
throw new JAXRException(e.getLocalizedMessage());
}
}
@@ -875,7 +899,7 @@
}
catch (RegistryException e)
{
- e.printStackTrace();
+ log.error("RegistryException::",e);
throw new JAXRException(e.getLocalizedMessage());
}
}
@@ -976,14 +1000,27 @@
}
static Vector mapNamePatterns(Collection namePatterns)
+ throws JAXRException
{
if (namePatterns == null)
return null;
Vector result = new Vector(namePatterns.size());
for (Iterator i = namePatterns.iterator(); i.hasNext();)
{
- String pattern = (String) i.next();
- result.add(new Name(pattern));
+ Name name = null;
+ Object obj = i.next();
+ Locale locale = Locale.getDefault();
+ if(obj instanceof String)
+ {
+ name = new Name((String)obj, locale.getLanguage());
+ }
+ else
+ if(obj instanceof LocalizedString)
+ {
+ LocalizedString ls = (LocalizedString)obj;
+ name = new Name(ls.getValue(),ls.getLocale().getLanguage());
+ }
+ result.add(name);
}
return result;
}
@@ -1014,5 +1051,47 @@
throw new JAXRException(e);
}
return token;
+ }
+
+ private boolean isUDDIBasedTModel(TModel tmodel)
+ {
+ /**
+ * JAXR 1.0 Specification: Section 6.4.3
+ */
+ String uddi_org_types = "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4";
+
+ boolean result = false;
+ CategoryBag cbag = tmodel.getCategoryBag();
+ if(cbag != null)
+ {
+ Vector vect = cbag.getKeyedReferenceVector();
+ if(vect != null)
+ {
+ Iterator iter = vect.iterator();
+ while(iter.hasNext())
+ {
+ KeyedReference kr = (KeyedReference)iter.next();
+ if(kr != null)
+ {
+ String key = kr.getTModelKey();
+ String tval = kr.getKeyValue();
+ result = key.equals(uddi_org_types);
+ //Check the taxonomy values
+ result = checkTaxonomyValue(tval);
+ if(result)
+ break;
+ }
+ }
+ }
+ }
+ return result;
+ }
+
+ private boolean checkTaxonomyValue(String tval)
+ {
+ return (tval.equalsIgnoreCase("Identifier") ||
+ tval.equalsIgnoreCase("Namespace") ||
+ tval.equalsIgnoreCase("Categorization") ||
+ tval.equalsIgnoreCase("PostalAddress"));
}
}
Modified: webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/ConnectionFactoryImpl.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/ConnectionFactoryImpl.java?rev=432612&r1=432611&r2=432612&view=diff
==============================================================================
--- webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/ConnectionFactoryImpl.java (original)
+++ webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/ConnectionFactoryImpl.java Fri Aug 18 07:59:19 2006
@@ -38,7 +38,8 @@
*/
public class ConnectionFactoryImpl extends ConnectionFactory implements Serializable
{
- private static final String QUERYMANAGER_PROPERTY = "javax.xml.registry.queryManagerURL";
+ private static final long serialVersionUID = 462542187808710650L;
+ private static final String QUERYMANAGER_PROPERTY = "javax.xml.registry.queryManagerURL";
private static final String LIFECYCLEMANAGER_PROPERTY = "javax.xml.registry.lifeCycleManagerURL";
private static final String SEMANTICEQUIVALENCES_PROPERTY = "javax.xml.registry.semanticEquivalences";
private static final String POSTALADDRESSSCHEME_PROPERTY = "javax.xml.registry.postalAddressScheme";
Modified: webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/ConnectionImpl.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/ConnectionImpl.java?rev=432612&r1=432611&r2=432612&view=diff
==============================================================================
--- webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/ConnectionImpl.java (original)
+++ webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/ConnectionImpl.java Fri Aug 18 07:59:19 2006
@@ -34,7 +34,8 @@
*/
public class ConnectionImpl implements Connection, Serializable
{
- private boolean closed = false;
+ private static final long serialVersionUID = -4020142276466440718L;
+ private boolean closed = false;
private boolean synchronous = true;
private Set credentials;
private final RegistryProxy registry;
Modified: webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/AssociationImpl.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/AssociationImpl.java?rev=432612&r1=432611&r2=432612&view=diff
==============================================================================
--- webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/AssociationImpl.java (original)
+++ webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/AssociationImpl.java Fri Aug 18 07:59:19 2006
@@ -24,6 +24,8 @@
import javax.xml.registry.infomodel.RegistryObject;
import javax.xml.registry.infomodel.Key;
+import org.apache.log4j.Logger;
+
/**
* Implements JAXR Association Interface.
* For futher details, look into the JAXR API Javadoc.
@@ -32,6 +34,8 @@
*/
public class AssociationImpl extends RegistryObjectImpl implements Association
{
+ private static Logger log = Logger.getLogger(AssociationImpl.class);
+
private Concept type = null;
private RegistryObject source = null;
private RegistryObject target = null;
@@ -117,15 +121,14 @@
if(k == null || k.getId() == "" ) id +=":NULL";
else
id+=":"+k.getId();
- id += ":" + "Concept"; //UDDI: KeyedReference->Key Name
- String val = "NULL";
+ id += ":" + "Concept"; //UDDI: KeyedReference->Key Name
if(type!= null) id += ":" + type.getValue();
else id +=":NULL";
}
catch (JAXRException e)
{
- e.printStackTrace();
+ log.error("JaxrException::",e);
}
if(id != null) key = new KeyImpl(id);
Modified: webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/ClassificationSchemeImpl.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/ClassificationSchemeImpl.java?rev=432612&r1=432611&r2=432612&view=diff
==============================================================================
--- webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/ClassificationSchemeImpl.java (original)
+++ webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/registry/infomodel/ClassificationSchemeImpl.java Fri Aug 18 07:59:19 2006
@@ -37,9 +37,7 @@
implements ClassificationScheme
{
- private Collection childConcepts = new ArrayList();
-
- private int valueType = 1;
+ private Collection childConcepts = new ArrayList();
private boolean external = false;
Modified: webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/util/ScoutJaxrUddiHelper.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/util/ScoutJaxrUddiHelper.java?rev=432612&r1=432611&r2=432612&view=diff
==============================================================================
--- webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/util/ScoutJaxrUddiHelper.java (original)
+++ webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/util/ScoutJaxrUddiHelper.java Fri Aug 18 07:59:19 2006
@@ -27,9 +27,11 @@
import org.apache.juddi.datatype.service.BusinessServices;
import org.apache.juddi.datatype.binding.BindingTemplate;
import org.apache.juddi.datatype.binding.AccessPoint;
+import org.apache.juddi.datatype.binding.BindingTemplates;
import org.apache.juddi.datatype.binding.HostingRedirector;
import org.apache.juddi.datatype.binding.TModelInstanceDetails;
import org.apache.juddi.datatype.binding.TModelInstanceInfo;
+import org.apache.log4j.Logger;
import org.apache.ws.scout.registry.infomodel.InternationalStringImpl;
import javax.xml.registry.infomodel.*;
@@ -49,6 +51,11 @@
*/
public class ScoutJaxrUddiHelper
{
+ private static Logger log = Logger.getLogger(ScoutJaxrUddiHelper.class);
+
+ //Some constants
+ private static final String UDDI_ORG_TYPES = "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4";
+
/**
* Get UDDI Address given JAXR Postal Address
*/
@@ -154,7 +161,7 @@
}
bt.setTModelInstanceDetails(tid);
}
- System.out.println("BindingTemplate=" + bt.toString());
+ log.debug("BindingTemplate=" + bt.toString());
} catch (Exception ud)
{
throw new JAXRException("Apache JAXR Impl:", ud);
@@ -180,7 +187,8 @@
//enumeration, the key can be the parent classification scheme
key = c.getClassificationScheme().getKey();
}
- kr.setTModelKey(key.getId());
+ if(key != null)
+ kr.setTModelKey(key.getId());
kr.setKeyName("Concept");
kr.setKeyValue(v);
pa.setKeyedReference(kr);
@@ -253,8 +261,11 @@
if (serve.getKey() != null) {
bs.setServiceKey(serve.getKey().getId());
}
+
+ //Add the ServiceBinding information
+ bs.setBindingTemplates(getBindingTemplates(serve.getServiceBindings()));
- System.out.println("BusinessService=" + bs.toString());
+ log.debug("BusinessService=" + bs.toString());
} catch (Exception ud)
{
throw new JAXRException("Apache JAXR Impl:", ud);
@@ -327,7 +338,26 @@
String name = iname.getValue();
tm.setName(new Name(name, Locale.getDefault().getLanguage()));
tm.addDescription(new Description( scheme.getDescription().getValue()));
- //ToDO: overviewDoc,identifierBag,categoryBag
+
+ //External Links
+ Collection externalLinks = scheme.getExternalLinks();
+ if(externalLinks != null && externalLinks.size() > 0)
+ {
+ tm.setOverviewDoc(getOverviewDocFromExternalLink((ExternalLink)externalLinks.iterator().next()));
+ }
+
+ //External Identifiers
+ IdentifierBag idBag = new IdentifierBag();
+ idBag.setKeyedReferenceVector(getKeyedReferenceVector(scheme.getExternalIdentifiers()));
+ tm.setIdentifierBag(idBag);
+
+ //Classifications
+ Collection classifications = scheme.getClassifications();
+ if(classifications != null && classifications.isEmpty() == false)
+ {
+ //Spec says from Concept, always assume the uddi-org:types
+ tm.setCategoryBag(getCategoryBagFromConcept());
+ }
} catch (Exception ud)
{
throw new JAXRException("Apache JAXR Impl:", ud);
@@ -356,7 +386,7 @@
biz.setAuthorizedName(org.getPrimaryContact().getPersonName().getFullName());
Collection s = org.getServices();
- System.out.println("?Org has services=" + s.isEmpty());
+ log.debug("?Org has services=" + s.isEmpty());
Iterator iter = s.iterator();
while (iter.hasNext())
{
@@ -375,11 +405,8 @@
Vector cvect = new Vector();
User primaryContact = org.getPrimaryContact();
- Collection users = org.getUsers();
-
- // TODO - remove this
- System.out.println("?Org has users=" + users.isEmpty());
-
+ Collection users = org.getUsers();
+
/*
* first do primary, and then filter that out in the loop
*/
@@ -472,7 +499,7 @@
TelephoneNumber t = (TelephoneNumber) it.next();
Phone phone = new Phone();
String str = t.getNumber();
- System.out.println("Telephone=" + str);
+ log.debug("Telephone=" + str);
phone.setValue(str);
// phone.setText( str );
phonevect.add(phone);
@@ -518,5 +545,129 @@
return uri;
}
-
+
+ private static OverviewDoc getOverviewDocFromExternalLink(ExternalLink link)
+ throws JAXRException
+ {
+ OverviewDoc od = new OverviewDoc();
+ String url = link.getExternalURI();
+ if(url != null)
+ od.setOverviewURL(new OverviewURL(url));
+ InternationalString extDesc = link.getDescription();
+ if(extDesc != null)
+ od.addDescription(new Description(extDesc.getValue()));
+ return od;
+ }
+
+ private static Vector getKeyedReferenceVector(Collection externalIdentifiers)
+ throws JAXRException
+ {
+ Vector krv = new Vector();
+ if(externalIdentifiers != null)
+ {
+ Iterator iter = externalIdentifiers.iterator();
+ while(iter.hasNext())
+ {
+ KeyedReference kr = new KeyedReference();
+ ExternalIdentifier eid = (ExternalIdentifier)iter.next();
+ kr.setTModelKey(eid.getObjectType().getClassificationScheme().getKey().getId());
+ kr.setKeyName(eid.getObjectType().getName().getValue());
+ kr.setKeyValue(eid.getObjectType().getValue());
+
+ krv.add(kr);
+ }
+ }
+ return krv;
+ }
+
+ private static CategoryBag getCategoryBagFromConcept()
+ {
+ /**
+ * JAXR 1.0 Specification: Section D6.4.4
+ * Specification related tModels mapped from Concept may be automatically
+ * categorized by the well-known uddi-org:types taxonomy in UDDI (with
+ * tModelKey uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4) as follows:
+ * The keyed reference is assigned a taxonomy value of specification.
+ */
+ CategoryBag cbag = new CategoryBag();
+ Vector krv = new Vector();
+ KeyedReference kr = new KeyedReference();
+ kr.setTModelKey(UDDI_ORG_TYPES);
+ kr.setKeyValue("specification");
+ krv.add(kr);
+ cbag.setKeyedReferenceVector(krv);
+ return cbag;
+ }
+
+ private static BindingTemplates getBindingTemplates(Collection serviceBindings)
+ throws JAXRException
+ {
+ BindingTemplates bt = new BindingTemplates();
+ if(serviceBindings != null)
+ {
+ Iterator iter = serviceBindings.iterator();
+ while(iter.hasNext())
+ {
+ ServiceBinding sb = (ServiceBinding)iter.next();
+ bt.addBindingTemplate(getBindingTemplate(sb));
+ }
+ }
+ return bt;
+ }
+
+ private static BindingTemplate getBindingTemplate(ServiceBinding serviceBinding)
+ throws JAXRException
+ {
+ BindingTemplate bt = new BindingTemplate();
+ if(serviceBinding != null)
+ {
+ //Access URI
+ String accessURI = serviceBinding.getAccessURI();
+ if(accessURI != null)
+ bt.setAccessPoint(getAccessPoint(accessURI));
+ ServiceBinding sb = serviceBinding.getTargetBinding();
+ if(sb != null)
+ {
+ bt.setHostingRedirector(new HostingRedirector(accessURI));
+ }
+
+ Key key = serviceBinding.getKey();
+ if(key != null)
+ bt.setBindingKey(key.getId());
+ Key serviceKey = serviceBinding.getService().getKey();
+ if(serviceKey != null)
+ bt.setServiceKey(serviceKey.getId());
+ //Description
+ InternationalString desc = serviceBinding.getDescription();
+ if(desc != null)
+ {
+ Vector dvect = new Vector();
+ dvect.add(new Description(desc.getValue()));
+ bt.setDescriptionVector(dvect);
+ }
+ }
+ return bt;
+ }
+
+ private static AccessPoint getAccessPoint(String accessURI)
+ {
+ String type = AccessPoint.OTHER;
+ String temp = accessURI.toLowerCase();
+ if(temp.startsWith("https"))
+ type = AccessPoint.HTTPS;
+ else
+ if(temp.startsWith("http"))
+ type = AccessPoint.HTTP;
+ else
+ if(temp.startsWith("mail"))
+ type = AccessPoint.MAILTO;
+ else
+ if(temp.startsWith("ftp"))
+ type = AccessPoint.FTP;
+ else
+ if(Character.isLetterOrDigit(temp.charAt(0)))
+ type = AccessPoint.PHONE;
+
+ return new AccessPoint(type, accessURI);
+ }
}
Modified: webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/util/ScoutUddiJaxrHelper.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/util/ScoutUddiJaxrHelper.java?rev=432612&r1=432611&r2=432612&view=diff
==============================================================================
--- webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/util/ScoutUddiJaxrHelper.java (original)
+++ webservices/scout/branches/v0.7rc1/modules/scout/src/java/org/apache/ws/scout/util/ScoutUddiJaxrHelper.java Fri Aug 18 07:59:19 2006
@@ -16,14 +16,19 @@
*/
package org.apache.ws.scout.util;
+import org.apache.juddi.datatype.CategoryBag;
import org.apache.juddi.datatype.Description;
import org.apache.juddi.datatype.DiscoveryURL;
import org.apache.juddi.datatype.DiscoveryURLs;
import org.apache.juddi.datatype.IdentifierBag;
import org.apache.juddi.datatype.KeyedReference;
import org.apache.juddi.datatype.Name;
+import org.apache.juddi.datatype.OverviewDoc;
import org.apache.juddi.datatype.binding.AccessPoint;
import org.apache.juddi.datatype.binding.BindingTemplate;
+import org.apache.juddi.datatype.binding.BindingTemplates;
+import org.apache.juddi.datatype.binding.HostingRedirector;
+import org.apache.juddi.datatype.binding.InstanceDetails;
import org.apache.juddi.datatype.binding.TModelInstanceDetails;
import org.apache.juddi.datatype.binding.TModelInstanceInfo;
import org.apache.juddi.datatype.business.BusinessEntity;
@@ -41,7 +46,10 @@
import javax.xml.registry.JAXRException;
import javax.xml.registry.LifeCycleManager;
import javax.xml.registry.infomodel.*;
+
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.Iterator;
import java.util.Vector;
/**
@@ -80,7 +88,7 @@
//Set Services also
BusinessServices services = entity.getBusinessServices();
- Vector svect = services.getBusinessServiceVector();
+ Vector svect = services != null ? services.getBusinessServiceVector() : null;
for (int i = 0; svect != null && i < svect.size(); i++)
{
BusinessService s = (BusinessService)svect.elementAt(i);
@@ -98,7 +106,7 @@
*/
Contacts contacts = entity.getContacts();
- Vector cvect = contacts.getContactVector();
+ Vector cvect = contacts != null ? contacts.getContactVector(): null;
for (int i = 0; cvect != null && i < cvect.size(); i++)
{
@@ -267,6 +275,10 @@
Vector descvect = bs.getDescriptionVector();
Description desc = descvect != null ? (Description)descvect.elementAt(0) : null;
if(desc != null ) serve.setDescription(lcm.createInternationalString(desc.getValue()));
+ //Get Service Binding
+ BindingTemplates bindingTemplates = bs.getBindingTemplates();
+ if(bindingTemplates != null)
+ serve.addServiceBindings(getServiceBindings(bindingTemplates,lcm));
return serve;
}
@@ -293,25 +305,38 @@
public static ServiceBinding getServiceBinding(BindingTemplate bs, LifeCycleManager lcm)
throws JAXRException
{
- ServiceBinding serve = new ServiceBindingImpl(lcm);
-
+ ServiceBindingImpl serve = new ServiceBindingImpl(lcm);
+ /**Section D.10 of JAXR 1.0 Specification */
+
TModelInstanceDetails details = bs.getTModelInstanceDetails();
Vector tiv = details.getTModelInstanceInfoVector();
for (int i = 0; tiv != null && i < tiv.size(); i++)
{
TModelInstanceInfo info = (TModelInstanceInfo)tiv.elementAt(i);
+ InstanceDetails idetails = info.getInstanceDetails();
+ Collection elinks = getExternalLinks(idetails.getOverviewDoc(),lcm);
+ SpecificationLinkImpl slink = new SpecificationLinkImpl(lcm);
+ slink.addExternalIdentifiers(elinks);
+ serve.addSpecificationLink(slink);
+
+ ConceptImpl c = new ConceptImpl(lcm);
+ c.setExternalLinks(elinks);
+ c.setKey(lcm.createKey(info.getTModelKey()));
+ c.setName(lcm.createInternationalString(idetails.getInstanceParmsString()));
+ c.setValue(idetails.getInstanceParms().getValue());
+
+ slink.setSpecificationObject(c);
}
String keystr = bs.getServiceKey();
if (keystr != null)
{
Service svc = new ServiceImpl(lcm);
svc.setKey(lcm.createKey(keystr));
- ((ServiceBindingImpl)serve).setService(svc);
+ serve.setService(svc);
}
String bindingKey = bs.getBindingKey();
- if(bindingKey != null) serve.setKey(new KeyImpl(bindingKey));
- //TODO:Add more stuff
+ if(bindingKey != null) serve.setKey(new KeyImpl(bindingKey));
//Access URI
AccessPoint access = bs.getAccessPoint();
if (access != null) serve.setAccessURI(access.getURL());
@@ -323,6 +348,14 @@
Description des = (Description)dv.elementAt(0);
serve.setDescription(new InternationalStringImpl(des.getValue()));
}
+
+ HostingRedirector hr = bs.getHostingRedirector();
+ if(hr != null)
+ {
+ ServiceBinding sb = lcm.createServiceBinding();
+ sb.setKey(new KeyImpl(hr.getBindingKey()));
+ serve.setTargetBinding(sb);
+ }
return serve;
}
@@ -335,10 +368,12 @@
TModel tmodel = (TModel)tc.elementAt(0);
concept.setKey(lcm.createKey(tmodel.getTModelKey()));
concept.setName(lcm.createInternationalString(tmodel.getName()));
-
- Vector descvect = tmodel.getDescriptionVector();
+
Description desc = getDescription(tmodel);
if( desc != null ) concept.setDescription(lcm.createInternationalString(desc.getValue()));
+
+ CategoryBag cbag = tmodel.getCategoryBag();
+ concept.setClassifications(getClassifications(cbag,lcm));
return concept;
}
@@ -349,8 +384,7 @@
Concept concept = new ConceptImpl(lcm);
concept.setKey(lcm.createKey(tmodel.getTModelKey()));
concept.setName(lcm.createInternationalString(tmodel.getName()));
-
- Vector descvect = tmodel.getDescriptionVector();
+
Description desc = getDescription(tmodel);
concept.setDescription(lcm.createInternationalString(desc.getValue()));
@@ -366,12 +400,90 @@
return concept;
}
+
+ public static Collection getExternalLinks(OverviewDoc odoc , LifeCycleManager lcm)
+ throws JAXRException
+ {
+ ArrayList alist = new ArrayList(1);
+ if(odoc != null)
+ {
+ Vector descVect = odoc.getDescriptionVector();
+ String desc = "";
+ if(descVect != null && descVect.size() > 0)
+ desc = ((Description)descVect.elementAt(0)).getValue();
+ alist.add(lcm.createExternalLink(odoc.getOverviewURLString(),desc));
+ }
+
+ return alist;
+ }
+
+ public static Collection getExternalIdentifiers(IdentifierBag ibag , LifeCycleManager lcm)
+ throws JAXRException
+ {
+ ArrayList alist = new ArrayList(1);
+ if(ibag != null)
+ {
+ Vector krv = ibag.getKeyedReferenceVector();
+ KeyedReference kr = null;
+ if(krv != null && krv.size() > 0)
+ {
+ kr = (KeyedReference)krv.elementAt(0);
+ ClassificationSchemeImpl csimpl = new ClassificationSchemeImpl(lcm);
+ csimpl.setKey(new KeyImpl(kr.getTModelKey()));
+ ExternalIdentifierImpl ei = new ExternalIdentifierImpl(lcm);
+ ei.setIdentificationScheme(csimpl);
+ ei.setName(lcm.createInternationalString(kr.getKeyName()));
+ ei.setValue(kr.getKeyValue());
+ alist.add(ei);
+ }
+ }
+
+ return alist;
+ }
+
+ public static Collection getClassifications(CategoryBag cbag, LifeCycleManager lcm)
+ throws JAXRException
+ {
+ ArrayList alist = new ArrayList(1);
+ if(cbag != null)
+ {
+ Vector krv = cbag.getKeyedReferenceVector();
+ KeyedReference kr = null;
+ if(krv != null && krv.size() > 0)
+ {
+ kr = (KeyedReference)krv.elementAt(0);
+ ClassificationImpl cimpl = new ClassificationImpl(lcm);
+ ClassificationSchemeImpl csimpl = new ClassificationSchemeImpl(lcm);
+ csimpl.setKey(new KeyImpl(kr.getTModelKey()));
+ cimpl.setClassificationScheme(csimpl);
+ cimpl.setName(lcm.createInternationalString(kr.getKeyName()));
+ cimpl.setValue(kr.getKeyValue());
+ alist.add(cimpl);
+ }
+ }
+
+ return alist;
+ }
+
private static Description getDescription( TModel tmodel )
{
Vector descvect = tmodel.getDescriptionVector();
Description desc = descvect != null ? (Description)descvect.elementAt(0) : null;
return desc;
- }
+ }
+ private static Collection getServiceBindings(BindingTemplates bts, LifeCycleManager lcm)
+ throws JAXRException
+ {
+ ArrayList alist = new ArrayList();
+ Vector vect = bts.getBindingTemplateVector();
+ Iterator iter = vect != null ? vect.iterator() : null;
+ while(iter != null && iter.hasNext())
+ {
+ BindingTemplate bt = (BindingTemplate)iter.next();
+ alist.add(getServiceBinding(bt,lcm));
+ }
+ return alist;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: scout-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: scout-dev-help@ws.apache.org