[jboss-svn-commits] JBL Code SVN: r7177 - in labs/jbossesb/trunk/product: core/rosetta/src/org/jboss/soa/esb/util core/services/src/org/jboss/soa/esb/services/registry core/services/tests/src/org/jboss/soa/esb/services/registry lib/ext
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Oct 27 13:57:35 EDT 2006
Author: kurt.stam at jboss.com
Date: 2006-10-27 13:57:23 -0400 (Fri, 27 Oct 2006)
New Revision: 7177
Modified:
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/Util.java
labs/jbossesb/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/JAXRRegistryImpl.java
labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/JAXRRegistryUnitTest.java
labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/RegistryUnitTest.java
labs/jbossesb/trunk/product/lib/ext/scout-0.7rc2-embedded.jar
Log:
Working on Registry
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/Util.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/Util.java 2006-10-27 16:32:30 UTC (rev 7176)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/Util.java 2006-10-27 17:57:23 UTC (rev 7177)
@@ -46,7 +46,6 @@
import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.helpers.KeyValuePair;
import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageType;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
Modified: labs/jbossesb/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/JAXRRegistryImpl.java
===================================================================
--- labs/jbossesb/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/JAXRRegistryImpl.java 2006-10-27 16:32:30 UTC (rev 7176)
+++ labs/jbossesb/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/JAXRRegistryImpl.java 2006-10-27 17:57:23 UTC (rev 7177)
@@ -22,6 +22,8 @@
package org.jboss.soa.esb.services.registry;
import java.net.PasswordAuthentication;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
@@ -51,6 +53,7 @@
import org.apache.log4j.Logger;
import org.apache.log4j.Priority;
+import org.jboss.internal.soa.esb.addressing.EPRHelper;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.common.Configuration;
/**
@@ -141,7 +144,19 @@
* Remove an EPR from the Registry
*/
public void unRegisterService(String category, String serviceName) throws RegistryException{
-
+ try {
+ Organization organization = getJBossESBOrganization();
+ for (Iterator i=organization.getServices().iterator(); i.hasNext();) {
+ Service service = (Service) i.next();
+ if (service.getName().getValue().equals(category + ":" + serviceName)) {
+ organization.removeService(service);
+ saveRegistryObject(organization);
+ return;
+ }
+ }
+ } catch (JAXRException je) {
+ throw new RegistryException(je.getLocalizedMessage(), je);
+ }
}
/**
* Publish an EPR to the Registry
@@ -163,8 +178,8 @@
// BusinessQueryManager bqm = rs.getBusinessQueryManager();
ServiceBinding serviceBinding = blm.createServiceBinding();
serviceBinding.setDescription(blm.createInternationalString(eprDescription));
- //For now storing the EPR XML in the URI until I fill in the holes in scout.
- serviceBinding.setAccessURI("<EPR_XML>");
+ String xml = EPRHelper.toXMLString(epr);
+ serviceBinding.setAccessURI(URLEncoder.encode(xml,"UTF-8"));
// Concept specConcept = blm.createConcept(null, "HelloConcept", "");
// String schemeName = "uddi-org:types";
@@ -197,7 +212,7 @@
serviceBindings.add(serviceBinding);
service.addServiceBindings(serviceBindings);
saveRegistryObject(serviceBinding);
- } catch (JAXRException je) {
+ } catch (Exception je) {
throw new RegistryException(je.getLocalizedMessage(), je);
} finally {
closeConnection(connection);
@@ -206,26 +221,25 @@
/**
* Remove an EPR from the Registry
*/
- public void unRegisterEPR(String category, String serviceName, EPR epr) throws RegistryException{
+ public void unRegisterEPR(String category, String serviceName, EPR toBeDeletedEPR) throws RegistryException{
//first find the ServiceBindings for this service
try {
- String eprXML = "<EPR_XML>"; //epr.toXML()
Service service = findService(category, serviceName);
- if (service.getServiceBindings().size()==0) {
- throw new RegistryException("No bindings found for service with name = " + serviceName);
- }
- for (Iterator i=service.getServiceBindings().iterator();i.hasNext();) {
+ Collection<ServiceBinding> serviceBindings = findServiceBindings(service);
+ for (Iterator i=serviceBindings.iterator();i.hasNext();){
ServiceBinding serviceBinding = (ServiceBinding) i.next();
- if (serviceBinding.getAccessURI().equals(eprXML)) {
- logger.log(Priority.INFO, "Removing EPR: " + epr);
+ String xml = URLDecoder.decode(serviceBinding.getAccessURI(), "UTF-8");
+ if (xml.equals(EPRHelper.toXMLString(toBeDeletedEPR))) {
service.removeServiceBinding(serviceBinding);
+ service.setProvidingOrganization(getJBossESBOrganization());
+ saveRegistryObject(service);
return;
}
}
//We should not end up here or else we did not match any EPRs
throw new RegistryException("No such EPR found for service with name = "
- + serviceName + " and EPR=" + epr);
- } catch (JAXRException je) {
+ + serviceName + " and EPR=" + toBeDeletedEPR);
+ } catch (Exception je) {
throw new RegistryException(je.getLocalizedMessage(), je);
}
}
@@ -276,19 +290,24 @@
public Collection<EPR> findEPRs(String category, String serviceName) throws RegistryException
{
Collection<EPR> eprs = new ArrayList<EPR>();
+ Connection connection = JAXRRegistryImpl.getConnection();
try {
Service service = findService(category, serviceName);
- Collection serviceBindings = service.getServiceBindings();
+ // Get registry service and business query manager
+ Collection<ServiceBinding> serviceBindings = findServiceBindings(service);
+ //Converting them to EPRs
for (Iterator i=serviceBindings.iterator();i.hasNext();) {
ServiceBinding serviceBinding = (ServiceBinding) i.next();
@SuppressWarnings("unused")
- String eprXML = serviceBinding.getAccessURI();
+ String eprXML = URLDecoder.decode(serviceBinding.getAccessURI(),"UTF-8");
//TODO use the XML to generate the EPR
- EPR epr = new EPR();
+ EPR epr = EPRHelper.fromXMLString(eprXML);
eprs.add(epr);
}
- } catch (JAXRException je) {
+ } catch (Exception je) {
throw new RegistryException(je.getLocalizedMessage(), je);
+ } finally {
+ closeConnection(connection);
}
return eprs;
}
@@ -567,6 +586,33 @@
}
return jbossESBOrganization;
}
+ /**
+ * Find the ServiceBindings for a given Service
+ * @param service
+ * @return
+ * @throws RegistryException
+ */
+ @SuppressWarnings("unchecked")
+ private Collection<ServiceBinding> findServiceBindings(Service service) throws RegistryException
+ {
+ Collection<ServiceBinding> serviceBindings = new ArrayList<ServiceBinding>();
+ Connection connection = JAXRRegistryImpl.getConnection();
+ try {
+ RegistryService rs = connection.getRegistryService();
+ BusinessQueryManager bqm = rs.getBusinessQueryManager();
+ Collection<String> findQualifiers = new ArrayList<String>();
+ findQualifiers.add(FindQualifier.SORT_BY_NAME_ASC);
+ BulkResponse bulkResponse = bqm.findServiceBindings(service.getKey(),findQualifiers,null,null);
+ if (bulkResponse.getStatus()==JAXRResponse.STATUS_SUCCESS){
+ serviceBindings = bulkResponse.getCollection();
+ }
+ return serviceBindings;
+ } catch (Exception je) {
+ throw new RegistryException(je.getLocalizedMessage(), je);
+ } finally {
+ closeConnection(connection);
+ }
+ }
}
Modified: labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/JAXRRegistryUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/JAXRRegistryUnitTest.java 2006-10-27 16:32:30 UTC (rev 7176)
+++ labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/JAXRRegistryUnitTest.java 2006-10-27 17:57:23 UTC (rev 7177)
@@ -26,6 +26,7 @@
import java.io.File;
import java.io.InputStream;
+import java.net.URLDecoder;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.ArrayList;
@@ -51,6 +52,7 @@
import org.apache.log4j.Logger;
import org.apache.log4j.Priority;
import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.internal.soa.esb.addressing.EPRHelper;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.common.tests.HsqldbUtil;
import org.jboss.soa.esb.common.tests.TestUtil;
@@ -160,12 +162,13 @@
for (Iterator serviceBindingIter = serviceBindings.iterator();serviceBindingIter.hasNext();){
ServiceBinding serviceBinding = (ServiceBinding) serviceBindingIter.next();
logger.log(Priority.INFO, " ServiceBinding Description: " + serviceBinding.getDescription().getValue());
- logger.log(Priority.INFO, " ServiceBinding URI: " + serviceBinding.getAccessURI());
- assertEquals("<EPR_XML>",serviceBinding.getAccessURI());
+ String xml = URLDecoder.decode(serviceBinding.getAccessURI(),"UTF-8");
+ logger.log(Priority.INFO, " ServiceBinding URI: " + xml);
+ assertEquals(EPRHelper.toXMLString(new EPR()),xml);
}
}
logger.log(Priority.INFO, "-------------------------------------------------");
- } catch (JAXRException je) {
+ } catch (Exception je) {
je.printStackTrace();
assertTrue(false);
}
Modified: labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/RegistryUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/RegistryUnitTest.java 2006-10-27 16:32:30 UTC (rev 7176)
+++ labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/RegistryUnitTest.java 2006-10-27 17:57:23 UTC (rev 7177)
@@ -26,7 +26,6 @@
import java.io.File;
import java.io.InputStream;
-import java.net.URI;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Collection;
@@ -106,7 +105,7 @@
try {
Collection<EPR> eprs = registry.findEPRs(CATEGORY, SERVICE_NAME);
for (Iterator i=eprs.iterator();i.hasNext();) {
- String epr = (String) i.next();
+ EPR epr = (EPR) i.next();
logger.log(Priority.INFO, "Found epr: " + epr);
}
} catch (RegistryException re) {
@@ -114,18 +113,37 @@
assertTrue(false);
}
}
-
+ @Test
public void unregisterEPR()
{
Registry registry = RegistryFactory.getRegistry();
try {
- EPR eprToBeRemoved = new EPR(new URI("EPR_XML"));
+ EPR eprToBeRemoved = new EPR();
registry.unRegisterEPR(CATEGORY, SERVICE_NAME, eprToBeRemoved);
+// Now make sure this EPR is really gone
+ Collection<EPR> eprs = registry.findEPRs(CATEGORY, SERVICE_NAME);
+ logger.log(Priority.INFO, "Number of Bindings left should be 0, and is: " + eprs.size());
+ assertEquals(eprs.size(),0);
} catch (Exception re) {
logger.log(Priority.ERROR, re.getLocalizedMessage(), re);
assertTrue(false);
}
}
+ @Test
+ public void unregisterService()
+ {
+ Registry registry = RegistryFactory.getRegistry();
+ try {
+ registry.unRegisterService(CATEGORY, SERVICE_NAME);
+ //Make sure it's really gone
+ Collection<String> services = registry.findAllServices();
+ logger.log(Priority.INFO, "Number of Services left should be 0, and is: " + services.size());
+ assertEquals(services.size(),0);
+ } catch (Exception re) {
+ logger.log(Priority.ERROR, re.getLocalizedMessage(), re);
+ assertTrue(false);
+ }
+ }
/**
* Setup the database.
* @throws Exception
Modified: labs/jbossesb/trunk/product/lib/ext/scout-0.7rc2-embedded.jar
===================================================================
(Binary files differ)
More information about the jboss-svn-commits
mailing list