Repository: juddi
Updated Branches:
  refs/heads/master ba85baa1c -> 2ba82c8ea


JUDDI-913 fixed and tested


Project: http://git-wip-us.apache.org/repos/asf/juddi/repo
Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/2ba82c8e
Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/2ba82c8e
Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/2ba82c8e

Branch: refs/heads/master
Commit: 2ba82c8ea43ed7e405dda8f4e3894d109ab89ca8
Parents: ba85baa
Author: Alex <[email protected]>
Authored: Sun Jan 18 21:36:07 2015 -0500
Committer: Alex <[email protected]>
Committed: Sun Jan 18 21:36:07 2015 -0500

----------------------------------------------------------------------
 .../juddi/api/impl/UDDIPublicationImpl.java     |  57 +++++--
 .../apache/juddi/mapping/MappingApiToModel.java |  10 +-
 .../apache/juddi/mapping/MappingModelToApi.java |   4 +-
 .../apache/juddi/model/PublisherAssertion.java  |   9 +-
 .../java/org/apache/juddi/model/Signature.java  |  33 ++--
 .../impl/API_060_PublisherAssertionTest.java    | 170 +++++++++++++------
 6 files changed, 199 insertions(+), 84 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/2ba82c8e/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java 
b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
index a62e1c6..0139497 100644
--- 
a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
+++ 
b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
@@ -25,6 +25,7 @@ import java.util.List;
 import javax.jws.WebService;
 import javax.persistence.EntityManager;
 import javax.persistence.EntityTransaction;
+import javax.persistence.Query;
 import javax.xml.bind.JAXB;
 import javax.xml.datatype.DatatypeConfigurationException;
 import javax.xml.datatype.DatatypeFactory;
@@ -43,9 +44,9 @@ import org.apache.juddi.model.BindingTemplate;
 import org.apache.juddi.model.BusinessEntity;
 import org.apache.juddi.model.BusinessService;
 import org.apache.juddi.model.ChangeRecord;
+import org.apache.juddi.model.Signature;
 import org.apache.juddi.model.Tmodel;
 import org.apache.juddi.model.UddiEntityPublisher;
-import org.apache.juddi.query.DeletePublisherAssertionByBusinessQuery;
 import org.apache.juddi.query.FetchBusinessEntitiesQuery;
 import org.apache.juddi.query.FetchTModelsQuery;
 import org.apache.juddi.query.FindBusinessByPublisherQuery;
@@ -156,6 +157,9 @@ public class UDDIPublicationImpl extends 
AuthenticatedService implements UDDIPub
                                                 if 
(publisher.isOwner(existingPubAssertion.getBusinessEntityByToKey())) {
                                                         
existingPubAssertion.setToCheck("true");
                                                 }
+                                                //it's also possible that the 
signatures have changed
+                                                
removeExistingPublisherAssertionSignatures(existingPubAssertion.getBusinessEntityByFromKey().getEntityKey(),
 existingPubAssertion.getBusinessEntityByToKey().getEntityKey(), em);
+                                                
savePushliserAssertionSignatures(existingPubAssertion.getBusinessEntityByFromKey().getEntityKey(),
 existingPubAssertion.getBusinessEntityByToKey().getEntityKey(), 
modelPubAssertion.getSignatures(), em);
 
                                                 em.merge(existingPubAssertion);
                                                 persistNewAssertion = false;
@@ -164,6 +168,7 @@ public class UDDIPublicationImpl extends 
AuthenticatedService implements UDDIPub
                                                 // Otherwise, it is a new 
relationship between these entities.  Remove the old one so the new one can be 
added.
                                                 // TODO: the model only seems 
to allow one assertion per two business (primary key is fromKey and toKey). 
Spec seems to imply as 
                                                 // many relationships as 
desired (the differentiator would be the keyedRef values).
+                                                
removeExistingPublisherAssertionSignatures(existingPubAssertion.getBusinessEntityByFromKey().getEntityKey(),
 existingPubAssertion.getBusinessEntityByToKey().getEntityKey(), em);
                                                 
em.remove(existingPubAssertion);
                                                 
changes.add(getChangeRecord_deletePublisherAssertion(apiPubAssertion, node, 
true, true, System.currentTimeMillis()));
                                         }
