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]