edu.uga.cs.lsdis.meteors.uddiproxy.impl
Class DiscoveryEngineImpl

java.lang.Object
  extended by edu.uga.cs.lsdis.meteors.uddiproxy.impl.DiscoveryEngineImpl
All Implemented Interfaces:
DiscoveryEngine

public class DiscoveryEngineImpl
extends java.lang.Object
implements DiscoveryEngine

This class is an implementation of the discovery engine

Version:
1.0
Author:
Kunal Verma, Ke Li

Constructor Summary
DiscoveryEngineImpl()
           
DiscoveryEngineImpl(java.lang.String basePath)
           
 
Method Summary
 void addOntologies(java.util.Vector URIs)
          Add ontologies for semantic inferencing
 void addOntology(java.lang.String URI)
          Add ontology for semantic inferencing
 java.util.Vector combineOperationDetails(java.util.Vector operationDetailVectorVector)
           
 java.util.Vector combineOperations(java.util.Vector operationsVectorVector)
          The input is a vector of operationVector.
 java.util.Vector createOperationDetails(java.util.Vector operationVector, java.lang.String protocol, java.lang.String transport)
          Creates an OperationDetails Object which has binding and port for the opeeration for each operation in a vector of semantically matching operations
 java.util.Vector createOperationDetailsforPortType(java.lang.String portTypeKey, java.lang.String protocol, java.lang.String transport)
          Creates an OperationDetais Object for a portType which has binding and port for the portType
 java.util.Vector findBinding(java.lang.String portTypeKey, java.lang.String protocol, java.lang.String transport)
          Returns bindings for a portType
 java.util.Vector<org.uddi4j.datatype.binding.TModelInstanceInfo> findBindingTMdoles(org.uddi4j.datatype.service.BusinessService service)
          get the vector of bindingtemplate from the business service.
 org.uddi4j.datatype.business.BusinessEntity findBusinessEntity(java.lang.String businessKey)
          find the business entity by the business key.
 org.uddi4j.datatype.service.BusinessService findBusinessService(java.util.Vector<Operation> ops)
          use the set of operations to find out the service
 org.uddi4j.datatype.tmodel.TModel findingTmodelByKey(java.lang.String tmodelKey)
          get the tmodel by the tmodel key
 java.util.Vector findOperation(java.util.Vector functionalConcepts, java.util.Vector inputs, java.util.Vector outputs, org.uddi4j.util.KeyedReference domains)
          This method returns a set of operation objects based on the input concepts output concepts, domains and functional concepts
 java.util.Vector findPort(java.lang.String bindingKey)
          Returns ports that implement a binding
 java.util.Vector findPortType(java.lang.String name, java.lang.String namespace, java.util.Vector domains)
          This method returns a set of portType TModel keys based on the name namespace and domains
 java.util.Vector findService(java.lang.String name, java.util.Vector domains)
          Returns ports that implement a service
 java.util.Vector findServices(org.uddi4j.datatype.business.BusinessEntity business)
          get all the services of the business entity
 org.uddi4j.client.UDDIProxy getProxy()
           
 void printUDDIExceptionDetails(org.uddi4j.UDDIException e)
           
 void setProxy(org.uddi4j.client.UDDIProxy proxy)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DiscoveryEngineImpl

public DiscoveryEngineImpl()

DiscoveryEngineImpl

public DiscoveryEngineImpl(java.lang.String basePath)
Method Detail

findBinding

public java.util.Vector findBinding(java.lang.String portTypeKey,
                                    java.lang.String protocol,
                                    java.lang.String transport)
Returns bindings for a portType

Specified by:
findBinding in interface DiscoveryEngine
Parameters:
filter - Set of filters for matching
filterType - Type of the filter
Returns:
Vector of TModel keys returned from searhing UDDI

findBindingTMdoles

public java.util.Vector<org.uddi4j.datatype.binding.TModelInstanceInfo> findBindingTMdoles(org.uddi4j.datatype.service.BusinessService service)
                                                                                    throws org.uddi4j.UDDIException,
                                                                                           org.uddi4j.transport.TransportException
get the vector of bindingtemplate from the business service. There is at most one bindingTemplate can exist, so get the first one. From the bindingTemplate, get the Vector of tmodelInstanceInfo. Each tmodelInstanceInfo has a tmodel key and description informations.

Specified by:
findBindingTMdoles in interface DiscoveryEngine
Parameters:
service - Business Service
Returns:
tmodelInstanceInfos Vector of TModelInstanceInfo
Throws:
org.uddi4j.UDDIException
org.uddi4j.transport.TransportException

findingTmodelByKey

public org.uddi4j.datatype.tmodel.TModel findingTmodelByKey(java.lang.String tmodelKey)
                                                     throws org.uddi4j.UDDIException,
                                                            org.uddi4j.transport.TransportException
get the tmodel by the tmodel key

Specified by:
findingTmodelByKey in interface DiscoveryEngine
Parameters:
tmodelKey - tmodel key -- String
Returns:
tmodel TModel
Throws:
org.uddi4j.UDDIException
org.uddi4j.transport.TransportException

