JUDDI-956 fixed
diff --git a/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java b/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
index 2111ecf..6ec27f1 100644
--- a/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
+++ b/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
@@ -1955,6 +1955,7 @@
if (modelTModel == null) {
checked = false;
} else {
+ if (modelTModel.getCategoryBag()!=null)
for (org.apache.juddi.model.KeyedReference ref : modelTModel.getCategoryBag().getKeyedReferences()) {
if ("uddi-org:types:unchecked".equalsIgnoreCase(ref.getKeyName())) {
checked = false;
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_020_TmodelTest.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_020_TmodelTest.java
index 84af602..da65e4b 100644
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_020_TmodelTest.java
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_020_TmodelTest.java
@@ -27,6 +27,10 @@
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.uddi.api_v3.CategoryBag;
+import org.uddi.api_v3.KeyedReference;
+import org.uddi.api_v3.Name;
+import org.uddi.api_v3.TModel;
import org.uddi.api_v3.TModelDetail;
import org.uddi.api_v3.TModelInfo;
import org.uddi.api_v3.TModelList;
@@ -97,4 +101,25 @@
tckTModel.deleteSamSyndicatorTmodel(authInfoSam);
}
+
+ @Test
+ public void testJUDDI956Test(){
+ tckTModel.saveJoePublisherTmodel(authInfoJoe, true);
+ TModel one = new TModel();
+ one.setTModelKey("uddi:uddi.joepublisher.com:juddi956");
+ one.setName(new Name("JUDDI-956 Test case", "EN"));
+
+ tckTModel.saveTModel(authInfoJoe, one, false);
+ TModel two = new TModel();
+ two.setTModelKey("uddi:uddi.joepublisher.com:juddi956-2");
+ two.setName(new Name("JUDDI-956 Test case", "EN"));
+ two.setCategoryBag(new CategoryBag());
+ two.getCategoryBag().getKeyedReference().add(new KeyedReference("uddi:uddi.joepublisher.com:juddi956", "juddi956", "a value"));
+ tckTModel.saveTModel(authInfoJoe, one, false);
+
+ tckTModel.deleteTModel(authInfoJoe, null, "uddi:uddi.joepublisher.com:juddi956-2");
+ tckTModel.deleteTModel(authInfoJoe, null, "uddi:uddi.joepublisher.com:juddi956");
+ tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+
+ }
}
diff --git a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java
index a689cf0..b338eaf 100644
--- a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java
+++ b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java
@@ -105,7 +105,7 @@
}
}
- private TModel saveTModel(String authInfo, TModel tmIn, boolean force) {
+ public TModel saveTModel(String authInfo, TModel tmIn, boolean force) {
boolean exists = false;
GetTModelDetail gt1 = new GetTModelDetail();
gt1.getTModelKey().add(tmIn.getTModelKey());