@@ -185,6 +190,8 @@ public class UDDIPublicationImpl extends 
AuthenticatedService implements UDDIPub
                                                 
modelPubAssertion.setToCheck("true");
                                         }
                                         modelPubAssertion.setModified(new 
Date());
+                                         
savePushliserAssertionSignatures(modelPubAssertion.getBusinessEntityByFromKey().getEntityKey(),
 modelPubAssertion.getBusinessEntityByToKey().getEntityKey(), 
modelPubAssertion.getSignatures(), em);
+
                                         em.persist(modelPubAssertion);
 
                                         
changes.add(getChangeRecord_NewAssertion(apiPubAssertion, modelPubAssertion, 
node));
@@ -359,9 +366,15 @@ public class UDDIPublicationImpl extends 
AuthenticatedService implements UDDIPub
                                 }
                                 if 
("false".equalsIgnoreCase(existingPubAssertion.getToCheck())
                                         && 
"false".equalsIgnoreCase(existingPubAssertion.getFromCheck())) {
+                                        logger.info("Publisher assertion 
updated database via replication");
+                                        
removeExistingPublisherAssertionSignatures(existingPubAssertion.getBusinessEntityByFromKey().getEntityKey(),
 existingPubAssertion.getBusinessEntityByToKey().getEntityKey(), em);
                                         em.remove(existingPubAssertion);
                                 } else {
                                         existingPubAssertion.setModified(new 
Date());
+                                        logger.info("Publisher assertion 
updated database via replication");
+                                        
removeExistingPublisherAssertionSignatures(existingPubAssertion.getBusinessEntityByFromKey().getEntityKey(),
 existingPubAssertion.getBusinessEntityByToKey().getEntityKey(), em);
+                                        
savePushliserAssertionSignatures(existingPubAssertion.getBusinessEntityByFromKey().getEntityKey(),
+                                                
existingPubAssertion.getBusinessEntityByToKey().getEntityKey(), 
modelPubAssertion.getSignatures(), em);
                                         em.persist(existingPubAssertion);
                                 }
 
@@ -419,11 +432,15 @@ public class UDDIPublicationImpl extends 
AuthenticatedService implements UDDIPub
                 }
                 if ("false".equalsIgnoreCase(existingPubAssertion.getToCheck())
                         && 
"false".equalsIgnoreCase(existingPubAssertion.getFromCheck())) {
-                        logger.info("!!!Deletion of publisher assertion from 
database via replication");
+                        logger.info("Deletion of publisher assertion from 
database via replication");
+                        
removeExistingPublisherAssertionSignatures(existingPubAssertion.getBusinessEntityByFromKey().getEntityKey(),
 existingPubAssertion.getBusinessEntityByToKey().getEntityKey(), em);
                         em.remove(existingPubAssertion);
                 } else {
                         existingPubAssertion.setModified(new Date());
-                        logger.info("!!!Publisher assertion update database 
via replication");
+                        logger.info("Publisher assertion updated database via 
replication");
+                        
removeExistingPublisherAssertionSignatures(existingPubAssertion.getBusinessEntityByFromKey().getEntityKey(),
 existingPubAssertion.getBusinessEntityByToKey().getEntityKey(), em);
+                        
savePushliserAssertionSignatures(existingPubAssertion.getBusinessEntityByFromKey().getEntityKey(),
+                                
existingPubAssertion.getBusinessEntityByToKey().getEntityKey(), 
modelPubAssertion.getSignatures(), em);
                         em.persist(existingPubAssertion);
                 }
 
@@ -927,7 +944,7 @@ public class UDDIPublicationImpl extends 
AuthenticatedService implements UDDIPub
                         List<ChangeRecord> changes = new 
ArrayList<ChangeRecord>();
                         for (org.uddi.api_v3.TModel apiTModel : apiTModelList) 
{
 
-                               // Object obj=em.find( 
org.apache.juddi.model.Tmodel.class, apiTModel.getTModelKey());
+                                // Object obj=em.find( 
org.apache.juddi.model.Tmodel.class, apiTModel.getTModelKey());
                                 //just making changes to an existing tModel, 
no worries
                                 org.apache.juddi.model.Tmodel modelTModel = 
new org.apache.juddi.model.Tmodel();
 
@@ -940,14 +957,14 @@ public class UDDIPublicationImpl extends 
AuthenticatedService implements UDDIPub
                                 result.getTModel().add(apiTModel);
                                 changes.add(getChangeRecord(modelTModel, 
apiTModel, node));
                                 /*
-                                //TODO JUDDI-915
-                                if (obj != null) {
+                                 //TODO JUDDI-915
+                                 if (obj != null) {
 
-                                        
changes.add(getChangeRecord(modelTModel, apiTModel, node));
-                                } else {
-                                        //special case for replication, must 
setup a new data conditional change record
-                                        
changes.add(getChangeRecordConditional(modelTModel, apiTModel, node));
-                                }*/
+                                 changes.add(getChangeRecord(modelTModel, 
apiTModel, node));
+                                 } else {
+                                 //special case for replication, must setup a 
new data conditional change record
+                                 
changes.add(getChangeRecordConditional(modelTModel, apiTModel, node));
+                                 }*/
 
                         }
 
@@ -1574,4 +1591,22 @@ public class UDDIPublicationImpl extends 
AuthenticatedService implements UDDIPub
                 return cr;
         }
 
+        private void removeExistingPublisherAssertionSignatures(String from, 
String to, EntityManager em) {
+                Query createQuery = em.createQuery("delete from Signature pa 
where pa.publisherAssertionFromKey=:from and pa.publisherAssertionToKey=:to");
+                createQuery.setParameter("from", from);
+                createQuery.setParameter("to", to);
+                createQuery.executeUpdate();
+        }
+
+        private void savePushliserAssertionSignatures(String from, String to, 
List<Signature> signatures, EntityManager em) {
+                if (signatures == null) {
+                        return;
+                }
+                for (Signature s : signatures) {
+                        s.setPublisherAssertionFromKey(from);
+                        s.setPublisherAssertionToKey(to);
+                        em.persist(s);
+                }
+        }
+
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/2ba82c8e/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java 
b/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
index 0648a02..1dd95a4 100644
--- a/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
+++ b/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
@@ -1004,10 +1004,14 @@ public class MappingApiToModel {
                 }
                 if (!apiPubAssertion.getSignature().isEmpty())
                 {
-                      /*  
modelPubAssertion.setSignatures(mapApiSignaturesToModelSignatures(apiPubAssertion.getSignature()));
+                        
modelPubAssertion.setSignatures(mapApiSignaturesToModelSignatures(apiPubAssertion.getSignature()));
                         for (Signature s : modelPubAssertion.getSignatures())
-                                s.setPublisherAssertion(modelPubAssertion);
-                        */
+                        {        
s.setPublisherAssertionFromKey(modelPubAssertion.getBusinessEntityByFromKey().getEntityKey());
+                                
s.setPublisherAssertionToKey(modelPubAssertion.getBusinessEntityByToKey().getEntityKey());
+                                
+                        }
+                        
+                        
                 }
         }
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/2ba82c8e/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java 
b/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
index 98d3ec9..f622097 100644
--- a/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
+++ b/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
@@ -1018,11 +1018,11 @@ public class MappingModelToApi {
                 keyedRef.setKeyName(modelPublisherAssertion.getKeyName());
                 keyedRef.setKeyValue(modelPublisherAssertion.getKeyValue());
 
-               /* if (modelPublisherAssertion.getSignatures()!=null &&
+                if (modelPublisherAssertion.getSignatures()!=null &&
                         !modelPublisherAssertion.getSignatures().isEmpty())
                 {
                         mapSignature(modelPublisherAssertion.getSignatures(), 
apiPublisherAssertion.getSignature());
-                }*/
+                }
                 apiPublisherAssertion.setKeyedReference(keyedRef);
                
         }

