Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Node.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Node.java?rev=1546752&r1=1546751&r2=1546752&view=diff ============================================================================== --- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Node.java (original) +++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Node.java Sat Nov 30 16:54:02 2013 @@ -45,6 +45,8 @@ public class Node implements java.io.Ser private String custodyTransferUrl; @Column(name="subscription_url", nullable = false, length=255) private String subscriptionUrl; + @Column(name="replication_url", nullable = true, length=255) + private String replicationUrl; @Column(name="proxy_transport", nullable = false, length=255) private String proxyTransport; @@ -61,7 +63,7 @@ public class Node implements java.io.Ser public Node(String custodyTransferUrl, String inquiryUrl, String juddiApiUrl, String name, String proxyTransport, - String publishUrl, String securityUrl, String subscriptionUrl) { + String publishUrl, String securityUrl, String subscriptionUrl, String replicationURL) { super(); this.custodyTransferUrl = custodyTransferUrl; this.inquiryUrl = inquiryUrl; @@ -71,6 +73,7 @@ public class Node implements java.io.Ser this.publishUrl = publishUrl; this.securityUrl = securityUrl; this.subscriptionUrl = subscriptionUrl; + this.replicationUrl=replicationURL; } public String getName() { @@ -136,6 +139,13 @@ public class Node implements java.io.Ser public void setSubscriptionUrl(String subscriptionUrl) { this.subscriptionUrl = subscriptionUrl; } + public String getReplicationUrl() { + return replicationUrl; + } + + public void setReplicationUrl(String replicationUrl) { + this.replicationUrl = replicationUrl; + } public String getJuddiApiUrl() { return juddiApiUrl;
Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/UddiEntity.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/UddiEntity.java?rev=1546752&r1=1546751&r2=1546752&view=diff ============================================================================== --- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/UddiEntity.java (original) +++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/UddiEntity.java Sat Nov 30 16:54:02 2013 @@ -89,7 +89,11 @@ public abstract class UddiEntity impleme this.modifiedIncludingChildren = modifiedIncludingChildren; } - @Column(name = "node_id", length = 255) + /** + * As of 3.3, node_id is a required field + * @return + */ + @Column(name = "node_id", nullable=false,length = 255) public String getNodeId() { return nodeId; } Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/UddiEntityPublisher.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/UddiEntityPublisher.java?rev=1546752&r1=1546751&r2=1546752&view=diff ============================================================================== --- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/UddiEntityPublisher.java (original) +++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/UddiEntityPublisher.java Sat Nov 30 16:54:02 2013 @@ -20,6 +20,8 @@ package org.apache.juddi.model; import java.util.List; import java.util.StringTokenizer; import java.util.Vector; +import java.util.logging.Level; +import java.util.logging.Logger; import javax.persistence.Column; import javax.persistence.EntityManager; @@ -27,6 +29,8 @@ import javax.persistence.Id; import javax.persistence.MappedSuperclass; import javax.persistence.Query; import javax.persistence.Transient; +import org.apache.juddi.config.AppConfig; +import org.apache.juddi.config.Property; import org.apache.juddi.keygen.KeyGenerator; import org.apache.juddi.query.util.DynamicQuery; @@ -39,7 +43,7 @@ import org.uddi.v3_service.DispositionRe @MappedSuperclass public class UddiEntityPublisher { - + private transient static final Logger logger = Logger.getLogger(UddiEntityPublisher.class.getCanonicalName()); protected String authorizedName; private List<String> keyGeneratorKeys = null; @@ -87,13 +91,26 @@ public class UddiEntityPublisher { keyGeneratorKeys = qry.getResultList(); } + /** + * Determines if *this publisher owns a specific key + * @param entity + * @return + */ public boolean isOwner(UddiEntity entity){ - boolean ret = false; - if (entity != null) { - if (entity.getAuthorizedName().equals(getAuthorizedName())) - ret = true; - } - return ret; + boolean ret = false; + try { + AppConfig instance = AppConfig.getInstance(); + + if (entity != null) { + if (entity.getAuthorizedName().equals(getAuthorizedName()) + && entity.getNodeId().equals((AppConfig.getConfiguration().getString(Property.JUDDI_NODE_ID)))) { + ret = true; + } + } + } catch (Exception ex) { + logger.log(Level.WARNING, "Error caught determining node id! Defaulting to access denied", ex); + } + return ret; } Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateNode.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateNode.java?rev=1546752&r1=1546751&r2=1546752&view=diff ============================================================================== --- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateNode.java (original) +++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateNode.java Sat Nov 30 16:54:02 2013 @@ -38,6 +38,7 @@ public class ValidateNode extends Valida super(publisher); } + private static final Logger logger = Logger.getLogger(ValidateNode.class.getCanonicalName()); /*------------------------------------------------------------------- validateSaveNode functions are specific to jUDDI. --------------------------------------------------------------------*/ @@ -88,6 +89,10 @@ public class ValidateNode extends Valida if (node.getSubscriptionListenerUrl() == null || node.getSubscriptionListenerUrl().length() == 0 || node.getSubscriptionListenerUrl().length() > 255) { throw new ValueNotAllowedException(new ErrorMessage("errors.node.NoSUBL")); } + if (node.getReplicationUrl()== null || node.getReplicationUrl().length() == 0 || node.getReplicationUrl().length() > 255) { + //throw new ValueNotAllowedException(new ErrorMessage("errors.node.NoSUBL")); + logger.log(Level.WARNING,"No replication url on save node request!"); + } if (node.getSubscriptionUrl() == null || node.getSubscriptionUrl().length() == 0 || node.getSubscriptionUrl().length() > 255) { throw new ValueNotAllowedException(new ErrorMessage("errors.node.NoSUB")); } Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java?rev=1546752&r1=1546751&r2=1546752&view=diff ============================================================================== --- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java (original) +++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java Sat Nov 30 16:54:02 2013 @@ -82,8 +82,8 @@ import org.uddi.v3_service.DispositionRe * Provides validation of publish requests to Juddi * * @author <a href="mailto:[email protected]">Jeff Faath</a> - * @author <a href="mailto:[email protected]">Tom Cunningham</a> Modified by - * Alex O'Ree March 2013 to validate string length and ref integrity + * @author <a href="mailto:[email protected]">Tom Cunningham</a> + * @author <a href="mailto:[email protected]">Alex O'Ree</a> Modified March 2013 to validate string length and ref integrity * * Advisory, be careful calling AppConfig.getConfiguration() from within * validation functions, it may inadvertently cause infinite loops during the Modified: juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/Node.java URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/Node.java?rev=1546752&r1=1546751&r2=1546752&view=diff ============================================================================== --- juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/Node.java (original) +++ juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/Node.java Sat Nov 30 16:54:02 2013 @@ -40,6 +40,7 @@ import javax.xml.bind.annotation.XmlType "securityUrl", "subscriptionUrl", "subscriptionListenerUrl", + "replicationUrl", "juddiApiUrl", "proxyTransport", "factoryInitial", @@ -59,6 +60,7 @@ public class Node implements Serializabl private String securityUrl; private String subscriptionUrl; private String subscriptionListenerUrl; + private String replicationUrl; private String juddiApiUrl; private String proxyTransport; private String factoryInitial; @@ -134,6 +136,12 @@ public class Node implements Serializabl public void setSubscriptionListenerUrl(String subscriptionListenerUrl) { this.subscriptionListenerUrl = subscriptionListenerUrl; } + public String getReplicationUrl() { + return replicationUrl; + } + public void setReplicationUrl(String replicationUrl) { + this.replicationUrl = replicationUrl; + } public String getFactoryInitial() { return factoryInitial; } Modified: juddi/trunk/uddi-ws/src/main/resources/juddi_api_v1.wsdl URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-ws/src/main/resources/juddi_api_v1.wsdl?rev=1546752&r1=1546751&r2=1546752&view=diff ============================================================================== --- juddi/trunk/uddi-ws/src/main/resources/juddi_api_v1.wsdl (original) +++ juddi/trunk/uddi-ws/src/main/resources/juddi_api_v1.wsdl Sat Nov 30 16:54:02 2013 @@ -918,6 +918,7 @@ <xs:element minOccurs="0" name="securityUrl" type="xs:string"/> <xs:element minOccurs="0" name="subscriptionUrl" type="xs:string"/> <xs:element minOccurs="0" name="subscriptionListenerUrl" type="xs:string"/> + <xs:element minOccurs="0" name="replicationUrl" type="xs:string"/> <xs:element minOccurs="0" name="juddiApiUrl" type="xs:string"/> <xs:element minOccurs="0" name="proxyTransport" type="xs:string"/> <xs:element minOccurs="0" name="factoryInitial" type="xs:string"/> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