findOperation

public java.util.Vector findOperation(java.util.Vector functionalConcepts,
                                      java.util.Vector inputs,
                                      java.util.Vector outputs,
                                      org.uddi4j.util.KeyedReference domains)
This method returns a set of operation objects based on the input concepts output concepts, domains and functional concepts

Specified by:
findOperation in interface DiscoveryEngine
Parameters:
functionalConcepts - Functional concepts from relevant domain ontologies
inputs - Set of input concepts from relevant domain ontologies
outputs - Set of output concepts from relevant domain ontologies
domains - Set of domains from NAICS taxonomy
Returns:
Set of matching Operation objects from UDDI

findPort

public java.util.Vector findPort(java.lang.String bindingKey)
Returns ports that implement a binding

Parameters:
bindingKey - key of the required binding tModel
Returns:
Set of Port objects from searhing UDDI

findService

public java.util.Vector findService(java.lang.String name,
                                    java.util.Vector domains)
Returns ports that implement a service

Specified by:
findService in interface DiscoveryEngine
Parameters:
bindingKey - key of the required binding tModel
Returns:
Set of Port objects from searhing UDDI

findBusinessService

public org.uddi4j.datatype.service.BusinessService findBusinessService(java.util.Vector<Operation> ops)
                                                                throws org.uddi4j.UDDIException,
                                                                       org.uddi4j.transport.TransportException
use the set of operations to find out the service

Specified by:
findBusinessService in interface DiscoveryEngine
Parameters:
ops - Vector of Operations
Returns:
business service BusinessService
Throws:
org.uddi4j.UDDIException
org.uddi4j.transport.TransportException

findServices

public java.util.Vector findServices(org.uddi4j.datatype.business.BusinessEntity business)
get all the services of the business entity

Specified by:
findServices in interface DiscoveryEngine
Parameters:
business - -- business Entity
Returns:
vector of BusinessService

findBusinessEntity

public org.uddi4j.datatype.business.BusinessEntity findBusinessEntity(java.lang.String businessKey)
                                                               throws org.uddi4j.UDDIException,
                                                                      org.uddi4j.transport.TransportException
find the business entity by the business key. key and entity are one to one.

Specified by:
findBusinessEntity in interface DiscoveryEngine
Parameters:
businessKey - busines key -- String
Returns:
BusinessEntity business entity -- BusinessEntity
Throws:
org.uddi4j.UDDIException
org.uddi4j.transport.TransportException

findPortType

public java.util.Vector findPortType(java.lang.String name,
                                     java.lang.String namespace,
                                     java.util.Vector domains)
This method returns a set of portType TModel keys based on the name namespace and domains

Parameters:
name - name of the portType
namespace - namespace of the portType
domains - Set of domains from NAICS taxonomy
Returns:
Set of TModel keys

createOperationDetails

public java.util.Vector createOperationDetails(java.util.Vector operationVector,
                                               java.lang.String protocol,
                                               java.lang.String transport)
Creates an OperationDetails Object which has binding and port for the opeeration for each operation in a vector of semantically matching operations

Type Parameters:
code - Vector of semantically matching Operation objects
Parameters:
communication - protocol (SOAP etc.)
transport - protocol (HTTP etc.)
Returns:
set of OperationDetail objects, that contain binding and port details

createOperationDetailsforPortType

public java.util.Vector createOperationDetailsforPortType(java.lang.String portTypeKey,
                                                          java.lang.String protocol,
                                                          java.lang.String transport)
Creates an OperationDetais Object for a portType which has binding and port for the portType

Parameters:
operation - Operation object for which details are needed
Returns:
set of OperationDetail objects

combineOperationDetails

public java.util.Vector combineOperationDetails(java.util.Vector operationDetailVectorVector)
Parameters:
Vector - of OperationDetail Vectors (Vector of vectors)

combineOperations

public java.util.Vector combineOperations(java.util.Vector operationsVectorVector)
The input is a vector of operationVector. Each element of the vector is a set of operations which should exist in the same web service(wsdl or wsdls file).

Specified by:
combineOperations in interface DiscoveryEngine
Parameters:
operationsVectorVector - Vector> operations
Returns:
Vector of the services and each service includes several ops

addOntologies

public void addOntologies(java.util.Vector URIs)
Description copied from interface: DiscoveryEngine
Add ontologies for semantic inferencing

Specified by:
addOntologies in interface DiscoveryEngine
Parameters:
URIs -

addOntology

public void addOntology(java.lang.String URI)
Description copied from interface: DiscoveryEngine
Add ontology for semantic inferencing

Specified by:
addOntology in interface DiscoveryEngine
Parameters:
URI -

getProxy

public org.uddi4j.client.UDDIProxy getProxy()
Specified by:
getProxy in interface DiscoveryEngine
Returns:
Returns the proxy.

setProxy

public void setProxy(org.uddi4j.client.UDDIProxy proxy)
Specified by:
setProxy in interface DiscoveryEngine
Parameters:
proxy - The proxy to set.

printUDDIExceptionDetails

public void printUDDIExceptionDetails(org.uddi4j.UDDIException e)