http://git-wip-us.apache.org/repos/asf/juddi/blob/2ba82c8e/juddi-core/src/main/java/org/apache/juddi/model/PublisherAssertion.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/main/java/org/apache/juddi/model/PublisherAssertion.java 
b/juddi-core/src/main/java/org/apache/juddi/model/PublisherAssertion.java
index 3f9d592..c00269d 100644
--- a/juddi-core/src/main/java/org/apache/juddi/model/PublisherAssertion.java
+++ b/juddi-core/src/main/java/org/apache/juddi/model/PublisherAssertion.java
@@ -28,7 +28,6 @@ import javax.persistence.FetchType;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
-import javax.persistence.OrderBy;
 import javax.persistence.Table;
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
@@ -95,6 +94,8 @@ public class PublisherAssertion implements 
java.io.Serializable {
        public void setId(PublisherAssertionId id) {
                this.id = id;
        }
+         
+        
        @ManyToOne(fetch = FetchType.LAZY)
        @JoinColumn(name = "to_key", nullable = false, insertable = false, 
updatable = false)
 
@@ -170,13 +171,15 @@ public class PublisherAssertion implements 
java.io.Serializable {
                 return (this.id.equals(rhs.id));
         }
         
-        /*
+        
         @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
         public List<Signature> getSignatures() {
+                if (signatures==null)
+                        signatures=new ArrayList<Signature>();
                 return signatures;
         }
 
         public void setSignatures(List<Signature> signatures) {
                 this.signatures = signatures;
-        }*/
+        }
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/2ba82c8e/juddi-core/src/main/java/org/apache/juddi/model/Signature.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/model/Signature.java 
b/juddi-core/src/main/java/org/apache/juddi/model/Signature.java
index 3b36265..856014a 100644
--- a/juddi-core/src/main/java/org/apache/juddi/model/Signature.java
+++ b/juddi-core/src/main/java/org/apache/juddi/model/Signature.java
@@ -24,7 +24,6 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
-import javax.persistence.JoinColumns;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
 import javax.persistence.OrderBy;
