Author: alexoree
Date: Tue Dec 10 19:24:33 2013
New Revision: 1549946

URL: http://svn.apache.org/r1549946
Log:
JUDDI-198 implemented, unit tested, added to install data, tck tests needed
JUDDI-197 implemented, tests still needed,added to install data, tck tests 
needed
JUDDI-737 done on branch 3.3, pom version updated
JUDDI-241 added to install data

Modified:
    
juddi/branches/juddi-3.3.x/juddi-core-openjpa/src/test/resources/META-INF/persistence.xml
    
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
    
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetCachingImpl.java
    
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java
    
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValue.java
    
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValues.java
    
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
    
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValueSetValidation.java
    
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValuesFromWebService.java
    
juddi/branches/juddi-3.3.x/juddi-core/src/main/resources/juddi_install_data/root_BusinessEntity.xml
    juddi/branches/juddi-3.3.x/juddi-core/src/main/resources/messages.properties
    
juddi/branches/juddi-3.3.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_150_ValueSetValidationTest.java
    
juddi/branches/juddi-3.3.x/juddi-core/src/test/resources/META-INF/persistence.xml
    
juddi/branches/juddi-3.3.x/juddi-examples/hello-world-embedded/src/main/resources/META-INF/persistence.xml
    juddi/branches/juddi-3.3.x/juddi-rest-cxf/pom.xml
    
juddi/branches/juddi-3.3.x/juddi-rest-cxf/src/test/resources/META-INF/persistence.xml
    juddi/branches/juddi-3.3.x/juddiv3-war/JAX-WS/CXF/WEB-INF/beans.xml
    juddi/branches/juddi-3.3.x/juddiv3-war/JAX-WS/JBossWS-CXF/WEB-INF/web.xml
    juddi/branches/juddi-3.3.x/juddiv3-war/JAX-WS/JBossWS-Native/WEB-INF/web.xml
    
juddi/branches/juddi-3.3.x/juddiv3-war/JPA/Hibernate-JBoss/WEB-INF/classes/META-INF/persistence.xml
    
juddi/branches/juddi-3.3.x/juddiv3-war/JPA/Hibernate/WEB-INF/classes/META-INF/persistence.xml
    
juddi/branches/juddi-3.3.x/juddiv3-war/JPA/OpenJPA-JBossAS7Up/WEB-INF/classes/META-INF/persistence.xml
    
juddi/branches/juddi-3.3.x/juddiv3-war/JPA/OpenJPA/WEB-INF/classes/META-INF/persistence.xml
    
juddi/branches/juddi-3.3.x/uddi-ws/src/main/java/org/uddi/vscache_v3/ValidValue.java

Modified: 
juddi/branches/juddi-3.3.x/juddi-core-openjpa/src/test/resources/META-INF/persistence.xml
URL: 
http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core-openjpa/src/test/resources/META-INF/persistence.xml?rev=1549946&r1=1549945&r2=1549946&view=diff
==============================================================================
--- 
juddi/branches/juddi-3.3.x/juddi-core-openjpa/src/test/resources/META-INF/persistence.xml
 (original)
+++ 
juddi/branches/juddi-3.3.x/juddi-core-openjpa/src/test/resources/META-INF/persistence.xml
 Tue Dec 10 19:24:33 2013
@@ -69,6 +69,8 @@
     <class>org.apache.juddi.model.TransferTokenKey</class>
     <class>org.apache.juddi.model.UddiEntity</class>
     <class>org.apache.juddi.model.UddiEntityPublisher</class>
+       <class>org.apache.juddi.model.ValueSetValues</class>
+       <class>org.apache.juddi.model.ValueSetValue</class>
     
     <properties>
       <property name="openjpa.jdbc.SynchronizeMappings" 
value="buildSchema(SchemaAction='dropDB,add')"/>

Modified: 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
URL: 
http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java?rev=1549946&r1=1549945&r2=1549946&view=diff
==============================================================================
--- 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
 (original)
+++ 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
 Tue Dec 10 19:24:33 2013
@@ -97,7 +97,7 @@ import org.uddi.v3_service.UDDISubscript
         endpointInterface = "org.apache.juddi.v3_service.JUDDIApiPortType",
         targetNamespace = "urn:juddi-apache-org:v3_service")
 public class JUDDIApiImpl extends AuthenticatedService implements 
