You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by tc...@apache.org on 2011/03/31 17:09:55 UTC

svn commit: r1087327 - in /juddi/trunk: juddi-core-openjpa/ juddi-core/ juddi-core/src/main/java/org/apache/juddi/api/impl/ juddi-core/src/main/java/org/apache/juddi/api/util/

Author: tcunning
Date: Thu Mar 31 15:09:54 2011
New Revision: 1087327

URL: http://svn.apache.org/viewvc?rev=1087327&view=rev
Log:
JUDDI-455
Add management beans to count the number of succesful / fault queries and
the amount of processing time.

Added:
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/CustodyTransferQuery.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/InquiryQuery.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/PublicationQuery.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/QueryStatus.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ReplicationQuery.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SecurityQuery.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SubscriptionListenerQuery.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SubscriptionQuery.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/UDDIQuery.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ValueSetCachingQuery.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ValueSetValidationQuery.java
Modified:
    juddi/trunk/juddi-core-openjpa/pom.xml
    juddi/trunk/juddi-core/pom.xml
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDICustodyTransferImpl.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISecurityImpl.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetCachingImpl.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java

Modified: juddi/trunk/juddi-core-openjpa/pom.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core-openjpa/pom.xml?rev=1087327&r1=1087326&r2=1087327&view=diff
==============================================================================
--- juddi/trunk/juddi-core-openjpa/pom.xml (original)
+++ juddi/trunk/juddi-core-openjpa/pom.xml Thu Mar 31 15:09:54 2011
@@ -51,7 +51,7 @@
 				<version>1.4.0</version>
 				<configuration>
 				<instructions>
-				<Export-Package>org.apache.juddi, org.apache.juddi.api, org.apache.juddi.api.impl, org.apache.juddi.config, org.apache.juddi.config, org.apache.juddi.cryptor, org.apache.juddi.keygen, org.apache.juddi.mapping, org.apache.juddi.model, org.apache.juddi.query, org.apache.juddi.query.util, org.apache.juddi.rmi, org.apache.juddi.subscription, org.apache.juddi.subscription.notify, org.apache.juddi.validation, org.apache.juddi.v3.auth, org.apache.juddi.v3.error</Export-Package>
+				<Export-Package>org.apache.juddi, org.apache.juddi.api, org.apache.juddi.api.impl, org.apache.juddi.api.util, org.apache.juddi.config, org.apache.juddi.config, org.apache.juddi.cryptor, org.apache.juddi.keygen, org.apache.juddi.mapping, org.apache.juddi.model, org.apache.juddi.query, org.apache.juddi.query.util, org.apache.juddi.rmi, org.apache.juddi.subscription, org.apache.juddi.subscription.notify, org.apache.juddi.validation, org.apache.juddi.v3.auth, org.apache.juddi.v3.error</Export-Package>
 				<Include-Resource>juddi_install_data=target/classes/juddi_install_data, META-INF/persistence.xml=target/classes/META-INF/persistence.xml, target/classes/messages.properties</Include-Resource>
 			
 				</instructions>

Modified: juddi/trunk/juddi-core/pom.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/pom.xml?rev=1087327&r1=1087326&r2=1087327&view=diff
==============================================================================
--- juddi/trunk/juddi-core/pom.xml (original)
+++ juddi/trunk/juddi-core/pom.xml Thu Mar 31 15:09:54 2011
@@ -51,7 +51,7 @@
 				<version>1.4.0</version>
 				<configuration>
 				<instructions>
-				<Export-Package>org.apache.juddi, org.apache.juddi.api, org.apache.juddi.api.impl, org.apache.juddi.config, org.apache.juddi.config, org.apache.juddi.cryptor, org.apache.juddi.keygen, org.apache.juddi.mapping, org.apache.juddi.model, org.apache.juddi.query, org.apache.juddi.query.util, org.apache.juddi.rmi, org.apache.juddi.subscription, org.apache.juddi.subscription.notify, org.apache.juddi.validation, org.apache.juddi.v3.auth, org.apache.juddi.v3.error</Export-Package>
+				<Export-Package>org.apache.juddi, org.apache.juddi.api, org.apache.juddi.api.impl, org.apache.juddi.api.util, org.apache.juddi.config, org.apache.juddi.config, org.apache.juddi.cryptor, org.apache.juddi.keygen, org.apache.juddi.mapping, org.apache.juddi.model, org.apache.juddi.query, org.apache.juddi.query.util, org.apache.juddi.rmi, org.apache.juddi.subscription, org.apache.juddi.subscription.notify, org.apache.juddi.validation, org.apache.juddi.v3.auth, org.apache.juddi.v3.error</Export-Package>
 				<Include-Resource>juddi_install_data=src/main/resources/juddi_install_data, src/main/resources/messages.properties</Include-Resource>
 			
 				</instructions>

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDICustodyTransferImpl.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDICustodyTransferImpl.java?rev=1087327&r1=1087326&r2=1087327&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDICustodyTransferImpl.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDICustodyTransferImpl.java Thu Mar 31 15:09:54 2011
@@ -32,6 +32,11 @@ import javax.xml.datatype.XMLGregorianCa
 import javax.xml.ws.Holder;
 
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.api.util.CustodyTransferQuery;
+import org.apache.juddi.api.util.QueryStatus;
+import org.apache.juddi.api.util.ValueSetValidationQuery;
 import org.apache.juddi.config.AppConfig;
 import org.apache.juddi.config.PersistenceManager;
 import org.apache.juddi.config.Property;
@@ -58,10 +63,20 @@ public class UDDICustodyTransferImpl ext
 
 	public static final String TRANSFER_TOKEN_PREFIX = "transfertoken:";
 	public static final int DEFAULT_TRANSFEREXPIRATION_DAYS = 3;
+	
+        private static Log logger = LogFactory.getLog(UDDICustodyTransferImpl.class);
+    
+	private UDDIServiceCounter serviceCounter;
+
+	public UDDICustodyTransferImpl() {
+	    super();
+	    serviceCounter = ServiceCounterLifecycleResource.getServiceCounter(this.getClass());
+	}
 
 	@SuppressWarnings("unchecked")
 	public void discardTransferToken(DiscardTransferToken body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -107,6 +122,10 @@ public class UDDICustodyTransferImpl ext
 			}
 	
 			tx.commit();
+	                long procTime = System.nanoTime() - startTime;
+	                serviceCounter.update(CustodyTransferQuery.DISCARD_TRANSFERTOKEN, 
+	                        QueryStatus.SUCCESS, procTime);
+
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -118,6 +137,7 @@ public class UDDICustodyTransferImpl ext
 	public void getTransferToken(String authInfo, KeyBag keyBag,
 			Holder<String> nodeID, Holder<XMLGregorianCalendar> expirationTime,
 			Holder<byte[]> opaqueToken) throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -165,6 +185,11 @@ public class UDDICustodyTransferImpl ext
 			em.persist(transferToken);
 			
 			tx.commit();