@@ -50,7 +49,8 @@ public class Signature implements java.io.Serializable {
     private ReplicationConfiguration replConfig;
     private Tmodel tmodel;
     private String xmlID;
-    private PublisherAssertion assertion;
+    private String assertionFromKey;
+    private String assertionToKey;
 
     @Id
     @GeneratedValue(strategy=GenerationType.AUTO)
@@ -72,18 +72,23 @@ public class Signature implements java.io.Serializable {
         this.bindingTemplate = bindingTemplate;
     }
     
-    /*@ManyToOne
-    @JoinColumns({  
-        @JoinColumn(name = "fromKey", nullable = true),
-        @JoinColumn(name = "toKey", nullable = true)
-        })
-    public PublisherAssertion getPublisherAssertion() {
-        return assertion;
-    }
-
-    public void setPublisherAssertion(PublisherAssertion item) {
-        this.assertion = item;
-    }*/
+    
+    
+    @Column(nullable = true, length = 255, name = "passertionfrom")
+    public String getPublisherAssertionFromKey() {
+        return assertionFromKey;
+    }
+
+    public void setPublisherAssertionFromKey(String item) {
+        this.assertionFromKey = item;
+    }
+    @Column(nullable = true, length = 255, name = "passertionto")
+    public String getPublisherAssertionToKey() {
+        return assertionFromKey;
+    }
+    public void setPublisherAssertionToKey(String item) {
+        this.assertionToKey = item;
+    }
  
     
      @ManyToOne

http://git-wip-us.apache.org/repos/asf/juddi/blob/2ba82c8e/juddi-core/src/test/java/org/apache/juddi/api/impl/API_060_PublisherAssertionTest.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_060_PublisherAssertionTest.java
 
b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_060_PublisherAssertionTest.java
index e11148f..7ff6e80 100644
--- 
a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_060_PublisherAssertionTest.java
+++ 
b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_060_PublisherAssertionTest.java
@@ -17,11 +17,13 @@ package org.apache.juddi.api.impl;
 /**
  * @author <a href="mailto:[email protected]";>Jeff Faath</a>
  * @author <a href="mailto:[email protected]";>Kurt T Stam</a>
- * * @author <a href="mailto:[email protected]";>Kurt T Stam</a>
+ * @author <a href="mailto:[email protected]";>Alex O'Ree</a>
  */
 import java.rmi.RemoteException;
+import java.security.cert.CertificateException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.atomic.AtomicReference;
 import javax.xml.bind.JAXB;
 import javax.xml.ws.Holder;
 
@@ -31,6 +33,7 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.juddi.Registry;
 import org.apache.juddi.jaxb.EntityCreator;
 import org.apache.juddi.v3.client.UDDIConstants;
+import org.apache.juddi.v3.client.cryptor.DigSigUtil;
 import org.apache.juddi.v3.tck.TckBusiness;
 import org.apache.juddi.v3.tck.TckFindEntity;
 import org.apache.juddi.v3.tck.TckPublisher;
@@ -41,6 +44,7 @@ import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.uddi.api_v3.AddPublisherAssertions;
 import org.uddi.api_v3.AssertionStatusItem;
 import org.uddi.api_v3.CompletionStatus;
 import org.uddi.api_v3.DeletePublisherAssertions;
@@ -75,7 +79,7 @@ public class API_060_PublisherAssertionTest {
                         authInfoSam = TckSecurity.getAuthToken(security, 
TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
                         authInfoMary = TckSecurity.getAuthToken(security, 
TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
                         String root = TckSecurity.getAuthToken(security, 
TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
-                         tckTModel.saveTmodels(root);
+                        tckTModel.saveTmodels(root);
                 } catch (RemoteException e) {
                         logger.error(e.getMessage(), e);
                         Assert.fail("Could not obtain authInfo token." + 
e.getMessage());
@@ -209,58 +213,55 @@ public class API_060_PublisherAssertionTest {
                 //use Set with no inputs
                 //confirm all are deleted
                 try {
-                       
+
                         tckTModel.saveJoePublisherTmodel(authInfoJoe);
                         tckTModel.saveSamSyndicatorTmodel(authInfoSam);
                         tckBusiness.saveJoePublisherBusiness(authInfoJoe);
                         tckBusiness.saveSamSyndicatorBusiness(authInfoSam);
-                        Holder<List<PublisherAssertion>> x =  new 
Holder<List<PublisherAssertion>>();
+                        Holder<List<PublisherAssertion>> x = new 
Holder<List<PublisherAssertion>>();
                         x.value = new ArrayList<PublisherAssertion>();
                         logger.info("Clearing all Joe's publisher 
assertions....");
                         pub.setPublisherAssertions(authInfoJoe, x);
-                        
+
                         logger.info("Clearing all Sam's publisher 
assertions....");
                         pub.setPublisherAssertions(authInfoSam, x);
-                        
-                        
-                        
+
                         logger.info("Confirming we're clear");
-                         List<PublisherAssertion> before = 
pub.getPublisherAssertions(authInfoJoe);
+                        List<PublisherAssertion> before = 
pub.getPublisherAssertions(authInfoJoe);
                         Assert.assertNotNull(before);
                         Assert.assertTrue(before.isEmpty());
-                         System.out.println(before.size());
+                        System.out.println(before.size());
                         for (int i = 0; i < before.size(); i++) {
                                 JAXB.marshal(before.get(i), System.out);
                         }
-                        
+
                         before = pub.getPublisherAssertions(authInfoSam);
                         Assert.assertNotNull(before);
                         Assert.assertTrue(before.isEmpty());
-                         System.out.println(before.size());
+                        System.out.println(before.size());
                         for (int i = 0; i < before.size(); i++) {
                                 JAXB.marshal(before.get(i), System.out);
                         }
-                        
+
                         List<AssertionStatusItem> assertionStatusReport = 
pub.getAssertionStatusReport(authInfoJoe, null);
                         Assert.assertTrue(assertionStatusReport.isEmpty());
-                        
+
                         assertionStatusReport = 
pub.getAssertionStatusReport(authInfoSam, null);
                         Assert.assertTrue(assertionStatusReport.isEmpty());
-                        
+
                         logger.info("Saving 1/2 publisher assertion....");
                         List<PublisherAssertion> onehalfPA = 
tckAssertion.saveJoePublisherPublisherAssertion(authInfoJoe);
 
-                        
                         before = pub.getPublisherAssertions(authInfoJoe);
                         Assert.assertNotNull(before);
                         Assert.assertFalse(before.isEmpty());
-                         System.out.println(before.size());
+                        System.out.println(before.size());
                         for (int i = 0; i < before.size(); i++) {
                                 JAXB.marshal(before.get(i), System.out);
                         }
                         //PublisherAssertion paIn = 
(PublisherAssertion)EntityCreator.buildFromDoc(TckPublisherAssertion.JOE_ASSERT_XML,
 "org.uddi.api_v3");
                         //dp.getPublisherAssertion().add(paIn);
-                        x =  new Holder<List<PublisherAssertion>>();
+                        x = new Holder<List<PublisherAssertion>>();
                         x.value = new ArrayList<PublisherAssertion>();
                         logger.info("Clearing all publisher assertions....");
                         pub.setPublisherAssertions(authInfoJoe, x);
@@ -269,7 +270,7 @@ public class API_060_PublisherAssertionTest {
                                 JAXB.marshal(x.value.get(i), System.out);
                         }
 
-                         logger.info("Fetch all publisher assertions....there 
should be none");
+                        logger.info("Fetch all publisher assertions....there 
should be none");
                         List<PublisherAssertion> publisherAssertions = 
pub.getPublisherAssertions(authInfoJoe);
                         System.out.println(publisherAssertions.size());
                         for (int i = 0; i < publisherAssertions.size(); i++) {
@@ -323,82 +324,82 @@ public class API_060_PublisherAssertionTest {
                 //create 1/2 PA
                 //use Set with a new PA
                 //confirm first PA is gone and the new PA exists
-                  try {
-                       
+                try {
+
                         tckTModel.saveJoePublisherTmodel(authInfoJoe);
                         tckTModel.saveSamSyndicatorTmodel(authInfoSam);
                         tckTModel.saveMaryPublisherTmodel(authInfoMary);
                         tckBusiness.saveJoePublisherBusiness(authInfoJoe);
                         tckBusiness.saveSamSyndicatorBusiness(authInfoSam);
                         tckBusiness.saveMaryPublisherBusiness(authInfoMary);
-                        Holder<List<PublisherAssertion>> x =  new 
Holder<List<PublisherAssertion>>();
+                        Holder<List<PublisherAssertion>> x = new 
Holder<List<PublisherAssertion>>();
                         x.value = new ArrayList<PublisherAssertion>();
                         logger.info("Clearing all Joe's publisher 
assertions....");
                         pub.setPublisherAssertions(authInfoJoe, x);
-                        
+
                         logger.info("Clearing all Sam's publisher 
assertions....");
                         pub.setPublisherAssertions(authInfoSam, x);
-                        
+
                         logger.info("Clearing all Mary's publisher 
assertions....");
                         pub.setPublisherAssertions(authInfoMary, x);
-                        
-                        
-                        
+
                         logger.info("Confirming we're clear");
-                         List<PublisherAssertion> before = 
pub.getPublisherAssertions(authInfoJoe);
+                        List<PublisherAssertion> before = 
pub.getPublisherAssertions(authInfoJoe);
                         Assert.assertNotNull(before);
-                        
-                         System.out.println(before.size());
+
+                        System.out.println(before.size());
                         for (int i = 0; i < before.size(); i++) {
                                 JAXB.marshal(before.get(i), System.out);
-                        }Assert.assertTrue(before.isEmpty());
-                        
+                        }
+                        Assert.assertTrue(before.isEmpty());
+
                         before = pub.getPublisherAssertions(authInfoSam);
                         Assert.assertNotNull(before);
-                        
-                         System.out.println(before.size());
+
+                        System.out.println(before.size());
                         for (int i = 0; i < before.size(); i++) {
                                 JAXB.marshal(before.get(i), System.out);
-                        }Assert.assertTrue(before.isEmpty());
-                        
+                        }
+                        Assert.assertTrue(before.isEmpty());
+
                         before = pub.getPublisherAssertions(authInfoMary);
                         Assert.assertNotNull(before);
-                        
-                         System.out.println(before.size());
+
+                        System.out.println(before.size());
                         for (int i = 0; i < before.size(); i++) {
                                 JAXB.marshal(before.get(i), System.out);
-                        }Assert.assertTrue(before.isEmpty());
-                        
+                        }
+                        Assert.assertTrue(before.isEmpty());
+
                         List<AssertionStatusItem> assertionStatusReport = 
pub.getAssertionStatusReport(authInfoJoe, null);
                         Assert.assertTrue(assertionStatusReport.isEmpty());
-                        
+
                         assertionStatusReport = 
pub.getAssertionStatusReport(authInfoSam, null);
                         Assert.assertTrue(assertionStatusReport.isEmpty());
-                        
+
                         assertionStatusReport = 
pub.getAssertionStatusReport(authInfoMary, null);
                         Assert.assertTrue(assertionStatusReport.isEmpty());
-                        
+
                         logger.info("Saving 1/2 publisher assertion....");
                         List<PublisherAssertion> onehalfPA = 
tckAssertion.saveJoePublisherPublisherAssertion(authInfoJoe);
 
-                        
                         before = pub.getPublisherAssertions(authInfoJoe);
                         Assert.assertNotNull(before);
                         Assert.assertFalse(before.isEmpty());
-                         System.out.println(before.size());
+                        System.out.println(before.size());
                         for (int i = 0; i < before.size(); i++) {
                                 JAXB.marshal(before.get(i), System.out);
                         }
                         //PublisherAssertion paIn = 
(PublisherAssertion)EntityCreator.buildFromDoc(TckPublisherAssertion.JOE_ASSERT_XML,
 "org.uddi.api_v3");
                         //dp.getPublisherAssertion().add(paIn);
-                        x =  new Holder<List<PublisherAssertion>>();
+                        x = new Holder<List<PublisherAssertion>>();
                         x.value = new ArrayList<PublisherAssertion>();
                         PublisherAssertion pa = new PublisherAssertion();
-                        
+
                         pa.setFromKey(TckBusiness.JOE_BUSINESS_KEY);
                         pa.setToKey(TckBusiness.MARY_BUSINESS_KEY);
                         pa.setKeyedReference(new 
KeyedReference(UDDIConstants.RELATIONSHIPS, "parent-child", "child"));
-                        
+
                         x.value.add(pa);
                         logger.info("Using set to clear existing and add a new 
publisher assertion....");
                         pub.setPublisherAssertions(authInfoJoe, x);
@@ -407,7 +408,7 @@ public class API_060_PublisherAssertionTest {
                                 JAXB.marshal(x.value.get(i), System.out);
                         }
 
-                         logger.info("Fetch all publisher assertions....there 
should be 1");
+                        logger.info("Fetch all publisher assertions....there 
should be 1");
                         List<PublisherAssertion> publisherAssertions = 
pub.getPublisherAssertions(authInfoJoe);
                         System.out.println(publisherAssertions.size());
                         for (int i = 0; i < publisherAssertions.size(); i++) {
@@ -418,7 +419,7 @@ public class API_060_PublisherAssertionTest {
                         
Assert.assertEquals(publisherAssertions.get(0).getKeyedReference().getKeyName(),
 pa.getKeyedReference().getKeyName());
                         
Assert.assertEquals(publisherAssertions.get(0).getKeyedReference().getKeyValue(),
 pa.getKeyedReference().getKeyValue());
                         
Assert.assertEquals(publisherAssertions.get(0).getKeyedReference().getTModelKey(),
 pa.getKeyedReference().getTModelKey());
-                        
+
                         //
                 } finally {
                         
//tckAssertion.deleteJoePublisherPublisherAssertion(authInfoJoe);
@@ -429,6 +430,73 @@ public class API_060_PublisherAssertionTest {
                         tckTModel.deleteSamSyndicatorTmodel(authInfoSam);
                         tckTModel.deleteMaryPublisherTmodel(authInfoMary);
                 }
-                  
+
+        }
+        DigSigUtil ds;
+
+        void SetCertStoreSettigns() {
+                ds.put(DigSigUtil.SIGNATURE_KEYSTORE_FILE, 
"./src/test/resources/keystore.jks");
+                ds.put(DigSigUtil.SIGNATURE_KEYSTORE_FILETYPE, "JKS");
+                ds.put(DigSigUtil.SIGNATURE_KEYSTORE_FILE_PASSWORD, "Test");
+                ds.put(DigSigUtil.SIGNATURE_KEYSTORE_KEY_ALIAS, "Test");
+                ds.put(DigSigUtil.TRUSTSTORE_FILE, 
"./src/test/resources/truststore.jks");
+                ds.put(DigSigUtil.TRUSTSTORE_FILETYPE, "JKS");
+                ds.put(DigSigUtil.TRUSTSTORE_FILE_PASSWORD, "Test");
+        }
+
+        void Default() throws CertificateException {
+                ds = new DigSigUtil();
+                SetCertStoreSettigns();
+                ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_BASE64, 
"true");
+        }
+
+        @Test
+        public void testPublisherAssertionSignatures() throws Exception {
+                try {
+                        Default();
+                        tckTModel.saveJoePublisherTmodel(authInfoJoe);
+                        tckTModel.saveSamSyndicatorTmodel(authInfoSam);
+                        tckBusiness.saveJoePublisherBusiness(authInfoJoe);
+                        tckBusiness.saveSamSyndicatorBusiness(authInfoSam);
+                        AddPublisherAssertions ap = new 
AddPublisherAssertions();
+                        ap.setAuthInfo(authInfoJoe);
+
+                        PublisherAssertion paIn = (PublisherAssertion) 
EntityCreator.buildFromDoc(TckPublisherAssertion.JOE_ASSERT_XML, 
"org.uddi.api_v3");
+                        paIn = ds.signUddiEntity(paIn);
+
+                        ap.getPublisherAssertion().add(paIn);
+                        Assert.assertFalse(paIn.getSignature().isEmpty());
+                        pub.addPublisherAssertions(ap);
+
+                        List<PublisherAssertion> onehalfPA = 
tckAssertion.saveJoePublisherPublisherAssertion(authInfoJoe);
+
+                       
+                        Assert.assertNotNull(onehalfPA);
+                        
Assert.assertFalse(onehalfPA.get(0).getSignature().isEmpty());
+                        Assert.assertFalse(onehalfPA.isEmpty());
+                        
+                        Assert.assertNotNull(onehalfPA);
+                        
Assert.assertFalse(onehalfPA.get(0).getSignature().isEmpty());
+                        Assert.assertFalse(onehalfPA.isEmpty());
+                        
Assert.assertEquals(paIn.getSignature().size(),onehalfPA.get(0).getSignature().size());
+                        
Assert.assertEquals(paIn.getSignature().get(0).getId(),onehalfPA.get(0).getSignature().get(0).getId());
+                        
Assert.assertEquals(paIn.getSignature().get(0).getKeyInfo().getId(),onehalfPA.get(0).getSignature().get(0).getKeyInfo().getId());
+                        
Assert.assertEquals(paIn.getSignature().get(0).getKeyInfo().getContent().size(),onehalfPA.get(0).getSignature().get(0).getKeyInfo().getContent().size());
+                        
+                        
Assert.assertEquals(paIn.getSignature().get(0).getSignedInfo().getCanonicalizationMethod().getAlgorithm(),onehalfPA.get(0).getSignature().get(0).getSignedInfo().getCanonicalizationMethod().getAlgorithm());
+                        
Assert.assertEquals(paIn.getSignature().get(0).getSignedInfo().getId(),onehalfPA.get(0).getSignature().get(0).getSignedInfo().getId());
+                        
Assert.assertEquals(paIn.getSignature().get(0).getSignedInfo().getReference().size(),onehalfPA.get(0).getSignature().get(0).getSignedInfo().getReference().size());
+                        AtomicReference<String> outmsg=new 
AtomicReference<String>();
+                        boolean 
success=ds.verifySignedUddiEntity(onehalfPA.get(0), outmsg);
+                        Assert.assertTrue(outmsg.get(), success);
+                     
+                        //
+                } finally {
+                        
//tckAssertion.deleteJoePublisherPublisherAssertion(authInfoJoe);
+                        tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
+                        tckBusiness.deleteSamSyndicatorBusiness(authInfoSam);
+                        tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+                        tckTModel.deleteSamSyndicatorTmodel(authInfoSam);
+                }
         }
 }


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

Reply via email to