Repository: juddi Updated Branches: refs/heads/master 24031fc8c -> 31c146102
JUDDI-906 more test case enhancements JUDDI-910 basics of directed graph support added JUDDI-904 additional output to hopefully back trace the issue Project: http://git-wip-us.apache.org/repos/asf/juddi/repo Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/31c14610 Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/31c14610 Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/31c14610 Branch: refs/heads/master Commit: 31c1461028b1052c38563f8369246fbc6d3d4be9 Parents: 24031fc Author: Alex <[email protected]> Authored: Sun Jan 11 16:13:19 2015 -0500 Committer: Alex <[email protected]> Committed: Sun Jan 11 16:13:19 2015 -0500 ---------------------------------------------------------------------- .../juddi/api/impl/UDDIReplicationImpl.java | 2 +- .../apache/juddi/model/PublisherAssertion.java | 5 - .../juddi/replication/ReplicationNotifier.java | 154 +++++++++++++------ .../juddi/validation/ValidateReplication.java | 49 ++++-- .../tck/JUDDI_300_MultiNodeIntegrationTest.java | 9 +- .../tck/UDDI_090_HttpMavenIntegrationTest.java | 18 ++- .../v3/tck/UDDI_090_RMIIntegrationTest.java | 21 ++- ...090_SubscriptionListenerIntegrationBase.java | 13 +- 8 files changed, 181 insertions(+), 90 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/juddi/blob/31c14610/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java index fbecd3b..7826cc5 100644 --- a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java +++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java @@ -275,7 +275,7 @@ public class UDDIReplicationImpl extends AuthenticatedService implements UDDIRep recordsreturned = records.size(); } } catch (Exception ex) { - logger.error("Error caught fetching replication changes from " + poll, ex); + logger.error("Error caught fetching replication changes from " + poll + " @" + ((BindingProvider)replicationClient).getRequestContext().get(BindingProvider.ENDPOINT_ADDRESS_PROPERTY), ex); } } } else { http://git-wip-us.apache.org/repos/asf/juddi/blob/31c14610/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 da07e13..f0e1f03 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 @@ -15,20 +15,15 @@ package org.apache.juddi.model; * limitations under the License. */ -import java.util.ArrayList; import java.util.Date; -import java.util.List; import javax.persistence.AttributeOverride; import javax.persistence.AttributeOverrides; -import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.EmbeddedId; import javax.persistence.Entity; 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; http://git-wip-us.apache.org/repos/asf/juddi/blob/31c14610/juddi-core/src/main/java/org/apache/juddi/replication/ReplicationNotifier.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/main/java/org/apache/juddi/replication/ReplicationNotifier.java b/juddi-core/src/main/java/org/apache/juddi/replication/ReplicationNotifier.java index 429a9c5..23a8845 100644 --- a/juddi-core/src/main/java/org/apache/juddi/replication/ReplicationNotifier.java +++ b/juddi-core/src/main/java/org/apache/juddi/replication/ReplicationNotifier.java @@ -17,8 +17,11 @@ package org.apache.juddi.replication; import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Queue; +import java.util.Set; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.ConcurrentLinkedQueue; @@ -39,6 +42,7 @@ import org.apache.juddi.model.ChangeRecord; import org.apache.juddi.model.ReplicationConfiguration; import org.apache.juddi.v3.client.UDDIService; import org.uddi.repl_v3.ChangeRecordIDType; +import org.uddi.repl_v3.CommunicationGraph.Edge; import org.uddi.repl_v3.HighWaterMarkVectorType; import org.uddi.repl_v3.NotifyChangeRecordsAvailable; import org.uddi.repl_v3.Operator; @@ -60,6 +64,7 @@ public class ReplicationNotifier extends TimerTask { private long interval = 5000;//AppConfig.getConfiguration().getLong(Property.JUDDI_NOTIFICATION_INTERVAL, 300000l); //5 min default private long acceptableLagTime = AppConfig.getConfiguration().getLong(Property.JUDDI_NOTIFICATION_ACCEPTABLE_LAGTIME, 10000l); //1000 milliseconds private static String node = null; + private static UDDIService uddiService = new UDDIService(); /** * default constructor @@ -105,13 +110,12 @@ public class ReplicationNotifier extends TimerTask { tx = em.getTransaction(); tx.begin(); - em.persist(j); - log.debug("CR saved locally, it was from " + j.getNodeID() + - " USN:" + j.getOriginatingUSN() + - " Type:" + j.getRecordType().name() + - " Key:"+j.getEntityKey() + - " Local id:"+j.getId()); + log.debug("CR saved locally, it was from " + j.getNodeID() + + " USN:" + j.getOriginatingUSN() + + " Type:" + j.getRecordType().name() + + " Key:" + j.getEntityKey() + + " Local id:" + j.getId()); tx.commit(); } catch (Exception ex) { log.error("error", ex); @@ -129,54 +133,64 @@ public class ReplicationNotifier extends TimerTask { //TODO figure out what this statement means 7.5.3 /** * In the absence of a communicationGraph element from the - * Replication Configuration Structure (although it's mandatory in the xsd), all nodes listed in the - * node element MAY send any and all messages to any other node - * of the registry. + * Replication Configuration Structure (although it's mandatory + * in the xsd), all nodes listed in the node element MAY send + * any and all messages to any other node of the registry. */ if (repcfg == null) { log.debug("No replication configuration is defined!"); return; } - List<String> destinationUrls = new ArrayList<String>(); + Set<Object> destinationUrls = new HashSet<Object>(); - for (Operator o:repcfg.getOperator()) - { - //no need to tell myself about a change at myself - if (!o.getOperatorNodeID().equalsIgnoreCase(node)) - destinationUrls.add(o.getSoapReplicationURL()); - } - /* - Iterator<String> iterator = repcfg.getCommunicationGraph().getNode().iterator(); - while (iterator.hasNext()) { - String next = iterator.next(); - - Node destinationNode = getNode(next); - if (destinationNode == null) { - log.warn(next + " node was not found, cannot deliver replication messages"); - } else { - destinationUrls.add(destinationNode.getReplicationUrl()); + if (repcfg.getCommunicationGraph() == null + || repcfg.getCommunicationGraph().getEdge().isEmpty()) { + //no edges or graph defined, default to the operator list + for (Operator o : repcfg.getOperator()) { + //no need to tell myself about a change at myself + if (!o.getOperatorNodeID().equalsIgnoreCase(node)) { + destinationUrls.add(o.getSoapReplicationURL()); + } } - } - Iterator<CommunicationGraph.Edge> it = repcfg.getCommunicationGraph().getEdge().iterator(); + } else { + //repcfg.getCommunicationGraph() + Iterator<Edge> iterator = repcfg.getCommunicationGraph().getEdge().iterator(); + while (iterator.hasNext()) { + Edge next = iterator.next(); - while (it.hasNext()) { - //send each change set to the replication node in the graph + if (next.getMessageSender().equalsIgnoreCase(node)) { - - CommunicationGraph.Edge next = it.next(); - //next.getMessageReceiver(); //Node ID - Node destinationNode = getNode(next.getMessageReceiver()); - if (destinationNode == null) { - log.warn(next.getMessageReceiver() + " node was not found, cannot deliver replication messages"); - } else { - destinationUrls.add(destinationNode.getReplicationUrl()); + //this is my server and i need to transmit the notification to + String messageReceiver = next.getMessageReceiver(); + PrimaryAlternate container = new PrimaryAlternate(); + + for (int x = 0; x < repcfg.getOperator().size(); x++) { + if (repcfg.getOperator().get(x).getOperatorNodeID().equalsIgnoreCase(messageReceiver)) { + container.primaryUrl = repcfg.getOperator().get(x).getSoapReplicationURL(); + } + } + for (int y = 0; y < next.getMessageReceiverAlternate().size(); y++) { + for (int x = 0; x < repcfg.getOperator().size(); x++) { + if (repcfg.getOperator().get(x).getOperatorNodeID().equalsIgnoreCase(next.getMessageReceiverAlternate().get(y))) { + container.alternateUrls.add(repcfg.getOperator().get(x).getSoapReplicationURL()); + } + } + } + if (container.primaryUrl!=null) + destinationUrls.add(container); + + } + } - }*/ - for (String s : destinationUrls) { - //TODO the spec talks about control messages, should we even support it? seems pointless - UDDIReplicationPortType x = new UDDIService().getUDDIReplicationPort(); - ((BindingProvider) x).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, s); + + } + + UDDIReplicationPortType x = uddiService.getUDDIReplicationPort(); + if (destinationUrls.isEmpty()) + log.fatal("Something is bizarre with the replication config. I should have had at least one node to notify, but I have none!"); + for (Object s : destinationUrls) { + NotifyChangeRecordsAvailable req = new NotifyChangeRecordsAvailable(); req.setNotifyingNode(node); @@ -184,15 +198,59 @@ public class ReplicationNotifier extends TimerTask { highWaterMarkVectorType.getHighWaterMark().add(new ChangeRecordIDType(node, j.getId())); req.setChangesAvailable(highWaterMarkVectorType); + + + if (s instanceof String) + SendNotification(x,(String)s, req); + else if (s instanceof PrimaryAlternate) + { + //more complex directed graph stuff + PrimaryAlternate pa = (PrimaryAlternate)s; + if (!SendNotification(x, pa.primaryUrl, req)) + { + for (String url : pa.alternateUrls){ + if (SendNotification(x, url, req)) + break; + //no need to continue to additional alternates + } + } + else + { + //primary url succeeded, no further action required + } + + } + + //TODO the spec talks about control messages, should we even support it? seems pointless + + + } + } + /** + * return true if successful + * @param x + * @param s + * @param req + * @return + */ + private boolean SendNotification(UDDIReplicationPortType x, String s, NotifyChangeRecordsAvailable req) { + ((BindingProvider) x).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, s); try { x.notifyChangeRecordsAvailable(req); log.debug("Successfully sent change record available message to " + s); + return true; } catch (Exception ex) { - log.warn("Unable to send change notification to " + s ); + log.warn("Unable to send change notification to " + s); log.debug("Unable to send change notification to " + s, ex); } - } + return false; + } + + class PrimaryAlternate { + + String primaryUrl=null; + List<String> alternateUrls=new ArrayList<String>(); } public synchronized void run() { @@ -201,13 +259,14 @@ public class ReplicationNotifier extends TimerTask { queue = new ConcurrentLinkedQueue(); } //TODO revisie this - if (!queue.isEmpty()) + if (!queue.isEmpty()) { log.info("Replication, Notifying nodes of new change records. " + queue.size() + " queued"); + } //TODO check for replication config changes while (!queue.isEmpty()) { //for each change at this node - + ChangeRecord j = queue.poll(); ProcessChangeRecord(j); @@ -250,6 +309,7 @@ public class ReplicationNotifier extends TimerTask { return null; } + @Deprecated private Node getNode(String messageSender) { EntityManager em = PersistenceManager.getEntityManager(); EntityTransaction tx = null; http://git-wip-us.apache.org/repos/asf/juddi/blob/31c14610/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java b/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java index 7884189..92bfa03 100644 --- a/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java +++ b/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java @@ -138,6 +138,22 @@ public class ValidateReplication extends ValidateUDDIApi { throw new InvalidValueException(new ErrorMessage("errors.replication.contactNull")); } + if (replicationConfiguration.getOperator() == null || replicationConfiguration.getOperator().isEmpty()) { + throw new InvalidValueException(new ErrorMessage("errors.replication.contactNull", "Operator is null or empty")); + } + for (int i = 0; i < replicationConfiguration.getOperator().size(); i++) { + if (replicationConfiguration.getOperator().get(i).getSoapReplicationURL() == null + || "".equals(replicationConfiguration.getOperator().get(i).getSoapReplicationURL())) { + throw new InvalidValueException(new ErrorMessage("errors.replication.contactNull", "Replication URL is null or empty")); + } + if (!replicationConfiguration.getOperator().get(i).getSoapReplicationURL().toLowerCase().startsWith("http")) { + throw new InvalidValueException(new ErrorMessage("errors.replication.contactNull", "Replication URL is invalid, only HTTP is supported")); + } + if (replicationConfiguration.getOperator().get(i).getOperatorNodeID() == null + || replicationConfiguration.getOperator().get(i).getOperatorNodeID().equalsIgnoreCase("")) { + throw new InvalidValueException(new ErrorMessage("errors.replication.contactNull", "Node ID is not defined")); + } + } if (replicationConfiguration.getCommunicationGraph() != null) { for (String s : replicationConfiguration.getCommunicationGraph().getNode()) { if (!Contains(replicationConfiguration.getOperator(), s)) { @@ -181,32 +197,35 @@ public class ValidateReplication extends ValidateUDDIApi { } public void validateTransfer(EntityManager em, TransferCustody body) throws DispositionReportFaultMessage { - - if (body == null) - throw new TransferNotAllowedException(new ErrorMessage("errors.NullInput")); - if (body.getTransferToken()==null) + + if (body == null) { + throw new TransferNotAllowedException(new ErrorMessage("errors.NullInput")); + } + if (body.getTransferToken() == null) { throw new TransferNotAllowedException(new ErrorMessage("errors.NullInput")); - if (body.getKeyBag()==null) + } + if (body.getKeyBag() == null) { throw new TransferNotAllowedException(new ErrorMessage("errors.NullInput")); - if (body.getTransferOperationalInfo()==null) + } + if (body.getTransferOperationalInfo() == null) { throw new TransferNotAllowedException(new ErrorMessage("errors.NullInput")); - - if (body.getTransferOperationalInfo().getNodeID()==null) + } + + if (body.getTransferOperationalInfo().getNodeID() == null) { throw new TransferNotAllowedException(new ErrorMessage("errors.NullInput")); - if (body.getTransferOperationalInfo().getAuthorizedName()==null) + } + if (body.getTransferOperationalInfo().getAuthorizedName() == null) { throw new TransferNotAllowedException(new ErrorMessage("errors.NullInput")); - - + } + //confirm i own the records in question //confirm i issued the transfer token - TransferEntities x = new TransferEntities(); x.setKeyBag(body.getKeyBag()); x.setTransferToken(body.getTransferToken()); String transferTokenId = new String(body.getTransferToken().getOpaqueToken()); - new ValidateCustodyTransfer(null).validateTransferLocalEntities(em, transferTokenId, body.getKeyBag().getKey() ); - - + new ValidateCustodyTransfer(null).validateTransferLocalEntities(em, transferTokenId, body.getKeyBag().getKey()); + } } http://git-wip-us.apache.org/repos/asf/juddi/blob/31c14610/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_300_MultiNodeIntegrationTest.java ---------------------------------------------------------------------- diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_300_MultiNodeIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_300_MultiNodeIntegrationTest.java index 041359f..812d41b 100644 --- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_300_MultiNodeIntegrationTest.java +++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_300_MultiNodeIntegrationTest.java @@ -344,7 +344,7 @@ public class JUDDI_300_MultiNodeIntegrationTest { beforeNode2 = inquirySam.getOperationalInfo(operationalInfo); break; } catch (Exception ex) { - logger.warn(ex.getMessage(), ex); + logger.warn(ex.getMessage()); } timeout--; Thread.sleep(1000); @@ -446,8 +446,6 @@ public class JUDDI_300_MultiNodeIntegrationTest { Assume.assumeTrue(TckPublisher.isJUDDI()); try { TckCommon.PrintMarker(); - TckCommon.PrintMarker(); - TckCommon.PrintMarker(); logger.info("testReplicationTModelBusinessPublisherAssertionAddDelete"); restTmodels(); @@ -554,8 +552,7 @@ public class JUDDI_300_MultiNodeIntegrationTest { Assert.assertEquals(tModelDetail.getTModel().get(0).isDeleted(), true); TckCommon.PrintMarker(); - TckCommon.PrintMarker(); - TckCommon.PrintMarker(); + } finally { samBizNode2.deleteSamSyndicatorBusiness(samTokenNode2); @@ -637,7 +634,7 @@ public class JUDDI_300_MultiNodeIntegrationTest { } private void restTmodels() { - TckCommon.PrintMarker(); + logger.info("resting tmodels"); DeleteTModel dtm = new DeleteTModel(); dtm.setAuthInfo(rootNode1Token); http://git-wip-us.apache.org/repos/asf/juddi/blob/31c14610/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java ---------------------------------------------------------------------- diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java index 037b00d..630f055 100644 --- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java +++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java @@ -35,7 +35,9 @@ public class UDDI_090_HttpMavenIntegrationTest extends UDDI_090_SubscriptionList @AfterClass public static void stop() throws ConfigurationException { - if (!TckPublisher.isEnabled()) return; + if (!TckPublisher.isEnabled()) { + return; + } stopManager(); endPoint.stop(); endPoint = null; @@ -45,7 +47,9 @@ public class UDDI_090_HttpMavenIntegrationTest extends UDDI_090_SubscriptionList @BeforeClass public static void startup() throws Exception { - if (!TckPublisher.isEnabled()) return; + if (!TckPublisher.isEnabled()) { + return; + } startManager(); hostname = "localhost"; //bring up the TCK SubscriptionListener @@ -73,7 +77,7 @@ public class UDDI_090_HttpMavenIntegrationTest extends UDDI_090_SubscriptionList Thread.sleep(1000); } catch (InterruptedException ex) { } - System.out.print("."); + System.out.println("."); //if (UDDISubscriptionListenerImpl.notificationCount > 0) { } } logger.info("RX " + UDDISubscriptionListenerImpl.notificationCount + " notifications"); @@ -89,10 +93,14 @@ public class UDDI_090_HttpMavenIntegrationTest extends UDDI_090_SubscriptionList found = true; } } - if (!found){ + if (!found) { logger.error("_________________________________________________the test failed!!!"); + it = UDDISubscriptionListenerImpl.notifcationMap.values().iterator(); Thread.dumpStack(); - } + while (it.hasNext()) { + logger.info("Notification: " + it.next()); + } + } return found; } http://git-wip-us.apache.org/repos/asf/juddi/blob/31c14610/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_RMIIntegrationTest.java ---------------------------------------------------------------------- diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_RMIIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_RMIIntegrationTest.java index 4d11732..4debdf5 100644 --- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_RMIIntegrationTest.java +++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_RMIIntegrationTest.java @@ -21,14 +21,11 @@ import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.util.Iterator; import java.util.Random; -import javax.xml.ws.Endpoint; import org.apache.commons.configuration.ConfigurationException; import static org.apache.juddi.v3.tck.UDDI_090_SubscriptionListenerIntegrationBase.logger; import static org.apache.juddi.v3.tck.UDDI_090_SubscriptionListenerIntegrationBase.startManager; import static org.apache.juddi.v3.tck.UDDI_090_SubscriptionListenerIntegrationBase.stopManager; import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Assume; import org.junit.BeforeClass; /** @@ -45,7 +42,9 @@ public class UDDI_090_RMIIntegrationTest extends UDDI_090_SubscriptionListenerIn @AfterClass public static void stop() throws ConfigurationException { - if (!TckPublisher.isEnabled()) return; + if (!TckPublisher.isEnabled()) { + return; + } stopManager(); } @@ -53,7 +52,9 @@ public class UDDI_090_RMIIntegrationTest extends UDDI_090_SubscriptionListenerIn @BeforeClass public static void startup() throws Exception { - if (!TckPublisher.isEnabled()) return; + if (!TckPublisher.isEnabled()) { + return; + } startManager(); randomPort = 19800 + new Random().nextInt(99); @@ -81,7 +82,7 @@ public class UDDI_090_RMIIntegrationTest extends UDDI_090_SubscriptionListenerIn Thread.sleep(1000); } catch (InterruptedException ex) { } - System.out.print("."); + System.out.println("."); //if (UDDISubscriptionListenerImpl.notificationCount > 0) { } } logger.info("RX " + UDDISubscriptionListenerImpl.notificationCount + " notifications"); @@ -97,6 +98,14 @@ public class UDDI_090_RMIIntegrationTest extends UDDI_090_SubscriptionListenerIn found = true; } } + + if (!found) { + it = UDDISubscriptionListenerImpl.notifcationMap.values().iterator(); + Thread.dumpStack(); + while (it.hasNext()) { + logger.info("Notification: " + it.next()); + } + } return found; } http://git-wip-us.apache.org/repos/asf/juddi/blob/31c14610/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java ---------------------------------------------------------------------- diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java index afce7c9..70a80c0 100644 --- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java +++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java @@ -1417,9 +1417,10 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML); //Changing the service we subscribed to "JoePublisherService" Thread.sleep(1000); - logger.info("dumping mary's binding before.... "); - JAXB.marshal(bs, System.out); - + if (TckCommon.isDebug()){ + logger.info("dumping mary's binding before.... "); + JAXB.marshal(bs, System.out); + } logger.info("updating Mary's binding ********** "); // BindingDetail after=new BindingDetail(); /*GetBindingDetail bindingDetail = new GetBindingDetail(); @@ -1428,8 +1429,10 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { BindingDetail bindingDetail1 = null;//inquiryMary.getBindingDetail(bindingDetail); bindingDetail1 = updatePublisherBindingAddCategory(authInfoMary, bt, publicationMary, new KeyedReference("uddi:uddi.org:categorization:types", UDDIConstants.CategorizationTypes_Cacheable, "Cacheable"), bindingDetail1); - logger.info("dumping mary's binding after.... "); - JAXB.marshal(bindingDetail1, System.out); + if (TckCommon.isDebug()){ + logger.info("dumping mary's binding after.... "); + JAXB.marshal(bindingDetail1, System.out); + } boolean found = verifyDelivery(UDDIConstants.CategorizationTypes_Cacheable); if (!found) { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