+			
+	                long procTime = System.nanoTime() - startTime;
+	                serviceCounter.update(CustodyTransferQuery.GET_TRANSFERTOKEN, 
+	                        QueryStatus.SUCCESS, procTime);
+
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -175,6 +200,7 @@ public class UDDICustodyTransferImpl ext
 
 	public void transferEntities(TransferEntities body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -213,6 +239,10 @@ public class UDDICustodyTransferImpl ext
 			em.remove(modelTransferToken);
 			
 			tx.commit();
+			long procTime = System.nanoTime() - startTime;
+	                serviceCounter.update(CustodyTransferQuery.TRANSFER_ENTITIES, 
+	                        QueryStatus.SUCCESS, procTime);
+
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java?rev=1087327&r1=1087326&r2=1087327&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java Thu Mar 31 15:09:54 2011
@@ -26,6 +26,9 @@ import javax.persistence.EntityTransacti
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.api.util.InquiryQuery;
+import org.apache.juddi.api.util.PublicationQuery;
+import org.apache.juddi.api.util.QueryStatus;
 import org.apache.juddi.config.AppConfig;
 import org.apache.juddi.config.PersistenceManager;
 import org.apache.juddi.config.Property;
@@ -59,18 +62,30 @@ import org.uddi.v3_service.UDDIInquiryPo
 /**
  * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
  */
-@WebService(serviceName="UDDIInquiryService",
+@WebService(serviceName="UDDIInquiryService",   
 			endpointInterface="org.uddi.v3_service.UDDIInquiryPortType",
 			targetNamespace = "urn:uddi-org:v3_service")
 public class UDDIInquiryImpl extends AuthenticatedService implements UDDIInquiryPortType {
 
-	private static Log log = LogFactory.getLog(UDDIInquiryImpl.class);
 
+    private static Log log = LogFactory.getLog(UDDIInquiryImpl.class);
+    private UDDIServiceCounter serviceCounter;
+        
+    public UDDIInquiryImpl() {
+        super();
+        serviceCounter = ServiceCounterLifecycleResource.getServiceCounter(this.getClass());
+    }
 	
     public BindingDetail findBinding(FindBinding body)
 			throws DispositionReportFaultMessage {
-
-		new ValidateInquiry(null).validateFindBinding(body);
+                long startTime = System.nanoTime();
+                try {
+                    new ValidateInquiry(null).validateFindBinding(body);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(InquiryQuery.FIND_BINDING, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
+                }
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -98,6 +113,8 @@ public class UDDIInquiryImpl extends Aut
 			}
 			BindingDetail result = InquiryHelper.getBindingDetailFromKeys(body, findQualifiers, em, keysFound);
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(InquiryQuery.FIND_BINDING, QueryStatus.SUCCESS, procTime);                      
 
 			return result;
 		} finally {
@@ -111,8 +128,14 @@ public class UDDIInquiryImpl extends Aut
 	
     public BusinessList findBusiness(FindBusiness body)
 			throws DispositionReportFaultMessage {
-
-		new ValidateInquiry(null).validateFindBusiness(body);
+                long startTime = System.nanoTime();
+                try {
+                    new ValidateInquiry(null).validateFindBusiness(body);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(InquiryQuery.FIND_BUSINESS, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
+                }
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -130,6 +153,9 @@ public class UDDIInquiryImpl extends Aut
 			BusinessList result = InquiryHelper.getBusinessListFromKeys(body, findQualifiers, em, keysFound);
 
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(InquiryQuery.FIND_BUSINESS, QueryStatus.SUCCESS, procTime);                      
+
 			return result;
 		} finally {
 			if (tx.isActive()) {
@@ -142,8 +168,14 @@ public class UDDIInquiryImpl extends Aut
 	
     public RelatedBusinessesList findRelatedBusinesses(FindRelatedBusinesses body)
 			throws DispositionReportFaultMessage {
-
-		new ValidateInquiry(null).validateFindRelatedBusinesses(body, false);
+                long startTime = System.nanoTime();
+                try {
+                    new ValidateInquiry(null).validateFindRelatedBusinesses(body, false);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(InquiryQuery.FIND_RELATEDBUSINESSES, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
+                }
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -161,6 +193,9 @@ public class UDDIInquiryImpl extends Aut
 			RelatedBusinessesList result = InquiryHelper.getRelatedBusinessesList(body, em);
 
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(InquiryQuery.FIND_RELATEDBUSINESSES, QueryStatus.SUCCESS, procTime);                      
+
 			return result;
 		} finally {
 			if (tx.isActive()) {
@@ -173,8 +208,14 @@ public class UDDIInquiryImpl extends Aut
 	
     public ServiceList findService(FindService body)
 			throws DispositionReportFaultMessage {
-
-		new ValidateInquiry(null).validateFindService(body);
+                long startTime = System.nanoTime();
+                try {
+                    new ValidateInquiry(null).validateFindService(body);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(InquiryQuery.FIND_SERVICE, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
+                }
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -204,6 +245,9 @@ public class UDDIInquiryImpl extends Aut
 			ServiceList result = InquiryHelper.getServiceListFromKeys(body, findQualifiers, em, keysFound);
 
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(InquiryQuery.FIND_SERVICE, QueryStatus.SUCCESS, procTime);                      
+
 			return result;
 		} finally {
 			if (tx.isActive()) {
@@ -216,9 +260,15 @@ public class UDDIInquiryImpl extends Aut
 	
     public TModelList findTModel(FindTModel body)
 			throws DispositionReportFaultMessage {
-
-		new ValidateInquiry(null).validateFindTModel(body, false);
-
+                long startTime = System.nanoTime();
+                try {
+                    new ValidateInquiry(null).validateFindTModel(body, false);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(InquiryQuery.FIND_TMODEL, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
+                }
+                    
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
 		try {
@@ -235,6 +285,9 @@ public class UDDIInquiryImpl extends Aut
 			TModelList result = InquiryHelper.getTModelListFromKeys(body, findQualifiers, em, keysFound);
 
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(InquiryQuery.FIND_TMODEL, QueryStatus.SUCCESS, procTime);                      
+
 			return result;
 		} finally {
 			if (tx.isActive()) {
@@ -247,8 +300,14 @@ public class UDDIInquiryImpl extends Aut
 	
     public BindingDetail getBindingDetail(GetBindingDetail body)
 			throws DispositionReportFaultMessage {
-
-		new ValidateInquiry(null).validateGetBindingDetail(body);
+                long startTime = System.nanoTime();
+                try {
+                    new ValidateInquiry(null).validateGetBindingDetail(body);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(InquiryQuery.FIND_TMODEL, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
+                }
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -275,6 +334,9 @@ public class UDDIInquiryImpl extends Aut
 			}
 
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(InquiryQuery.GET_BINDINGDETAIL, QueryStatus.SUCCESS, procTime);                      
+
 			return result;
 		} finally {
 			if (tx.isActive()) {
@@ -287,8 +349,14 @@ public class UDDIInquiryImpl extends Aut
 	
     public BusinessDetail getBusinessDetail(GetBusinessDetail body)
 			throws DispositionReportFaultMessage {
-
-		new ValidateInquiry(null).validateGetBusinessDetail(body);
+                long startTime = System.nanoTime();
+                try {
+                    new ValidateInquiry(null).validateGetBusinessDetail(body);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(InquiryQuery.GET_BUSINESSDETAIL, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
+                }
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -315,6 +383,9 @@ public class UDDIInquiryImpl extends Aut
 			}
 
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(InquiryQuery.GET_BUSINESSDETAIL, QueryStatus.SUCCESS, procTime);                      
+
 			return result;
 		} finally {
 			if (tx.isActive()) {
@@ -327,8 +398,14 @@ public class UDDIInquiryImpl extends Aut
 	
     public OperationalInfos getOperationalInfo(GetOperationalInfo body)
 			throws DispositionReportFaultMessage {
-
-		new ValidateInquiry(null).validateGetOperationalInfo(body);
+                long startTime = System.nanoTime();
+                try {
+                    new ValidateInquiry(null).validateGetOperationalInfo(body);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(InquiryQuery.GET_OPERATIONALINFO, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
+                }
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -355,6 +432,9 @@ public class UDDIInquiryImpl extends Aut
 			}
 
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(InquiryQuery.GET_OPERATIONALINFO, QueryStatus.SUCCESS, procTime);                      
+
 			return result;
 		} finally {
 			if (tx.isActive()) {
@@ -367,8 +447,14 @@ public class UDDIInquiryImpl extends Aut
 	
     public ServiceDetail getServiceDetail(GetServiceDetail body)
 			throws DispositionReportFaultMessage {
-
-		new ValidateInquiry(null).validateGetServiceDetail(body);
+                long startTime = System.nanoTime();
+                try {
+                    new ValidateInquiry(null).validateGetServiceDetail(body);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(InquiryQuery.GET_SERVICEDETAIL, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
+                }
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -395,6 +481,9 @@ public class UDDIInquiryImpl extends Aut
 			}
 
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(InquiryQuery.GET_SERVICEDETAIL, QueryStatus.SUCCESS, procTime);                      
+
 			return result;
 
 		} finally {
@@ -408,9 +497,15 @@ public class UDDIInquiryImpl extends Aut
 	
     public TModelDetail getTModelDetail(GetTModelDetail body)
 			throws DispositionReportFaultMessage {
-
-		new ValidateInquiry(null).validateGetTModelDetail(body);
-
+                long startTime = System.nanoTime();
+                try {
+                    new ValidateInquiry(null).validateGetTModelDetail(body);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(InquiryQuery.GET_TMODELDETAIL, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
+                }
+                    
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
 		try {
@@ -437,6 +532,9 @@ public class UDDIInquiryImpl extends Aut
 			}
 
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(InquiryQuery.GET_TMODELDETAIL, QueryStatus.SUCCESS, procTime);                      
+
 			return result;
 		} finally {
 			if (tx.isActive()) {

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java?rev=1087327&r1=1087326&r2=1087327&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java Thu Mar 31 15:09:54 2011
@@ -51,6 +51,8 @@ import org.uddi.v3_service.DispositionRe
 import org.uddi.v3_service.UDDIPublicationPortType;
 
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.juddi.mapping.MappingApiToModel;
 import org.apache.juddi.mapping.MappingModelToApi;
 import org.apache.juddi.v3.error.ErrorMessage;
@@ -66,6 +68,9 @@ import org.apache.juddi.query.FindPublis
 import org.apache.juddi.query.DeletePublisherAssertionByBusinessQuery;
 import org.apache.juddi.query.TModelQuery;
 import org.apache.juddi.model.UddiEntityPublisher;
+import org.apache.juddi.api.util.InquiryQuery;
+import org.apache.juddi.api.util.PublicationQuery;
+import org.apache.juddi.api.util.QueryStatus;
 import org.apache.juddi.config.AppConfig;
 import org.apache.juddi.config.PersistenceManager;
 import org.apache.juddi.config.Property;
@@ -80,9 +85,17 @@ import org.apache.juddi.query.util.FindQ
 			targetNamespace = "urn:uddi-org:v3_service")
 public class UDDIPublicationImpl extends AuthenticatedService implements UDDIPublicationPortType {
 
+        private static Log log = LogFactory.getLog(UDDIInquiryImpl.class);
+        private UDDIServiceCounter serviceCounter;
+    
+        public UDDIPublicationImpl() {
+            super();
+            serviceCounter = ServiceCounterLifecycleResource.getServiceCounter(this.getClass());
+        }
 	
 	public DispositionReport addPublisherAssertions(AddPublisherAssertions body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -142,7 +155,14 @@ public class UDDIPublicationImpl extends
 			}
 	
 			tx.commit();
-		} finally {
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.ADD_PUBLISHERASSERTIONS, 
+                                QueryStatus.SUCCESS, procTime);			
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.ADD_PUBLISHERASSERTIONS, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
+                } finally {
 			if (tx.isActive()) {
 				tx.rollback();
 			}
@@ -153,6 +173,7 @@ public class UDDIPublicationImpl extends
 
 	public DispositionReport deleteBinding(DeleteBinding body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -175,6 +196,13 @@ public class UDDIPublicationImpl extends
 			}
 	
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.DELETE_BINDING, 
+                                QueryStatus.SUCCESS, procTime);                      
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.DELETE_BINDING, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -186,6 +214,7 @@ public class UDDIPublicationImpl extends
 
 	public DispositionReport deleteBusiness(DeleteBusiness body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -203,6 +232,12 @@ public class UDDIPublicationImpl extends
 			}
 	
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.DELETE_BUSINESS, QueryStatus.SUCCESS, procTime);               
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.DELETE_BUSINESS, QueryStatus.FAILED, procTime);                      
+                    throw drfm;
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -214,6 +249,7 @@ public class UDDIPublicationImpl extends
 
 	public DispositionReport deletePublisherAssertions(DeletePublisherAssertions body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -232,6 +268,13 @@ public class UDDIPublicationImpl extends
 			}
 	
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.DELETE_PUBLISHERASSERTIONS, 
+                                QueryStatus.SUCCESS, procTime);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.DELETE_PUBLISHERASSERTIONS, QueryStatus.FAILED, procTime);                      
+                    throw drfm;                        
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -243,6 +286,7 @@ public class UDDIPublicationImpl extends
 
 	public DispositionReport deleteService(DeleteService body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -263,6 +307,13 @@ public class UDDIPublicationImpl extends
 			}
 	
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.DELETE_SERVICE, 
+                                QueryStatus.SUCCESS, procTime);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.DELETE_SERVICE, QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                               
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -275,6 +326,7 @@ public class UDDIPublicationImpl extends
 
 	public DispositionReport deleteTModel(DeleteTModel body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -294,6 +346,12 @@ public class UDDIPublicationImpl extends
 			}
 			
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.DELETE_TMODEL, QueryStatus.SUCCESS, procTime);                      
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.DELETE_TMODEL, QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                               
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -307,6 +365,7 @@ public class UDDIPublicationImpl extends
 	public List<AssertionStatusItem> getAssertionStatusReport(String authInfo,
 			CompletionStatus completionStatus)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -318,7 +377,15 @@ public class UDDIPublicationImpl extends
 			List<org.uddi.api_v3.AssertionStatusItem> result = PublicationHelper.getAssertionStatusItemList(publisher, completionStatus, em);
 	
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.GET_ASSERTIONSTATUSREPORT, 
+                                QueryStatus.SUCCESS, procTime);                      
+
 			return result;
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.GET_ASSERTIONSTATUSREPORT, QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                               
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -329,6 +396,7 @@ public class UDDIPublicationImpl extends
 
 	public List<PublisherAssertion> getPublisherAssertions(String authInfo)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -352,7 +420,15 @@ public class UDDIPublicationImpl extends
 			}
 			
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.GET_PUBLISHERASSERTIONS, 
+                                QueryStatus.SUCCESS, procTime);                      
 			return result;
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.GET_PUBLISHERASSERTIONS, 
+                            QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                               			
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -364,6 +440,7 @@ public class UDDIPublicationImpl extends
 
 	public RegisteredInfo getRegisteredInfo(GetRegisteredInfo body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -416,7 +493,16 @@ public class UDDIPublicationImpl extends
 			}
 			
 			tx.commit();	
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.GET_REGISTEREDINFO, 
+                                QueryStatus.SUCCESS, procTime);                      
+
 			return result;
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.GET_REGISTEREDINFO, 
+                            QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                                                 
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -428,6 +514,7 @@ public class UDDIPublicationImpl extends
 
 	public BindingDetail saveBinding(SaveBinding body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -457,9 +544,16 @@ public class UDDIPublicationImpl extends
 			}
 	
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.SAVE_BINDING, 
+                                QueryStatus.SUCCESS, procTime);                      
+
 			return result;
-		} catch (RegistryException e) {
-			throw e;
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.SAVE_BINDING, 
+                            QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                                                 
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -471,6 +565,7 @@ public class UDDIPublicationImpl extends
 
 	public BusinessDetail saveBusiness(SaveBusiness body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -498,7 +593,16 @@ public class UDDIPublicationImpl extends
 			}
 	
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.SAVE_BUSINESS, 
+                                QueryStatus.SUCCESS, procTime);                      
+
 			return result;
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.SAVE_BUSINESS, 
+                            QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                                                 	
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -510,6 +614,7 @@ public class UDDIPublicationImpl extends
 
 	public ServiceDetail saveService(SaveService body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -539,7 +644,16 @@ public class UDDIPublicationImpl extends
 			}
 	
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.SAVE_SERVICE, 
+                                QueryStatus.SUCCESS, procTime);                      
+
 			return result;
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.SAVE_SERVICE, 
+                            QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                                                         			
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -551,6 +665,7 @@ public class UDDIPublicationImpl extends
 
 	public TModelDetail saveTModel(SaveTModel body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -579,7 +694,16 @@ public class UDDIPublicationImpl extends
 			}
 	
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.SAVE_TMODEL, 
+                                QueryStatus.SUCCESS, procTime);                      
+
 			return result;
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.SAVE_TMODEL, 
+                            QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                                                                                 
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -592,6 +716,7 @@ public class UDDIPublicationImpl extends
 	public void setPublisherAssertions(String authInfo,
 			Holder<List<PublisherAssertion>> publisherAssertion)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -634,6 +759,14 @@ public class UDDIPublicationImpl extends
 			}
 	
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(PublicationQuery.SET_PUBLISHERASSERTIONS, 
+                                QueryStatus.SUCCESS, procTime);                      
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(PublicationQuery.SET_PUBLISHERASSERTIONS, 
+                            QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                                                                                 
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java?rev=1087327&r1=1087326&r2=1087327&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java Thu Mar 31 15:09:54 2011
@@ -22,6 +22,10 @@ import java.util.List;
 
 import javax.jws.WebService;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.api.util.QueryStatus;
+import org.apache.juddi.api.util.ReplicationQuery;
 import org.apache.juddi.validation.ValidateReplication;
 import org.uddi.repl_v3.ChangeRecord;
 import org.uddi.repl_v3.ChangeRecordIDType;
@@ -36,9 +40,20 @@ import org.uddi.v3_service.UDDIReplicati
 			endpointInterface="org.uddi.v3_service.UDDIReplicationPortType",
 			targetNamespace = "urn:uddi-org:v3_service")
 public class UDDIReplicationImpl extends AuthenticatedService implements UDDIReplicationPortType {
+        private static Log log = LogFactory.getLog(UDDIReplicationImpl.class);
+        private UDDIServiceCounter serviceCounter;
+
+        public UDDIReplicationImpl() {
+            super();
+            serviceCounter = ServiceCounterLifecycleResource.getServiceCounter(this.getClass());
+        }
 
 
 	public String doPing(DoPing body) throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
+                long procTime = System.nanoTime() - startTime;
+                serviceCounter.update(ReplicationQuery.DO_PING, QueryStatus.SUCCESS, procTime);
+
 		ValidateReplication.unsupportedAPICall();
 		return null;
 	}
@@ -49,6 +64,11 @@ public class UDDIReplicationImpl extends
 			BigInteger responseLimitCount,
 			HighWaterMarkVectorType responseLimitVector)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
+                long procTime = System.nanoTime() - startTime;
+                serviceCounter.update(ReplicationQuery.GET_CHANGERECORDS, 
+                        QueryStatus.SUCCESS, procTime);
+
 		ValidateReplication.unsupportedAPICall();
 		return null;
 	}
@@ -56,6 +76,10 @@ public class UDDIReplicationImpl extends
 
 	public List<ChangeRecordIDType> getHighWaterMarks()
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
+                long procTime = System.nanoTime() - startTime;
+                serviceCounter.update(ReplicationQuery.GET_HIGHWATERMARKS, QueryStatus.SUCCESS, procTime);
+
 		ValidateReplication.unsupportedAPICall();
 		return null;
 	}
@@ -63,12 +87,22 @@ public class UDDIReplicationImpl extends
 
 	public void notifyChangeRecordsAvailable(NotifyChangeRecordsAvailable body)
 			throws DispositionReportFaultMessage {
-		ValidateReplication.unsupportedAPICall();
+            long startTime = System.nanoTime();
+            long procTime = System.nanoTime() - startTime;
+            serviceCounter.update(ReplicationQuery.NOTIFY_CHANGERECORDSAVAILABLE, 
+                    QueryStatus.SUCCESS, procTime);
+
+	    ValidateReplication.unsupportedAPICall();
 	}
 
 
 	public void transferCustody(TransferCustody body)
 			throws DispositionReportFaultMessage {
-		ValidateReplication.unsupportedAPICall();
+	    long startTime = System.nanoTime();
+            long procTime = System.nanoTime() - startTime;
+            serviceCounter.update(ReplicationQuery.TRANSFER_CUSTODY, 
+                    QueryStatus.SUCCESS, procTime);
+
+	    ValidateReplication.unsupportedAPICall();
 	}
 }

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISecurityImpl.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISecurityImpl.java?rev=1087327&r1=1087326&r2=1087327&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISecurityImpl.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISecurityImpl.java Thu Mar 31 15:09:54 2011
@@ -30,6 +30,10 @@ import org.uddi.api_v3.GetAuthToken;
 import org.uddi.v3_service.DispositionReportFaultMessage;
 import org.uddi.v3_service.UDDISecurityPortType;
 
+import org.apache.juddi.api.util.PublicationQuery;
+import org.apache.juddi.api.util.QueryStatus;
+import org.apache.juddi.api.util.ReplicationQuery;
+import org.apache.juddi.api.util.SecurityQuery;
 import org.apache.juddi.config.PersistenceManager;
 import org.apache.juddi.mapping.MappingModelToApi;
 import org.apache.juddi.v3.auth.Authenticator;
@@ -46,10 +50,17 @@ import org.apache.juddi.v3.error.Unknown
 public class UDDISecurityImpl extends AuthenticatedService implements UDDISecurityPortType {
 
 	public static final String AUTH_TOKEN_PREFIX = "authtoken:";
+        private UDDIServiceCounter serviceCounter;
 
+        public UDDISecurityImpl() {
+            super();
+            serviceCounter = ServiceCounterLifecycleResource.getServiceCounter(this.getClass());
+        }
+	
 	public void discardAuthToken(DiscardAuthToken body)
 			throws DispositionReportFaultMessage {
-
+	        long startTime = System.nanoTime();
+	    
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
 		try {
@@ -65,6 +76,14 @@ public class UDDISecurityImpl extends Au
 			}
 	
 			tx.commit();
+                        long procTime = System.nanoTime() - startTime;
+                        serviceCounter.update(SecurityQuery.DISCARD_AUTHTOKEN, 
+                                QueryStatus.SUCCESS, procTime);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(SecurityQuery.DISCARD_AUTHTOKEN, 
+                            QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                                                                                 
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -76,16 +95,16 @@ public class UDDISecurityImpl extends Au
 
 	public AuthToken getAuthToken(GetAuthToken body)
 			throws DispositionReportFaultMessage {
-
 		Authenticator authenticator = AuthenticatorFactory.getAuthenticator();
 		
 		String publisherId = authenticator.authenticate(body.getUserID(), body.getCred());
-		
+
 		return getAuthToken(publisherId);
 	}
 	
 	public AuthToken getAuthToken(String publisherId)
 	throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		if (publisherId == null || publisherId.length() == 0)
 			throw new UnknownUserException(new ErrorMessage("errors.auth.InvalidCredentials", publisherId));
@@ -115,7 +134,16 @@ public class UDDISecurityImpl extends Au
 			MappingModelToApi.mapAuthToken(modelAuthToken, apiAuthToken);
 
 			tx.commit();
+	                long procTime = System.nanoTime() - startTime;
+	                serviceCounter.update(SecurityQuery.GET_AUTHTOKEN, 
+	                        QueryStatus.SUCCESS, procTime);
+
 			return apiAuthToken;
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(SecurityQuery.GET_AUTHTOKEN, 
+                            QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                                                                                 
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java?rev=1087327&r1=1087326&r2=1087327&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java Thu Mar 31 15:09:54 2011
@@ -62,6 +62,9 @@ import org.uddi.v3_service.UDDISubscript
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.api.util.QueryStatus;
+import org.apache.juddi.api.util.SecurityQuery;
+import org.apache.juddi.api.util.SubscriptionQuery;
 import org.apache.juddi.config.AppConfig;
 import org.apache.juddi.config.PersistenceManager;
 import org.apache.juddi.config.Property;
@@ -89,8 +92,17 @@ public class UDDISubscriptionImpl extend
 
 	public static final String CHUNK_TOKEN_PREFIX = "chunktoken:";
 
+        private UDDIServiceCounter serviceCounter;
+
+        public UDDISubscriptionImpl() {
+            super();
+            serviceCounter = ServiceCounterLifecycleResource.getServiceCounter(this.getClass());
+        }
+	
 	public void deleteSubscription(DeleteSubscription body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
+
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
 		try {
@@ -106,6 +118,14 @@ public class UDDISubscriptionImpl extend
 	        }
 	
 	        tx.commit();
+                long procTime = System.nanoTime() - startTime;
+                serviceCounter.update(SubscriptionQuery.DELETE_SUBSCRIPTION, 
+                        QueryStatus.SUCCESS, procTime);
+                } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(SubscriptionQuery.DELETE_SUBSCRIPTION, 
+                            QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                                                                                 
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -130,10 +150,11 @@ public class UDDISubscriptionImpl extend
 	 */
 	@SuppressWarnings("unchecked")
 	public SubscriptionResultsList getSubscriptionResults(GetSubscriptionResults body, UddiEntityPublisher publisher) throws DispositionReportFaultMessage {
-
+                long startTime = System.nanoTime();
+            
 		EntityManager em = PersistenceManager.getEntityManager();
-        EntityTransaction tx = em.getTransaction();
-        try {
+		EntityTransaction tx = em.getTransaction();
+                try {
 	        tx.begin();
 	        
 			if (publisher==null) {
@@ -735,7 +756,16 @@ public class UDDISubscriptionImpl extend
 			}
 			
 	        tx.commit();
+                long procTime = System.nanoTime() - startTime;
+                serviceCounter.update(SubscriptionQuery.GET_SUBSCRIPTIONRESULTS, 
+                        QueryStatus.SUCCESS, procTime);
+
 	        return result;
+        } catch (DispositionReportFaultMessage drfm) {
+            long procTime = System.nanoTime() - startTime;
+            serviceCounter.update(SubscriptionQuery.GET_SUBSCRIPTIONRESULTS, 
+                    QueryStatus.FAILED, procTime);                      
+            throw drfm;                                                                                                 
         } finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -747,10 +777,11 @@ public class UDDISubscriptionImpl extend
 	@SuppressWarnings("unchecked")
 	public List<Subscription> getSubscriptions(String authInfo)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 		EntityManager em = PersistenceManager.getEntityManager();
-        EntityTransaction tx = em.getTransaction();
-        try {
-	        tx.begin();
+		EntityTransaction tx = em.getTransaction();
+                try {
+                        tx.begin();
 	
 			UddiEntityPublisher publisher = this.getEntityPublisher(em, authInfo);
 			
@@ -769,7 +800,16 @@ public class UDDISubscriptionImpl extend
 			}
 	        
 	        tx.commit();
-			return result;
+                long procTime = System.nanoTime() - startTime;
+                serviceCounter.update(SubscriptionQuery.GET_SUBSCRIPTIONS, 
+                        QueryStatus.SUCCESS, procTime);
+
+		return result;
+        } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(SubscriptionQuery.GET_SUBSCRIPTIONS, 
+                            QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                                                                                 		
         } finally {
 			if (tx.isActive()) {
 				tx.rollback();
@@ -789,6 +829,7 @@ public class UDDISubscriptionImpl extend
 	public void saveSubscription(String authInfo,
 			Holder<List<Subscription>> subscription)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();
@@ -834,6 +875,14 @@ public class UDDISubscriptionImpl extend
 			}
 	
 			tx.commit();
+	                long procTime = System.nanoTime() - startTime;
+	                serviceCounter.update(SubscriptionQuery.SAVE_SUBSCRIPTION, 
+	                        QueryStatus.SUCCESS, procTime);
+	        } catch (DispositionReportFaultMessage drfm) {
+                    long procTime = System.nanoTime() - startTime;
+                    serviceCounter.update(SubscriptionQuery.SAVE_SUBSCRIPTION, 
+                            QueryStatus.FAILED, procTime);                      
+                    throw drfm;                                                                                                                 
 		} finally {
 			if (tx.isActive()) {
 				tx.rollback();

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetCachingImpl.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetCachingImpl.java?rev=1087327&r1=1087326&r2=1087327&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetCachingImpl.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetCachingImpl.java Thu Mar 31 15:09:54 2011
@@ -22,6 +22,11 @@ import java.util.List;
 import javax.jws.WebService;
 import javax.xml.ws.Holder;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.api.util.QueryStatus;
+import org.apache.juddi.api.util.SubscriptionQuery;
+import org.apache.juddi.api.util.ValueSetCachingQuery;
 import org.apache.juddi.validation.ValidateValueSetCaching;
 import org.uddi.v3_service.DispositionReportFaultMessage;
 import org.uddi.v3_service.UDDIValueSetCachingPortType;
@@ -31,9 +36,24 @@ import org.uddi.vscache_v3.ValidValue;
 			endpointInterface="org.uddi.v3_service.UDDIValueSetCachingPortType",
 			targetNamespace = "urn:uddi-org:v3_service")
 public class UDDIValueSetCachingImpl extends AuthenticatedService implements UDDIValueSetCachingPortType {
-	public void getAllValidValues(String authInfo, String modelKey,
+
+    private static Log logger = LogFactory.getLog(UDDIValueSetCachingImpl.class);
+
+    private UDDIServiceCounter serviceCounter;
+
+    public UDDIValueSetCachingImpl() {
+        super();
+        serviceCounter = ServiceCounterLifecycleResource.getServiceCounter(this.getClass());
+    }
+    
+    public void getAllValidValues(String authInfo, String modelKey,
 			Holder<String> chunkToken, Holder<List<ValidValue>> validValue)
 			throws DispositionReportFaultMessage {
-		ValidateValueSetCaching.unsupportedAPICall();
-	}
+            long startTime = System.nanoTime();
+            long procTime = System.nanoTime() - startTime;
+            serviceCounter.update(ValueSetCachingQuery.GET_ALLVALIDVALUES, 
+                    QueryStatus.SUCCESS, procTime);
+
+            ValidateValueSetCaching.unsupportedAPICall();
+    }
 }

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java?rev=1087327&r1=1087326&r2=1087327&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java Thu Mar 31 15:09:54 2011
@@ -19,6 +19,11 @@ package org.apache.juddi.api.impl;
 
 import javax.jws.WebService;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.api.util.QueryStatus;
+import org.apache.juddi.api.util.ValueSetCachingQuery;
+import org.apache.juddi.api.util.ValueSetValidationQuery;
 import org.apache.juddi.validation.ValidateValueSetValidation;
 import org.uddi.api_v3.DispositionReport;
 import org.uddi.v3_service.DispositionReportFaultMessage;
@@ -30,8 +35,22 @@ import org.uddi.vs_v3.ValidateValues;
 			targetNamespace = "urn:uddi-org:v3_service")
 public class UDDIValueSetValidationImpl extends AuthenticatedService implements
 		UDDIValueSetValidationPortType {
+        private static Log logger = LogFactory.getLog(UDDIValueSetValidationImpl.class);
+
+        private UDDIServiceCounter serviceCounter;
+
+        public UDDIValueSetValidationImpl() {
+            super();
+            serviceCounter = ServiceCounterLifecycleResource.getServiceCounter(this.getClass());
+        }
+    
 	public DispositionReport validateValues(ValidateValues body)
 			throws DispositionReportFaultMessage {
+	        long startTime = System.nanoTime();
+                long procTime = System.nanoTime() - startTime;
+                serviceCounter.update(ValueSetValidationQuery.VALIDATE_VALUES, 
+                        QueryStatus.SUCCESS, procTime);
+
 		ValidateValueSetValidation.unsupportedAPICall();
 		return null;
 	}

Added: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/CustodyTransferQuery.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/CustodyTransferQuery.java?rev=1087327&view=auto
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/CustodyTransferQuery.java (added)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/CustodyTransferQuery.java Thu Mar 31 15:09:54 2011
@@ -0,0 +1,57 @@
+package org.apache.juddi.api.util;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * Enum to represent the queries within the Custody Transfer API.
+ * 
+ * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
+ */
+public enum CustodyTransferQuery implements UDDIQuery {
+    DISCARD_TRANSFERTOKEN("discard_transferToken"),
+    GET_TRANSFERTOKEN("get_transferToken"),
+    TRANSFER_ENTITIES("transfer_entities");
+    
+    private String _query;
+    private static Hashtable<String, CustodyTransferQuery> _custodyTransferQueries = null;
+    
+    CustodyTransferQuery(final String query) {
+        _query = query;
+    }
+    
+    public String getQuery() {
+        return _query;
+    }
+    
+    public synchronized static void initCustodyTransferQueries () {
+        if (_custodyTransferQueries == null) {
+                _custodyTransferQueries = new Hashtable();
+                _custodyTransferQueries.put("discard_transferToken", CustodyTransferQuery.DISCARD_TRANSFERTOKEN);
+                _custodyTransferQueries.put("get_transferToken", CustodyTransferQuery.GET_TRANSFERTOKEN);
+                _custodyTransferQueries.put("transfer_entities", CustodyTransferQuery.TRANSFER_ENTITIES);
+        }
+    }
+    
+    public static List<String> getQueries() {
+        if (_custodyTransferQueries == null) {
+            initCustodyTransferQueries();
+        }
+        
+        List list = new ArrayList<String>(_custodyTransferQueries.keySet());
+        return list;
+    }
+
+    public static CustodyTransferQuery fromQuery(final String query) {
+        if (_custodyTransferQueries == null) {
+            initCustodyTransferQueries();
+        }
+        
+        if (_custodyTransferQueries.contains(query)) {
+            return _custodyTransferQueries.get(query);
+        } else {
+            throw new IllegalArgumentException("Unrecognized query " + query);
+        }
+    }
+}

Added: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/InquiryQuery.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/InquiryQuery.java?rev=1087327&view=auto
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/InquiryQuery.java (added)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/InquiryQuery.java Thu Mar 31 15:09:54 2011
@@ -0,0 +1,71 @@
+package org.apache.juddi.api.util;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * Enum to represent the queries within the Inquiry API.
+ * 
+ * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
+ */
+public enum InquiryQuery implements UDDIQuery {
+    FIND_BUSINESS ("find_business"),
+    FIND_SERVICE ("find_service"),
+    FIND_BINDING ("find_binding"), 
+    FIND_TMODEL ("find_tModel"),
+    FIND_RELATEDBUSINESSES ("find_relatedBusinesses"),
+    GET_BUSINESSDETAIL ("get_businessDetail"),
+    GET_SERVICEDETAIL ("get_serviceDetail"),
+    GET_BINDINGDETAIL ("get_bindingDetail"),
+    GET_TMODELDETAIL ("get_tModelDetail"),
+    GET_OPERATIONALINFO ("get_operationalInfo");
+    
+    private String _query;
+    private static Hashtable<String,InquiryQuery> _inquiryQueries = null;
+    
+    InquiryQuery(final String query) {
+        _query = query;
+    }
+    
+    public String getQuery() {
+        return _query;
+    }
+    
+    public synchronized static void initInquiryQueries () {
+        if (_inquiryQueries == null) {
+            _inquiryQueries = new Hashtable();        
+            _inquiryQueries.put("find_business", InquiryQuery.FIND_BUSINESS);
+            _inquiryQueries.put("find_service", InquiryQuery.FIND_SERVICE);
+            _inquiryQueries.put("find_binding", InquiryQuery.FIND_BINDING);
+            _inquiryQueries.put("find_tModel", InquiryQuery.FIND_TMODEL);
+            _inquiryQueries.put("find_relatedBusinesses", InquiryQuery.FIND_RELATEDBUSINESSES);
+            _inquiryQueries.put("get_businessDetail", InquiryQuery.GET_BUSINESSDETAIL);
+            _inquiryQueries.put("get_serviceDetail", InquiryQuery.GET_SERVICEDETAIL);
+            _inquiryQueries.put("get_bindingDetail", InquiryQuery.GET_BINDINGDETAIL);
+            _inquiryQueries.put("get_tModelDetail", InquiryQuery.GET_TMODELDETAIL);
+            _inquiryQueries.put("get_operationalInfo", InquiryQuery.GET_OPERATIONALINFO);
+        }
+    }
+    
+    public static List<String> getQueries() {
+        if (_inquiryQueries == null) {
+            initInquiryQueries();
+        }
+        
+        List list = new ArrayList<String>(_inquiryQueries.keySet());
+        return list;
+    }
+        
+    public static InquiryQuery fromQuery(final String query) {
+        if (_inquiryQueries == null) {
+            initInquiryQueries();
+        }
+        
+        if (_inquiryQueries.contains(query)) {
+            return _inquiryQueries.get(query);
+        } else {
+            throw new IllegalArgumentException("Unrecognized query " + query);
+        }
+    }    
+}

Added: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/PublicationQuery.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/PublicationQuery.java?rev=1087327&view=auto
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/PublicationQuery.java (added)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/PublicationQuery.java Thu Mar 31 15:09:54 2011
@@ -0,0 +1,80 @@
+package org.apache.juddi.api.util;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * Enum to represent the queries within the publication API.
+ * 
+ * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
+ */
+public enum PublicationQuery implements UDDIQuery {
+    GET_REGISTEREDINFO("get_registeredInfo"),
+    SAVE_BUSINESS("save_business"),
+    SAVE_SERVICE("save_service"),
+    SAVE_BINDING("save_binding"),
+    SAVE_TMODEL("save_tmodel"),
+    DELETE_BUSINESS("delete_business"),
+    DELETE_SERVICE("delete_service"),
+    DELETE_BINDING("delete_binding"),
+    DELETE_TMODEL("delete_tmodel"),
+    ADD_PUBLISHERASSERTIONS("add_publisherassertions"),
+    SET_PUBLISHERASSERTIONS("set_publisherassertions"),
+    GET_PUBLISHERASSERTIONS("get_publisherassertions"),
+    DELETE_PUBLISHERASSERTIONS("delete_publisherassertions"),
+    GET_ASSERTIONSTATUSREPORT("get_assertionstatusreport");
+    
+    private String _query;
+    private static Hashtable<String, PublicationQuery> _publicationQueries = null;
+    
+    PublicationQuery(final String query) {
+        _query = query;
+    }
+    
+    public String getQuery() {
+        return _query;
+    }
+    
+    public synchronized static void initPublicationQueries () {
+            if (_publicationQueries == null) {
+                _publicationQueries = new Hashtable();
+
+                _publicationQueries.put(PublicationQuery.GET_REGISTEREDINFO.getQuery(), PublicationQuery.GET_REGISTEREDINFO);
+                _publicationQueries.put(PublicationQuery.SAVE_BUSINESS.getQuery(), PublicationQuery.SAVE_BUSINESS);
+                _publicationQueries.put(PublicationQuery.SAVE_SERVICE.getQuery(), PublicationQuery.SAVE_SERVICE);
+                _publicationQueries.put(PublicationQuery.SAVE_BINDING.getQuery(), PublicationQuery.SAVE_BINDING);
+                _publicationQueries.put(PublicationQuery.SAVE_TMODEL.getQuery(), PublicationQuery.SAVE_TMODEL);
+                _publicationQueries.put(PublicationQuery.DELETE_BUSINESS.getQuery(), PublicationQuery.DELETE_BUSINESS);
+                _publicationQueries.put(PublicationQuery.DELETE_SERVICE.getQuery(), PublicationQuery.DELETE_SERVICE);
+                _publicationQueries.put(PublicationQuery.DELETE_BINDING.getQuery(), PublicationQuery.DELETE_BINDING);
+                _publicationQueries.put(PublicationQuery.DELETE_TMODEL.getQuery(), PublicationQuery.DELETE_TMODEL);
+                _publicationQueries.put(PublicationQuery.ADD_PUBLISHERASSERTIONS.getQuery(), PublicationQuery.ADD_PUBLISHERASSERTIONS);
+                _publicationQueries.put(PublicationQuery.SET_PUBLISHERASSERTIONS.getQuery(), PublicationQuery.SET_PUBLISHERASSERTIONS);
+                _publicationQueries.put(PublicationQuery.GET_PUBLISHERASSERTIONS.getQuery(), PublicationQuery.GET_PUBLISHERASSERTIONS);
+                _publicationQueries.put(PublicationQuery.DELETE_PUBLISHERASSERTIONS.getQuery(), PublicationQuery.DELETE_PUBLISHERASSERTIONS);
+                _publicationQueries.put(PublicationQuery.GET_ASSERTIONSTATUSREPORT.getQuery(), PublicationQuery.GET_ASSERTIONSTATUSREPORT);       
+            }
+    }
+
+    public static List<String> getQueries() {
+        if (_publicationQueries == null) {
+            initPublicationQueries();
+        }
+        
+        List list = new ArrayList<String>(_publicationQueries.keySet());
+        return list;
+    }
+
+    public static PublicationQuery fromQuery(final String query) {
+        if (_publicationQueries == null) {
+            initPublicationQueries();
+        }
+        
+        if (_publicationQueries.contains(query)) {
+            return _publicationQueries.get(query);
+        } else {
+            throw new IllegalArgumentException("Unrecognized query " + query);
+        }        
+    }    
+}

Added: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/QueryStatus.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/QueryStatus.java?rev=1087327&view=auto
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/QueryStatus.java (added)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/QueryStatus.java Thu Mar 31 15:09:54 2011
@@ -0,0 +1,57 @@
+package org.apache.juddi.api.util;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * Statuses of a query.    Successs represents a successful query, failed 
+ * represents one that throws a DispositionFaultMessage.
+ * 
+ * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
+ */
+public enum QueryStatus {
+    SUCCESS("success"),
+    FAILED ("failed");
+
+    private String _status;
+    private static Hashtable<String, QueryStatus> _statuses = null;
+    
+    QueryStatus(final String status) {
+        _status = status;
+    }
+    
+    public String getStatus() {
+        return _status;
+    }
+    
+    public synchronized static void initStatuses () {
+        if (_statuses == null) {
+            _statuses = new Hashtable();
+
+            _statuses.put(QueryStatus.SUCCESS.getStatus(), QueryStatus.SUCCESS);
+            _statuses.put(QueryStatus.FAILED.getStatus(), QueryStatus.FAILED);
+        }
+    }
+
+    public static List<String> getQueries() {
+        if (_statuses == null) {
+            initStatuses();
+        }
+    
+        List list = new ArrayList<String>(_statuses.keySet());
+        return list;
+    }
+
+    public static QueryStatus fromStatus(final String status) {
+        if (_statuses == null) {
+            initStatuses();
+        }
+    
+        if (_statuses.contains(status)) {
+            return _statuses.get(status);
+        } else {
+            throw new IllegalArgumentException("Unrecognized status " + status);
+        }       
+    }
+}
\ No newline at end of file

Added: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ReplicationQuery.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ReplicationQuery.java?rev=1087327&view=auto
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ReplicationQuery.java (added)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ReplicationQuery.java Thu Mar 31 15:09:54 2011
@@ -0,0 +1,63 @@
+package org.apache.juddi.api.util;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * Enum to represent the queries within the Replication API.
+ * 
+ * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
+ */
+public enum ReplicationQuery implements UDDIQuery {
+    GET_CHANGERECORDS("get_changeRecords"),
+    NOTIFY_CHANGERECORDSAVAILABLE("notify_changeRecordsAvailable"),
+    DO_PING("do_ping"),
+    GET_HIGHWATERMARKS("get_highWaterMarks"),
+    TRANSFER_CUSTODY("transfer_custody");
+    
+    private String _query;
+    private static Hashtable<String, ReplicationQuery> _replicationQueries = null;
+    
+    ReplicationQuery(final String query) {
+        _query = query;
+    }
+    
+    public String getQuery() {
+        return _query;
+    }
+    
+    public synchronized static void initReplicationQueries () {
+            if (_replicationQueries == null) {
+                _replicationQueries = new Hashtable();
+
+                _replicationQueries.put(ReplicationQuery.GET_CHANGERECORDS.getQuery(), ReplicationQuery.GET_CHANGERECORDS);
+                _replicationQueries.put(ReplicationQuery.NOTIFY_CHANGERECORDSAVAILABLE.getQuery(), ReplicationQuery.NOTIFY_CHANGERECORDSAVAILABLE);
+                _replicationQueries.put(ReplicationQuery.DO_PING.getQuery(), ReplicationQuery.DO_PING);
+                _replicationQueries.put(ReplicationQuery.GET_HIGHWATERMARKS.getQuery(), ReplicationQuery.GET_HIGHWATERMARKS);
+                _replicationQueries.put(ReplicationQuery.TRANSFER_CUSTODY.getQuery(), ReplicationQuery.TRANSFER_CUSTODY);
+            }
+    }
+
+    public static List<String> getQueries() {
+        if (_replicationQueries == null) {
+            initReplicationQueries();
+        }
+        
+        List list = new ArrayList<String>(_replicationQueries.keySet());
+        return list;
+    }
+    
+    public static ReplicationQuery fromQuery(final String query) {
+        if (_replicationQueries == null) {
+            initReplicationQueries();
+        }
+        
+        if (_replicationQueries.contains(query)) {
+            return _replicationQueries.get(query);
+        } else {
+            throw new IllegalArgumentException("Unrecognized query " + query);
+        }        
+
+    }
+}

Added: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SecurityQuery.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SecurityQuery.java?rev=1087327&view=auto
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SecurityQuery.java (added)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SecurityQuery.java Thu Mar 31 15:09:54 2011
@@ -0,0 +1,56 @@
+package org.apache.juddi.api.util;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * Enum to represent the methods within the Security API.
+ * 
+ * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
+ */
+public enum SecurityQuery implements UDDIQuery {
+    GET_AUTHTOKEN("get_authToken"),
+    DISCARD_AUTHTOKEN("discard_authToken");
+    
+    private String _query;
+    private static Hashtable<String, SecurityQuery> _securityQueries = null;
+    
+    SecurityQuery(final String query) {
+        _query = query;
+    }
+    
+    public String getQuery() {
+        return _query;
+    }
+    
+    public synchronized static void initSecurityQueries () {
+            if (_securityQueries == null) {
+                _securityQueries = new Hashtable();
+
+                _securityQueries.put(SecurityQuery.GET_AUTHTOKEN.getQuery(), SecurityQuery.GET_AUTHTOKEN);
+                _securityQueries.put(SecurityQuery.DISCARD_AUTHTOKEN.getQuery(), SecurityQuery.DISCARD_AUTHTOKEN);
+            }
+    }
+
+    public static List<String> getQueries() {
+        if (_securityQueries == null) {
+            initSecurityQueries();
+        }
+        
+        List list = new ArrayList<String>(_securityQueries.keySet());
+        return list;
+    }
+    
+    public static SecurityQuery fromQuery(final String query) {
+        if (_securityQueries == null) {
+            initSecurityQueries();
+        }
+        
+        if (_securityQueries.contains(query)) {
+            return _securityQueries.get(query);
+        } else {
+            throw new IllegalArgumentException("Unrecognized query " + query);
+        }       
+    }
+}

Added: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SubscriptionListenerQuery.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SubscriptionListenerQuery.java?rev=1087327&view=auto
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SubscriptionListenerQuery.java (added)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SubscriptionListenerQuery.java Thu Mar 31 15:09:54 2011
@@ -0,0 +1,54 @@
+package org.apache.juddi.api.util;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * Enum to represent the methods within the SubscriptionListener API.
+ * 
+ * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
+ */
+public enum SubscriptionListenerQuery implements UDDIQuery {
+    NOTIFY_SUBSCRIPTIONLISTENER("notify_subscriptionListener");
+        
+    private String _query;
+    private static Hashtable<String, SubscriptionListenerQuery> _subscriptionListenerQueries = null;
+        
+    SubscriptionListenerQuery(final String query) {
+        _query = query;
+    }
+        
+    public String getQuery() {
+        return _query;
+    }
+        
+    public synchronized static void initSubscriptionListenerQueries () {
+            if (_subscriptionListenerQueries == null) {
+                _subscriptionListenerQueries = new Hashtable();
+
+                _subscriptionListenerQueries.put(SubscriptionListenerQuery.NOTIFY_SUBSCRIPTIONLISTENER.getQuery(), SubscriptionListenerQuery.NOTIFY_SUBSCRIPTIONLISTENER);
+            }
+    }
+
+    public static List getQueries() {
+        if (_subscriptionListenerQueries == null) {
+            initSubscriptionListenerQueries();
+        }
+        
+        List list = new ArrayList<String>(_subscriptionListenerQueries.keySet());
+        return list;
+    }
+    
+    public static SubscriptionListenerQuery fromQuery(final String query) {
+        if (_subscriptionListenerQueries == null) {
+            initSubscriptionListenerQueries();
+        }
+        
+        if (_subscriptionListenerQueries.contains(query)) {
+            return _subscriptionListenerQueries.get(query);
+        } else {
+            throw new IllegalArgumentException("Unrecognized query " + query);
+        }       
+    }
+}

Added: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SubscriptionQuery.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SubscriptionQuery.java?rev=1087327&view=auto
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SubscriptionQuery.java (added)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/SubscriptionQuery.java Thu Mar 31 15:09:54 2011
@@ -0,0 +1,60 @@
+package org.apache.juddi.api.util;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * Enum to represent the methods within the Subscription API.
+ * 
+ * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
+ */
+public enum SubscriptionQuery implements UDDIQuery {
+    DELETE_SUBSCRIPTION("delete_subscription"),
+    GET_SUBSCRIPTIONRESULTS("get_subscriptionResults"),
+    GET_SUBSCRIPTIONS("get_subscriptions"),
+    SAVE_SUBSCRIPTION("save_subscription");
+        
+    private String _query;
+    private static Hashtable<String, SubscriptionQuery> _subscriptionQueries = null;
+        
+    SubscriptionQuery(final String query) {
+        _query = query;
+    }
+        
+    public String getQuery() {
+        return _query;
+    }
+        
+    public synchronized static void initSubscriptionQueries () {
+        if (_subscriptionQueries == null) {
+                _subscriptionQueries = new Hashtable();
+
+                _subscriptionQueries.put(SubscriptionQuery.DELETE_SUBSCRIPTION.getQuery(), SubscriptionQuery.DELETE_SUBSCRIPTION);
+                _subscriptionQueries.put(SubscriptionQuery.GET_SUBSCRIPTIONRESULTS.getQuery(), SubscriptionQuery.GET_SUBSCRIPTIONRESULTS);
+                _subscriptionQueries.put(SubscriptionQuery.GET_SUBSCRIPTIONS.getQuery(), SubscriptionQuery.GET_SUBSCRIPTIONS);
+                _subscriptionQueries.put(SubscriptionQuery.SAVE_SUBSCRIPTION.getQuery(), SubscriptionQuery.SAVE_SUBSCRIPTION);
+        }
+    }
+    
+    public static List<String> getQueries() {
+        if (_subscriptionQueries == null) {
+            initSubscriptionQueries();
+        }
+        
+        List list = new ArrayList<String>(_subscriptionQueries.keySet());
+        return list;
+    }
+
+    public static SubscriptionQuery fromQuery(final String query) {
+        if (_subscriptionQueries == null) {
+            initSubscriptionQueries();
+        }
+        
+        if (_subscriptionQueries.contains(query)) {
+            return _subscriptionQueries.get(query);
+        } else {
+            throw new IllegalArgumentException("Unrecognized query " + query);
+        }       
+    }
+}

Added: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/UDDIQuery.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/UDDIQuery.java?rev=1087327&view=auto
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/UDDIQuery.java (added)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/UDDIQuery.java Thu Mar 31 15:09:54 2011
@@ -0,0 +1,12 @@
+package org.apache.juddi.api.util;
+
+import java.util.List;
+
+/**
+ * Interface for UDDI API enums.
+ * 
+ * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
+ */
+public interface UDDIQuery {
+    String getQuery();
+}

Added: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ValueSetCachingQuery.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ValueSetCachingQuery.java?rev=1087327&view=auto
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ValueSetCachingQuery.java (added)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ValueSetCachingQuery.java Thu Mar 31 15:09:54 2011
@@ -0,0 +1,54 @@
+package org.apache.juddi.api.util;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * Enum to represent the methods within the ValueSetCaching API.
+ * 
+ * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
+ */
+public enum ValueSetCachingQuery implements UDDIQuery {
+    GET_ALLVALIDVALUES("get_allValidValues");
+    
+    private String _query;
+    private static Hashtable<String, ValueSetCachingQuery> _valueSetCachingQueries = null;
+        
+    ValueSetCachingQuery(final String query) {
+        _query = query;
+    }
+        
+    public String getQuery() {
+        return _query;
+    }
+        
+    public synchronized static void initValueSetCachingQueries () {
+            if (_valueSetCachingQueries == null) {
+                _valueSetCachingQueries = new Hashtable();
+
+                _valueSetCachingQueries.put(ValueSetCachingQuery.GET_ALLVALIDVALUES.getQuery(), ValueSetCachingQuery.GET_ALLVALIDVALUES);
+            }
+    }
+    
+    public static List<String> getQueries() {
+        if (_valueSetCachingQueries == null) {
+            initValueSetCachingQueries();
+        }
+        
+        List list = new ArrayList<String>(_valueSetCachingQueries.keySet());
+        return list;
+    }
+
+    public static ValueSetCachingQuery fromQuery(final String query) {
+        if (_valueSetCachingQueries == null) {
+            initValueSetCachingQueries();
+        }
+        
+        if (_valueSetCachingQueries.contains(query)) {
+            return _valueSetCachingQueries.get(query);
+        } else {
+            throw new IllegalArgumentException("Unrecognized query " + query);
+        }       
+    }
+}
\ No newline at end of file

Added: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ValueSetValidationQuery.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ValueSetValidationQuery.java?rev=1087327&view=auto
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ValueSetValidationQuery.java (added)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/util/ValueSetValidationQuery.java Thu Mar 31 15:09:54 2011
@@ -0,0 +1,54 @@
+package org.apache.juddi.api.util;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * Enum to represent the queries within the ValueSetValidation API.
+ * 
+ * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
+ */
+public enum ValueSetValidationQuery implements UDDIQuery {
+    VALIDATE_VALUES("validate_values");
+    
+    private String _query;
+    private static Hashtable<String, ValueSetValidationQuery> _valueSetValidationQueries = null;
+        
+    ValueSetValidationQuery(final String query) {
+        _query = query;
+    }
+        
+    public String getQuery() {
+        return _query;
+    }
+        
+    public synchronized static void initValueSetValidationQueries () {
+            if (_valueSetValidationQueries == null) {
+                _valueSetValidationQueries = new Hashtable<String, ValueSetValidationQuery>();
+
+                _valueSetValidationQueries.put(ValueSetValidationQuery.VALIDATE_VALUES.getQuery(), ValueSetValidationQuery.VALIDATE_VALUES);
+            }
+    }
+
+    public static List<String> getQueries() {
+        if (_valueSetValidationQueries == null) {
+            initValueSetValidationQueries();
+        }
+        
+        List list = new ArrayList<String>(_valueSetValidationQueries.keySet());
+        return list;
+    }
+    
+    public static ValueSetValidationQuery fromQuery(final String query) {
+        if (_valueSetValidationQueries == null) {
+            initValueSetValidationQueries();
+        }
+        
+        if (_valueSetValidationQueries.contains(query)) {
+            return _valueSetValidationQueries.get(query);
+        } else {
+            throw new IllegalArgumentException("Unrecognized query " + query);
+        }       
+    }
+}
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org