JUDDIApiPortType {
-        
+
         private Log log = LogFactory.getLog(this.getClass());
 
         /**
@@ -107,35 +107,35 @@ public class JUDDIApiImpl extends Authen
         @Override
         public PublisherDetail savePublisher(SavePublisher body)
                 throws DispositionReportFaultMessage {
-                
+
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-                        
+
                         UddiEntityPublisher publisher = 
this.getEntityPublisher(em, body.getAuthInfo());
-                        
+
                         new 
ValidatePublish(publisher).validateSavePublisher(em, body);
-                        
+
                         PublisherDetail result = new PublisherDetail();
-                        
+
                         List<org.apache.juddi.api_v3.Publisher> 
apiPublisherList = body.getPublisher();
                         for (org.apache.juddi.api_v3.Publisher apiPublisher : 
apiPublisherList) {
-                                
+
                                 org.apache.juddi.model.Publisher 
modelPublisher = new org.apache.juddi.model.Publisher();
-                                
+
                                 MappingApiToModel.mapPublisher(apiPublisher, 
modelPublisher);
-                                
+
                                 Object existingUddiEntity = 
em.find(modelPublisher.getClass(), modelPublisher.getAuthorizedName());
                                 if (existingUddiEntity != null) {
                                         em.remove(existingUddiEntity);
                                 }
-                                
+
                                 em.persist(modelPublisher);
-                                
+
                                 result.getPublisher().add(apiPublisher);
                         }
-                        
+
                         tx.commit();
                         return result;
                 } finally {
@@ -153,22 +153,22 @@ public class JUDDIApiImpl extends Authen
         @Override
         public void deletePublisher(DeletePublisher body)
                 throws DispositionReportFaultMessage {
-                
+
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-                        
+
                         UddiEntityPublisher publisher = 
this.getEntityPublisher(em, body.getAuthInfo());
-                        
+
                         new 
ValidatePublish(publisher).validateDeletePublisher(em, body);
-                        
+
                         List<String> entityKeyList = body.getPublisherId();
                         for (String entityKey : entityKeyList) {
                                 Object obj = 
em.find(org.apache.juddi.model.Publisher.class, entityKey);
                                 em.remove(obj);
                         }
-                        
+
                         tx.commit();
                 } finally {
                         if (tx.isActive()) {
@@ -185,18 +185,18 @@ public class JUDDIApiImpl extends Authen
         @Override
         public PublisherDetail getPublisherDetail(GetPublisherDetail body)
                 throws DispositionReportFaultMessage {
-                
+
                 new ValidatePublisher(null).validateGetPublisherDetail(body);
-                
+
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-                        
+
                         this.getEntityPublisher(em, body.getAuthInfo());
-                        
+
                         PublisherDetail result = new PublisherDetail();
-                        
+
                         List<String> publisherIdList = body.getPublisherId();
                         for (String publisherId : publisherIdList) {
                                 org.apache.juddi.model.Publisher 
modelPublisher = null;
@@ -207,14 +207,14 @@ public class JUDDIApiImpl extends Authen
                                 if (modelPublisher == null) {
                                         throw new 
InvalidKeyPassedException(new 
ErrorMessage("errors.invalidkey.PublisherNotFound", publisherId));
                                 }
-                                
+
                                 org.apache.juddi.api_v3.Publisher apiPublisher 
= new org.apache.juddi.api_v3.Publisher();
-                                
+
                                 MappingModelToApi.mapPublisher(modelPublisher, 
apiPublisher);
-                                
+
                                 result.getPublisher().add(apiPublisher);
                         }
-                        
+
                         tx.commit();
                         return result;
                 } finally {
@@ -223,37 +223,37 @@ public class JUDDIApiImpl extends Authen
                         }
                         em.close();
                 }
-                
+
         }
-        
+
         @SuppressWarnings("unchecked")
         @Override
         public PublisherDetail getAllPublisherDetail(GetAllPublisherDetail 
body)
                 throws DispositionReportFaultMessage {
-                
+
                 new 
ValidatePublisher(null).validateGetAllPublisherDetail(body);
-                
+
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-                        
+
                         this.getEntityPublisher(em, body.getAuthInfo());
-                        
+
                         PublisherDetail result = new PublisherDetail();
-                        
+
                         Query query = em.createQuery("SELECT p from Publisher 
as p");
                         List<Publisher> modelPublisherList = 
query.getResultList();
-                        
+
                         for (Publisher modelPublisher : modelPublisherList) {
-                                
+
                                 org.apache.juddi.api_v3.Publisher apiPublisher 
= new org.apache.juddi.api_v3.Publisher();
-                                
+
                                 MappingModelToApi.mapPublisher(modelPublisher, 
apiPublisher);
-                                
+
                                 result.getPublisher().add(apiPublisher);
                         }
-                        
+
                         tx.commit();
                         return result;
                 } finally {
@@ -263,26 +263,26 @@ public class JUDDIApiImpl extends Authen
                         em.close();
                 }
         }
-        
+
         @Override
         public void adminDeleteTModel(DeleteTModel body) throws 
DispositionReportFaultMessage {
-                
-                
+
+
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-                        
+
                         UddiEntityPublisher publisher = 
this.getEntityPublisher(em, body.getAuthInfo());
-                        
+
                         new 
ValidatePublish(publisher).validateAdminDeleteTModel(em, body);
-                        
+
                         List<String> entityKeyList = body.getTModelKey();
                         for (String entityKey : entityKeyList) {
                                 Object obj = 
em.find(org.apache.juddi.model.Tmodel.class, entityKey);
                                 em.remove(obj);
                         }
-                        
+
                         tx.commit();
                 } finally {
                         if (tx.isActive()) {
@@ -291,26 +291,26 @@ public class JUDDIApiImpl extends Authen
                         em.close();
                 }
         }
-        
+
         @Override
         public void deleteClientSubscriptionInfo(DeleteClientSubscriptionInfo 
body)
                 throws DispositionReportFaultMessage {
-                
+
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-                        
+
                         UddiEntityPublisher publisher = 
this.getEntityPublisher(em, body.getAuthInfo());
-                        
+
                         new 
ValidateClientSubscriptionInfo(publisher).validateDeleteClientSubscriptionInfo(em,
 body);
-                        
+
                         List<String> entityKeyList = body.getSubscriptionKey();
                         for (String entityKey : entityKeyList) {
                                 Object obj = 
em.find(org.apache.juddi.model.ClientSubscriptionInfo.class, entityKey);
                                 em.remove(obj);
                         }
-                        
+
                         tx.commit();
                 } finally {
                         if (tx.isActive()) {
@@ -318,9 +318,9 @@ public class JUDDIApiImpl extends Authen
                         }
                         em.close();
                 }
-                
+
         }
-        
+
         @Override
         public ClientSubscriptionInfoDetail 
saveClientSubscriptionInfo(SaveClientSubscriptionInfo body)
                 throws DispositionReportFaultMessage {
@@ -328,30 +328,30 @@ public class JUDDIApiImpl extends Authen
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-                        
+
                         UddiEntityPublisher publisher = 
this.getEntityPublisher(em, body.getAuthInfo());
-                        
+
                         new 
ValidateClientSubscriptionInfo(publisher).validateSaveClientSubscriptionInfo(em,
 body);
-                        
+
                         ClientSubscriptionInfoDetail result = new 
ClientSubscriptionInfoDetail();
-                        
+
                         List<org.apache.juddi.api_v3.ClientSubscriptionInfo> 
apiClientSubscriptionInfoList = body.getClientSubscriptionInfo();
                         for (org.apache.juddi.api_v3.ClientSubscriptionInfo 
apiClientSubscriptionInfo : apiClientSubscriptionInfoList) {
-                                
+
                                 org.apache.juddi.model.ClientSubscriptionInfo 
modelClientSubscriptionInfo = new 
org.apache.juddi.model.ClientSubscriptionInfo();
-                                
+
                                 
MappingApiToModel.mapClientSubscriptionInfo(apiClientSubscriptionInfo, 
modelClientSubscriptionInfo);
-                                
+
                                 Object existingUddiEntity = 
em.find(modelClientSubscriptionInfo.getClass(), 
modelClientSubscriptionInfo.getSubscriptionKey());
                                 if (existingUddiEntity != null) {
                                         em.remove(existingUddiEntity);
                                 }
-                                
+
                                 em.persist(modelClientSubscriptionInfo);
-                                
+
                                 
result.getClientSubscriptionInfo().add(apiClientSubscriptionInfo);
                         }
-                        
+
                         tx.commit();
                         return result;
                 } finally {
@@ -361,7 +361,7 @@ public class JUDDIApiImpl extends Authen
                         em.close();
                 }
         }
-        
+
         @SuppressWarnings("unchecked")
         @Override
         public List<SubscriptionWrapper> getAllClientSubscriptionInfo(String 
authInfo) throws DispositionReportFaultMessage {
@@ -370,30 +370,30 @@ public class JUDDIApiImpl extends Authen
 
         private ClientSubscriptionInfoDetail 
getAllClientSubscriptionInfoDetail(String authinfo)
                 throws DispositionReportFaultMessage {
-                
+
                 new 
ValidateClientSubscriptionInfo(null).validateGetAllClientSubscriptionDetail(authinfo);
-                
+
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-                        
+
                         this.getEntityPublisher(em, authinfo);
-                        
+
                         ClientSubscriptionInfoDetail result = new 
ClientSubscriptionInfoDetail();
-                        
+
                         Query query = em.createQuery("SELECT cs from 
ClientSubscriptionInfo as cs");
                         List<org.apache.juddi.model.ClientSubscriptionInfo> 
modelClientSubscriptionInfoList = query.getResultList();
-                        
+
                         for (ClientSubscriptionInfo 
modelClientSubscriptionInfo : modelClientSubscriptionInfoList) {
-                                
+
                                 org.apache.juddi.api_v3.ClientSubscriptionInfo 
apiClientSubscriptionInfo = new 
org.apache.juddi.api_v3.ClientSubscriptionInfo();
-                                
+
                                 
MappingModelToApi.mapClientSubscriptionInfo(modelClientSubscriptionInfo, 
apiClientSubscriptionInfo);
-                                
+
                                 
result.getClientSubscriptionInfo().add(apiClientSubscriptionInfo);
                         }
-                        
+
                         tx.commit();
                         return result;
                 } finally {
@@ -402,7 +402,7 @@ public class JUDDIApiImpl extends Authen
                         }
                         em.close();
                 }
-                
+
         }
 
         /**
@@ -413,21 +413,21 @@ public class JUDDIApiImpl extends Authen
          */
         public ClientSubscriptionInfoDetail 
getClientSubscriptionInfoDetail(String authinfo, List<String> key)
                 throws DispositionReportFaultMessage {
-                
+
                 new 
ValidateClientSubscriptionInfo(null).validateGetClientSubscriptionInfoDetail(authinfo,
 key);
-                
+
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-                        
+
                         this.getEntityPublisher(em, authinfo);
-                        
+
                         ClientSubscriptionInfoDetail result = new 
ClientSubscriptionInfoDetail();
-                        
+
                         List<String> subscriptionKeyList = key;
                         for (String subscriptionKey : subscriptionKeyList) {
-                                
+
                                 org.apache.juddi.model.ClientSubscriptionInfo 
modelClientSubscriptionInfo = null;
                                 try {
                                         modelClientSubscriptionInfo = 
em.find(org.apache.juddi.model.ClientSubscriptionInfo.class, subscriptionKey);
@@ -436,14 +436,14 @@ public class JUDDIApiImpl extends Authen
                                 if (modelClientSubscriptionInfo == null) {
                                         throw new 
InvalidKeyPassedException(new 
ErrorMessage("errors.invalidkey.SubscripKeyNotFound", subscriptionKey));
                                 }
-                                
+
                                 org.apache.juddi.api_v3.ClientSubscriptionInfo 
apiClientSubscriptionInfo = new 
org.apache.juddi.api_v3.ClientSubscriptionInfo();
-                                
+
                                 
MappingModelToApi.mapClientSubscriptionInfo(modelClientSubscriptionInfo, 
apiClientSubscriptionInfo);
-                                
+
                                 
result.getClientSubscriptionInfo().add(apiClientSubscriptionInfo);
                         }
-                        
+
                         tx.commit();
                         return result;
                 } finally {
@@ -452,7 +452,7 @@ public class JUDDIApiImpl extends Authen
                         }
                         em.close();
                 }
-                
+
         }
 
         /**
@@ -462,35 +462,35 @@ public class JUDDIApiImpl extends Authen
         @Override
         public ClerkDetail saveClerk(SaveClerkInfo body)
                 throws DispositionReportFaultMessage {
-                
+
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-                        
+
                         UddiEntityPublisher publisher = 
this.getEntityPublisher(em, body.getAuthInfo());
-                        
+
                         new ValidateClerk(publisher).validateSaveClerk(em, 
body);
-                        
+
                         ClerkDetail result = new ClerkDetail();
-                        
+
                         List<org.apache.juddi.api_v3.Clerk> apiClerkList = 
body.getClerk();;
                         for (org.apache.juddi.api_v3.Clerk apiClerk : 
apiClerkList) {
-                                
+
                                 org.apache.juddi.model.Clerk modelClerk = new 
org.apache.juddi.model.Clerk();
-                                
+
                                 MappingApiToModel.mapClerk(apiClerk, 
modelClerk);
-                                
+
                                 Object existingUddiEntity = 
em.find(modelClerk.getClass(), modelClerk.getClerkName());
                                 if (existingUddiEntity != null) {
                                         em.merge(modelClerk);
                                 } else {
                                         em.persist(modelClerk);
                                 }
-                                
+
                                 result.getClerk().add(apiClerk);
                         }
-                        
+
                         tx.commit();
                         return result;
                 } finally {
@@ -508,35 +508,35 @@ public class JUDDIApiImpl extends Authen
         @Override
         public NodeDetail saveNode(SaveNodeInfo body)
                 throws DispositionReportFaultMessage {
-                
+
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-                        
+
                         UddiEntityPublisher publisher = 
this.getEntityPublisher(em, body.getAuthInfo());
-                        
+
                         new ValidateNode(publisher).validateSaveNode(em, body);
-                        
+
                         NodeDetail result = new NodeDetail();
-                        
+
                         List<org.apache.juddi.api_v3.Node> apiNodeList = 
body.getNode();;
                         for (org.apache.juddi.api_v3.Node apiNode : 
apiNodeList) {
-                                
+
                                 org.apache.juddi.model.Node modelNode = new 
org.apache.juddi.model.Node();
-                                
+
                                 MappingApiToModel.mapNode(apiNode, modelNode);
-                                
+
                                 Object existingUddiEntity = 
em.find(modelNode.getClass(), modelNode.getName());
                                 if (existingUddiEntity != null) {
                                         em.merge(modelNode);
                                 } else {
                                         em.persist(modelNode);
                                 }
-                                
+
                                 result.getNode().add(apiNode);
                         }
-                        
+
                         tx.commit();
                         return result;
                 } finally {
@@ -559,14 +559,14 @@ public class JUDDIApiImpl extends Authen
                 //validate
 
                 SyncSubscriptionDetail syncSubscriptionDetail = new 
SyncSubscriptionDetail();
-                
+
                 Map<String, org.apache.juddi.api_v3.ClientSubscriptionInfo> 
clientSubscriptionInfoMap = new HashMap<String, 
org.apache.juddi.api_v3.ClientSubscriptionInfo>();
                 //find the clerks to go with these subscriptions
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-                        
+
                         this.getEntityPublisher(em, body.getAuthInfo());
                         for (GetSubscriptionResults getSubscriptionResult : 
body.getList()) {
                                 String subscriptionKey = 
getSubscriptionResult.getSubscriptionKey();
@@ -582,7 +582,7 @@ public class JUDDIApiImpl extends Authen
                                 
MappingModelToApi.mapClientSubscriptionInfo(modelClientSubscriptionInfo, 
apiClientSubscriptionInfo);
                                 
clientSubscriptionInfoMap.put(apiClientSubscriptionInfo.getSubscriptionKey(), 
apiClientSubscriptionInfo);
                         }
-                        
+
                         tx.commit();
                 } finally {
                         if (tx.isActive()) {
@@ -590,7 +590,7 @@ public class JUDDIApiImpl extends Authen
                         }
                         em.close();
                 }
-                
+
                 for (GetSubscriptionResults getSubscriptionResult : 
body.getList()) {
                         try {
                                 String subscriptionKey = 
getSubscriptionResult.getSubscriptionKey();
@@ -601,20 +601,20 @@ public class JUDDIApiImpl extends Authen
                                 Transport transport = (Transport) 
transportClass.getConstructor(String.class).newInstance(fromClerk.getNode().getName());
                                 UDDISubscriptionPortType subscriptionService = 
transport.getUDDISubscriptionService(fromClerk.getNode().getSubscriptionUrl());
                                 SubscriptionResultsList listr = 
subscriptionService.getSubscriptionResults(getSubscriptionResult);
-                                
+
                                 JAXBContext context = 
JAXBContext.newInstance(listr.getClass());
                                 Marshaller marshaller = 
context.createMarshaller();
                                 StringWriter sw = new StringWriter();
                                 marshaller.marshal(listr, sw);
-                                
+
                                 log.info("Notification received by 
UDDISubscriptionListenerService : " + sw.toString());
-                                
+
                                 NotificationList<String> nl = 
NotificationList.getInstance();
                                 nl.getNotifications().add(sw.toString());
 
                                 //update the registry with the notification 
list.
                                 XRegisterHelper.handle(fromClerk, toClerk, 
listr);
-                                
+
                                 syncSubscriptionDetail.getList().add(listr);
                         } catch (Exception ce) {
                                 log.error(ce.getMessage(), ce);
@@ -631,90 +631,126 @@ public class JUDDIApiImpl extends Authen
 
                 return syncSubscriptionDetail;
         }
-        
+
         @Override
         public List<Node> getAllNodes(String authInfo) throws 
DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); 
//To change body of generated methods, choose Tools | Templates.
         }
-        
+
         @Override
         public List<Clerk> getAllClerks(String authInfo) throws 
DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); 
//To change body of generated methods, choose Tools | Templates.
         }
-        
+
         @Override
         public DispositionReport deleteNode(String authInfo, String nodeID) 
throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); 
//To change body of generated methods, choose Tools | Templates.
         }
-        
+
         @Override
         public DispositionReport deleteClerk(String authInfo, String clerkID) 
throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); 
//To change body of generated methods, choose Tools | Templates.
         }
-        
+
         @Override
         public DispositionReport adminSaveBusiness(String authInfo, 
List<AdminSaveBusinessWrapper> values) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); 
//To change body of generated methods, choose Tools | Templates.
         }
-        
+
         @Override
         public DispositionReport adminSaveTModel(String authInfo, 
List<AdminSaveTModelWrapper> values) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); 
//To change body of generated methods, choose Tools | Templates.
         }
-        
+
         @Override
         public ReplicationConfiguration getReplicationNodes(String authInfo) 
throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); 
//To change body of generated methods, choose Tools | Templates.
         }
-        
+
         @Override
         public DispositionReport setReplicationNodes(String authInfo, 
ReplicationConfiguration replicationConfiguration) throws 
DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); 
//To change body of generated methods, choose Tools | Templates.
         }
-        
+
         /**
          * enables tmodel owners to setup valid values for tmodel instance 
infos
          * to use, TODO
+         *
          * @param authInfo
          * @param values
          * @return
-         * @throws DispositionReportFaultMessage 
+         * @throws DispositionReportFaultMessage
          */
         @Override
         public DispositionReport setAllValidValues(String authInfo, 
List<ValidValues> values) throws DispositionReportFaultMessage {
-                
+
                 EntityManager em = PersistenceManager.getEntityManager();
                 UddiEntityPublisher entityPublisher = getEntityPublisher(em, 
authInfo);
-                
+
                 new 
ValidateValueSetValidation(entityPublisher).validateSetAllValidValues(values);
-                
-                
+
+
                 EntityTransaction tx = em.getTransaction();
                 try {
 
                         //TODO is this tModel used anywhere, if so, validate 
all instances against the new rule?
-                        
+
                         tx.begin();
-                        
+
+                        //each tmodel/value set
                         for (int i = 0; i < values.size(); i++) {
                                 //remove any existing references to the key
-                                Query createQuery = em.createQuery("DELETE 
FROM j3_valuesetval where j3_tmodelkey=?1; "
-                                                            + "DELETE FROM 
j3_valuesets where j3_tmodelkey=?2; ");
-                                
createQuery.setParameter(1,values.get(i).getTModekKey() );
-                                
createQuery.setParameter(2,values.get(i).getTModekKey() );
-                                createQuery.executeUpdate();
-
-                                //insert our new records
-                                org.apache.juddi.model.ValueSetValues vv = new 
ValueSetValues();
-                                vv.setTModelKey(values.get(i).getTModekKey());
-                                List<ValueSetValue> items = new 
ArrayList<ValueSetValue>();
-                                for (int k = 0; k < 
values.get(i).getValue().size(); k++) {
-                                        items.add(new 
org.apache.juddi.model.ValueSetValue(values.get(i).getTModekKey(), 
values.get(i).getValue().get(k)));
+                                ValueSetValues find = 
em.find(ValueSetValues.class, values.get(i).getTModekKey());
+
+                                if (find != null) {
+
+                                        //first pass, add any missing values
+                                        for (int x = 0; x < 
values.get(i).getValue().size(); x++) {
+                                                boolean found = false;
+                                                for (int k = 0; k < 
find.getValues().size(); k++) {
+                                                        if 
(find.getValues().get(k).getValue().equals(values.get(i).getValue().get(x))) {
+                                                                found = true;
+                                                                break;
+                                                        }
+                                                }
+                                                if (!found) {
+                                                        ValueSetValue 
valueSetValue = new 
org.apache.juddi.model.ValueSetValue(values.get(i).getTModekKey(), 
values.get(i).getValue().get(x));
+                                                        
find.getValues().add(valueSetValue);
+                                                }
+                                        }
+
+                                        //second pass, remove any values that 
were present, but now are not
+                                        for (int k = 0; k < 
find.getValues().size(); k++) {
+
+                                                boolean found = false;
+                                                for (int x = 0; x < 
values.get(i).getValue().size(); x++) {
+                                                        if 
(find.getValues().get(k).getValue().equals(values.get(i).getValue().get(x))) {
+                                                                found = true;
+                                                                break;
+                                                        }
+                                                }
+                                                if (!found) {
+                                                        
em.remove(find.getValues().get(k));
+                                                }
+                                        }
+
+                                        em.persist(find);
+
+                                } else {
+                                        org.apache.juddi.model.ValueSetValues 
vv = new ValueSetValues();
+                                        
vv.setTModelKey(values.get(i).getTModekKey());
+                                        List<ValueSetValue> items = new 
ArrayList<ValueSetValue>();
+                                        for (int k = 0; k < 
values.get(i).getValue().size(); k++) {
+                                                ValueSetValue valueSetValue = 
new org.apache.juddi.model.ValueSetValue(values.get(i).getTModekKey(), 
values.get(i).getValue().get(k));
+                                                valueSetValue.setParent(vv);
+                                                em.persist(valueSetValue);
+                                                items.add(valueSetValue);
+                                        }
+                                        vv.setValues(items);
+                                        em.persist(vv);
                                 }
-                                vv.setValues(items);
-                                em.persist(vv);
                         }
-                        
+
                         tx.commit();
                 } finally {
                         if (tx.isActive()) {
@@ -726,12 +762,12 @@ public class JUDDIApiImpl extends Authen
                 r.getResult().add(new Result());
                 return r;
         }
-        
+
         @Override
         public void adminDeleteSubscription(String authInfo, List<String> 
subscriptionKey) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); 
//To change body of generated methods, choose Tools | Templates.
         }
-        
+
         @Override
         public void adminSaveSubscription(String authInfo, String 
publisherOrUsername, List<Subscription> subscriptions) throws 
DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); 
//To change body of generated methods, choose Tools | Templates.

Modified: 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetCachingImpl.java
URL: 
http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetCachingImpl.java?rev=1549946&r1=1549945&r2=1549946&view=diff
==============================================================================
--- 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetCachingImpl.java
 (original)
+++ 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetCachingImpl.java
 Tue Dec 10 19:24:33 2013
@@ -14,18 +14,16 @@
  * limitations under the License.
  *
  */
-
 package org.apache.juddi.api.impl;
 
+import java.util.ArrayList;
 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;
@@ -37,23 +35,61 @@ import org.uddi.vscache_v3.ValidValue;
 //                     targetNamespace = "urn:uddi-org:v3_service")
 public class UDDIValueSetCachingImpl extends AuthenticatedService implements 
UDDIValueSetCachingPortType {
 
-    private static Log logger = 
LogFactory.getLog(UDDIValueSetCachingImpl.class);
+        private static Log logger = 
LogFactory.getLog(UDDIValueSetCachingImpl.class);
+        private UDDIServiceCounter serviceCounter;
 
-    private UDDIServiceCounter serviceCounter;
+        public UDDIValueSetCachingImpl() {
+                super();
+                serviceCounter = 
ServiceCounterLifecycleResource.getServiceCounter(this.getClass());
+        }
+
+        /**
+         *
+         * @param authInfo An optional element that contains an authentication
+         * token. Authentication tokens are obtained using the get_authToken 
API
+         * call or through some other means external to this specification.
+         * Providers of get_allValidValues Web services that serve multiple
+         * registries and providers that restrict who can use their service may
+         * require authInfo for this API.
+         * @param modelKey A required uddiKey value that identifies the 
specific
+         * instance of the tModel which describes the value set or category
+         * group system for which a Web service to get all valid values has 
been
+         * provided. It uniquely identifies the category, identifier, or
+         * category group system for which valid values are being requested.
+         * @param chunkToken Optional element used to retrieve subsequent 
groups
+         * of data when the first invocation of this API indicates more data is
+         * available. This occurs when a chunkToken is returned whose value is
+         * not "0" in the validValuesList structure described in the next
+         * section. To retrieve the next chunk of data, the chunkToken returned
+         * should be used as an argument to the next invocation of this API.
+         * @param validValue A validValuesList structure is returned containing
+         * the set of valid values for the external category or identifier
+         * system. The list MUST contain a chunkToken if the Web service
+         * provider wishes to provide the data in packets.
+         * @throws DispositionReportFaultMessage
+         */
+        @Override
+        public void getAllValidValues(String authInfo, String modelKey,
+                Holder<String> chunkToken, Holder<List<ValidValue>> validValue)
+                throws DispositionReportFaultMessage {
+
+                long startTime = System.currentTimeMillis();
+                List<String> validValues = 
UDDIValueSetValidationImpl.getValidValues(modelKey);
+
+                Holder<List<ValidValue>> ret = new 
Holder<List<ValidValue>>(new ArrayList<ValidValue>());
+                if (validValues != null) {
+                        for (int i = 0; i < validValues.size(); i++) {
+                                ValidValue x = new 
ValidValue(validValues.get(i));
+                                ret.value.add(x);
+                        }
+                }
+                chunkToken = new Holder<String>();
+                chunkToken.value ="0";
+
+                long procTime = System.currentTimeMillis() - startTime;
+                serviceCounter.update(ValueSetCachingQuery.GET_ALLVALIDVALUES,
+                        QueryStatus.SUCCESS, procTime);
 
-    public UDDIValueSetCachingImpl() {
-        super();
-        serviceCounter = 
ServiceCounterLifecycleResource.getServiceCounter(this.getClass());
-    }
-    
-    public void getAllValidValues(String authInfo, String modelKey,
-                       Holder<String> chunkToken, Holder<List<ValidValue>> 
validValue)
-                       throws DispositionReportFaultMessage {
-            long startTime = System.currentTimeMillis();
-            long procTime = System.currentTimeMillis() - startTime;
-            serviceCounter.update(ValueSetCachingQuery.GET_ALLVALIDVALUES, 
-                    QueryStatus.SUCCESS, procTime);
 
-            ValidateValueSetCaching.unsupportedAPICall();
-    }
+        }
 }

Modified: 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java
URL: 
http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java?rev=1549946&r1=1549945&r2=1549946&view=diff
==============================================================================
--- 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java
 (original)
+++ 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java
 Tue Dec 10 19:24:33 2013
@@ -61,10 +61,14 @@ public class UDDIValueSetValidationImpl 
         public DispositionReport validateValues(ValidateValues body)
                 throws DispositionReportFaultMessage {
                 long startTime = System.currentTimeMillis();
-                long procTime = System.currentTimeMillis() - startTime;
-                serviceCounter.update(ValueSetValidationQuery.VALIDATE_VALUES,
-                        QueryStatus.SUCCESS, procTime);
 
+                if (body == null) {
+                        long procTime = System.currentTimeMillis() - startTime;
+                        
serviceCounter.update(ValueSetValidationQuery.VALIDATE_VALUES,
+                                QueryStatus.FAILED, procTime);
+
+                        throw new ValueNotAllowedException(new 
ErrorMessage("errors.valuesetvalidation.noinput"));
+                }
                 /*
                  * The UDDI node that is calling validate_values MUST pass one 
                  * or more businessEntity elements, one or more 
businessService 
@@ -87,6 +91,10 @@ public class UDDIValueSetValidationImpl 
 
                 DispositionReport r = new DispositionReport();
                 r.getResult().add(new Result());
+                long procTime = System.currentTimeMillis() - startTime;
+                serviceCounter.update(ValueSetValidationQuery.VALIDATE_VALUES,
+                        QueryStatus.SUCCESS, procTime);
+
                 return r;
         }
 
@@ -173,7 +181,7 @@ public class UDDIValueSetValidationImpl 
          * @param tModelkey
          * @return
          */
-        private List<String> getValidValues(String tModelKey) {
+        public static List<String> getValidValues(String tModelKey) {
                 List<String> ret = null;
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
@@ -233,31 +241,31 @@ public class UDDIValueSetValidationImpl 
 
         private void validateTmodelInstanceDetails(List<TModelInstanceInfo> 
tModelInstanceInfo, String xpath) throws DispositionReportFaultMessage {
                 /*
-                if (tModelInstanceInfo == null) {
-                        return;
-                }
-                String err = "";
-                for (int i = 0; i < tModelInstanceInfo.size(); i++) {
-                        List<String> validValues = 
getValidValues(tModelInstanceInfo.get(i).getTModelKey());
-                        if (validValues != null) {
-                                //compare against the instance info
-                                if 
(tModelInstanceInfo.get(i).getInstanceDetails() == null) {
-                                        err += xpath + ".(" + i + 
").instanceDetails=null ";
-                                } else {
-                                        boolean ok = false;
-                                        for (int k = 0; k < 
validValues.size(); k++) {
-                                                if 
(validValues.get(k).equals(tModelInstanceInfo.get(i).getInstanceDetails().getInstanceParms()))
 {
-                                                        ok = true;
-                                                }
-                                        }
-                                        if (!ok) {
-                                                err += xpath + ".(" + i + 
").instanceDetails.instanceParams ";
-                                        }
-                                }
-                        }
-                }
-                if (err.length() > 0) {
-                        throw new InvalidValueException(new 
ErrorMessage("errors.valuesetvalidation.invalidcontent", err));
-                }*/
+                 if (tModelInstanceInfo == null) {
+                 return;
+                 }
+                 String err = "";
+                 for (int i = 0; i < tModelInstanceInfo.size(); i++) {
+                 List<String> validValues = 
getValidValues(tModelInstanceInfo.get(i).getTModelKey());
+                 if (validValues != null) {
+                 //compare against the instance info
+                 if (tModelInstanceInfo.get(i).getInstanceDetails() == null) {
+                 err += xpath + ".(" + i + ").instanceDetails=null ";
+                 } else {
+                 boolean ok = false;
+                 for (int k = 0; k < validValues.size(); k++) {
+                 if 
(validValues.get(k).equals(tModelInstanceInfo.get(i).getInstanceDetails().getInstanceParms()))
 {
+                 ok = true;
+                 }
+                 }
+                 if (!ok) {
+                 err += xpath + ".(" + i + ").instanceDetails.instanceParams ";
+                 }
+                 }
+                 }
+                 }
+                 if (err.length() > 0) {
+                 throw new InvalidValueException(new 
ErrorMessage("errors.valuesetvalidation.invalidcontent", err));
+                 }*/
         }
 }

Modified: 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValue.java
URL: 
http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValue.java?rev=1549946&r1=1549945&r2=1549946&view=diff
==============================================================================
--- 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValue.java
 (original)
+++ 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValue.java
 Tue Dec 10 19:24:33 2013
@@ -13,11 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.juddi.model;
 
-import java.util.ArrayList;
-import java.util.List;
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
@@ -25,8 +22,8 @@ import javax.persistence.FetchType;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.OrderBy;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
 import javax.persistence.Table;
 
 /**
@@ -37,20 +34,32 @@ import javax.persistence.Table;
 @Table(name = "j3_valuesetval")
 public class ValueSetValue implements java.io.Serializable {
 
-        private static final long serialVersionUID = 7767275374035531912L;
+        private static final long serialVersionUID = 7767275374037531912L;
         private Long id;
         private String tmodelKey;
         private String value = null;
+        private ValueSetValues parent = null;
+
 
         public ValueSetValue() {
         }
 
         public ValueSetValue(String tmodelkey, String value) {
-                
-                this.value=(value);
+
+                this.value = (value);
                 this.tmodelKey = tmodelkey;
         }
 
+        @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, 
targetEntity = ValueSetValues.class)
+        @JoinColumn(name="OWNER_ID")
+        public ValueSetValues getParent() {
+                return parent;
+        }
+
+        public void setParent(ValueSetValues parent) {
+                this.parent = parent;
+        }
+      
         @Id
         @GeneratedValue(strategy = GenerationType.AUTO)
         public Long getId() {
@@ -61,7 +70,8 @@ public class ValueSetValue implements ja
                 this.id = id;
         }
         
-        @Column(name="j3_tmodelkey", nullable=false, length=255)
+        //@Id
+        @Column(name = "j3_tmodelkey", nullable = false, length = 255)
         public String getTModelKey() {
                 return this.tmodelKey;
         }
@@ -70,12 +80,13 @@ public class ValueSetValue implements ja
                 this.tmodelKey = key;
         }
 
-        @Column(name="j3_value", nullable=false, length=255)
+        //@OneToMany()
+        @Column(name = "j3_value", nullable = false, length = 255)
         public String getValue() {
                 return this.value;
         }
 
-        public void setValues(String values) {
+        public void setValue(String values) {
                 this.value = values;
         }
 }

Modified: 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValues.java
URL: 
http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValues.java?rev=1549946&r1=1549945&r2=1549946&view=diff
==============================================================================
--- 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValues.java
 (original)
+++ 
juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValues.java
 Tue Dec 10 19:24:33 2013
@@ -17,17 +17,15 @@ package org.apache.juddi.model;
 
 import java.util.ArrayList;
 import java.util.List;
-import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
 import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
 import javax.persistence.OrderBy;
 import javax.persistence.Table;
-import org.apache.juddi.model.ValueSetValue;
 
 /**
  *
@@ -39,11 +37,12 @@ public class ValueSetValues implements j
 
         public static final transient String TABLE_NAME = "j3_valuesets";
         public static final transient String COLUMN_TMODELKEY = "j3_tmodelkey";
-        private static final long serialVersionUID = 7767275374035531912L;
-       // private Long id;
+        private static final long serialVersionUID = 7767295374035531912L;
+        // private Long id;
         private String tmodelKey;
         private List<ValueSetValue> values = new ArrayList<ValueSetValue>(0);
-
+        
+        
         public ValueSetValues() {
         }
 
@@ -53,17 +52,16 @@ public class ValueSetValues implements j
                 this.tmodelKey = tmodelkey;
         }
 
-       /*
-        @GeneratedValue(strategy = GenerationType.AUTO)
-        public Long getId() {
-                return this.id;
-        }
-
-        public void setId(Long id) {
-                this.id = id;
-        }*/
-
-         @Id
+        /*
+         @GeneratedValue(strategy = GenerationType.AUTO)
+         public Long getId() {
+         return this.id;
+         }
+
+         public void setId(Long id) {
+         this.id = id;
+         }*/
+        @Id
         @Column(name = "j3_tmodelkey", nullable = false, length = 255)
         public String getTModelKey() {
                 return this.tmodelKey;
@@ -73,8 +71,10 @@ public class ValueSetValues implements j
                 this.tmodelKey = key;
         }
 
-        @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy 
= "values")
         @OrderBy
+        //@Column(name = "j3_vsv_values")
+        @OneToMany(targetEntity = ValueSetValue.class, fetch = FetchType.EAGER)
+         //@JoinColumn(referencedColumnName = ("j3_value"), insertable = 
true,table = "j3_valuesetval")
         public List<ValueSetValue> getValues() {
                 return this.values;
         }
@@ -82,4 +82,6 @@ public class ValueSetValues implements j
         public void setValues(List<ValueSetValue> values) {
                 this.values = values;
         }
+
+        
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to