Author: alexoree
Date: Sat Nov 30 16:54:02 2013
New Revision: 1546752
URL: http://svn.apache.org/r1546752
Log:
JUDDI-727 node id is now persisted for all uddi entity elements. added
replication api to node entity
Modified:
juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Node.java
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/UddiEntity.java
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/UddiEntityPublisher.java
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateNode.java
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/Node.java
juddi/trunk/uddi-ws/src/main/resources/juddi_api_v1.wsdl
Modified:
juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs?rev=1546752&r1=1546751&r2=1546752&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs
(original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs
Sat Nov 30 16:54:02 2013
@@ -855,6 +855,8 @@ namespace org.apache.juddi.apiv3
private string subscriptionUrlField;
private string subscriptionListenerUrlField;
+
+ private string replicationUrlField;
private string juddiApiUrlField;
@@ -983,6 +985,16 @@ namespace org.apache.juddi.apiv3
}
}
+ /// <remarks/>
+ public string replicationUrl {
+ get {
+ return this.replicationUrlField;
+ }
+ set {
+ this.replicationUrlField = value;
+ }
+ }
+
/// <remarks/>
public string juddiApiUrl
{
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java?rev=1546752&r1=1546751&r2=1546752&view=diff
==============================================================================
---
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
(original)
+++
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
Sat Nov 30 16:54:02 2013
@@ -17,7 +17,11 @@
package org.apache.juddi.api.impl;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
import java.util.Date;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
@@ -46,7 +50,7 @@ import org.uddi.v3_service.DispositionRe
public abstract class AuthenticatedService {
public static final int AUTHTOKEN_ACTIVE = 1;
public static final int AUTHTOKEN_RETIRED = 0;
- Log logger = LogFactory.getLog(this.getClass());
+ static final Log logger = LogFactory.getLog(AuthenticatedService.class);
@Resource
protected WebServiceContext ctx;
@@ -177,4 +181,34 @@ public abstract class AuthenticatedServi
}
return null;
}
+
+ /**
+ * Returns the current node id for multi-node UDDI registries via
replication
+ * @return
+ */
+ public String getThisNodeID() {
+ try {
+ AppConfig.getInstance();
+ return
AppConfig.getConfiguration().getString(Property.JUDDI_NODE_ID, GetHostname());
+ } catch (Exception ex) {
+ logger.error("Unable to determine the current node id, check
juddiv3.xml config file! Defaulting to " + UNKNOWN,ex);
+ }
+ return UNKNOWN;
+ }
+
+ public static final String UNKNOWN="UNKNOWN";
+
+ /**
+ * Gets the current hostname
+ * @return
+ */
+ public static String GetHostname(){
+ try {
+ return InetAddress.getLocalHost().getHostName();
+ } catch (Exception ex) {
+ logger.info("Unable to determine hostname, defaulting to " +
UNKNOWN);
+ logger.debug("Unable to determine hostname, defaulting to
"+UNKNOWN,ex);
+ }
+ return UNKNOWN;
+ }
}
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java?rev=1546752&r1=1546751&r2=1546752&view=diff
==============================================================================
---
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
(original)
+++
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
Sat Nov 30 16:54:02 2013
@@ -70,6 +70,8 @@ import org.apache.juddi.api.util.QuerySt
import org.apache.juddi.config.AppConfig;
import org.apache.juddi.config.PersistenceManager;
import org.apache.juddi.config.Property;
+import org.apache.juddi.model.Tmodel;
+import org.apache.juddi.model.UddiEntity;
import org.apache.juddi.query.util.DynamicQuery;
import org.apache.juddi.query.util.FindQualifiers;
@@ -530,10 +532,11 @@ public class UDDIPublicationImpl extends
for (org.uddi.api_v3.BindingTemplate apiBindingTemplate
: apiBindingTemplateList) {
org.apache.juddi.model.BindingTemplate
modelBindingTemplate = new org.apache.juddi.model.BindingTemplate();
+
org.apache.juddi.model.BusinessService
modelBusinessService = new org.apache.juddi.model.BusinessService();
modelBusinessService.setEntityKey(apiBindingTemplate.getServiceKey());
-
MappingApiToModel.mapBindingTemplate(apiBindingTemplate, modelBindingTemplate,
modelBusinessService);
+
MappingApiToModel.mapBindingTemplate(apiBindingTemplate, modelBindingTemplate,
modelBusinessService,this.getThisNodeID());
setOperationalInfo(em, modelBindingTemplate,
publisher, false);
@@ -587,8 +590,8 @@ public class UDDIPublicationImpl extends
org.apache.juddi.model.BusinessEntity
modelBusinessEntity = new org.apache.juddi.model.BusinessEntity();
-
MappingApiToModel.mapBusinessEntity(apiBusinessEntity, modelBusinessEntity);
-
+
MappingApiToModel.mapBusinessEntity(apiBusinessEntity,
modelBusinessEntity,this.getThisNodeID());
+
setOperationalInfo(em, modelBusinessEntity,
publisher);
em.persist(modelBusinessEntity);
@@ -642,10 +645,10 @@ public class UDDIPublicationImpl extends
org.apache.juddi.model.BusinessEntity
modelBusinessEntity = new org.apache.juddi.model.BusinessEntity();
modelBusinessEntity.setEntityKey(apiBusinessService.getBusinessKey());
-
MappingApiToModel.mapBusinessService(apiBusinessService, modelBusinessService,
modelBusinessEntity);
+
MappingApiToModel.mapBusinessService(apiBusinessService, modelBusinessService,
modelBusinessEntity, this.getThisNodeID());
setOperationalInfo(em, modelBusinessService,
publisher, false);
-
+
em.persist(modelBusinessService);
result.getBusinessService().add(apiBusinessService);
@@ -694,7 +697,7 @@ public class UDDIPublicationImpl extends
org.apache.juddi.model.Tmodel modelTModel = new
org.apache.juddi.model.Tmodel();
- MappingApiToModel.mapTModel(apiTModel,
modelTModel);
+ MappingApiToModel.mapTModel(apiTModel,
modelTModel,this.getThisNodeID());
setOperationalInfo(em, modelTModel, publisher);
@@ -917,5 +920,9 @@ public class UDDIPublicationImpl extends
em.remove(existingUddiEntity);
}
+
+ private void setNodeID(UddiEntity e) {
+ e.setNodeId(this.getThisNodeID());
+ }
}
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java?rev=1546752&r1=1546751&r2=1546752&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java
(original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java
Sat Nov 30 16:54:02 2013
@@ -62,7 +62,11 @@ import org.uddi.api_v3.TModel;
import org.uddi.v3_service.DispositionReportFaultMessage;
/**
+ * This class is called when jUDDI starts up
* @author <a href="mailto:[email protected]">Jeff Faath</a>
+ * @author <a href="mailto:[email protected]">Alex O'Ree</a>
+ * @see org.apache.juddi.Registry.RegistryServlet
+ * @see
*/
public class Install {
@@ -109,7 +113,7 @@ public class Install {
rootPublisher = installPublisher(em,
fileRootPublisher, config);
installRootPublisherKeyGen(em,
rootTModelKeyGen, rootPartition, rootPublisher, nodeId);
rootBusinessEntity.setBusinessKey(rootbizkey);
- installBusinessEntity(true, em,
rootBusinessEntity, rootPublisher, rootPartition, config);
+ installBusinessEntity(true, em,
rootBusinessEntity, rootPublisher, rootPartition, config,nodeId);
} else {
log.debug("juddi.seed.always reapplies all seed
files except for the root data.");
}
@@ -126,7 +130,7 @@ public class Install {
throw new ConfigurationException("File
" + filePublisher + " not found.");
} else {
if (tModelKeyGen!=null)
installPublisherKeyGen(em, tModelKeyGen, publisher, nodeId);
- if (businessEntity!=null)
installBusinessEntity(false, em, businessEntity, publisher, null, config);
+ if (businessEntity!=null)
installBusinessEntity(false, em, businessEntity, publisher, null,
config,nodeId);
String fileTModels = publisherStr +
FILE_TMODELS;
installSaveTModel(em, fileTModels,
publisher, nodeId, config);
}
@@ -259,13 +263,13 @@ public class Install {
private static String installBusinessEntity(boolean isRoot,
EntityManager em, org.uddi.api_v3.BusinessEntity rootBusinessEntity,
- UddiEntityPublisher rootPublisher, String
rootPartition, Configuration config)
+ UddiEntityPublisher rootPublisher, String
rootPartition, Configuration config ,String nodeId)
throws JAXBException, DispositionReportFaultMessage, IOException {
if (isRoot) validateRootBusinessEntity(rootBusinessEntity,
rootPublisher, rootPartition, config);
org.apache.juddi.model.BusinessEntity modelBusinessEntity = new
org.apache.juddi.model.BusinessEntity();
- MappingApiToModel.mapBusinessEntity(rootBusinessEntity,
modelBusinessEntity);
+ MappingApiToModel.mapBusinessEntity(rootBusinessEntity,
modelBusinessEntity, nodeId);
modelBusinessEntity.setAuthorizedName(rootPublisher.getAuthorizedName());
@@ -465,7 +469,7 @@ public class Install {
org.apache.juddi.model.Tmodel
modelTModel = new org.apache.juddi.model.Tmodel();
apiTModel.setTModelKey(apiTModel.getTModelKey().toLowerCase());
- MappingApiToModel.mapTModel(apiTModel,
modelTModel);
+ MappingApiToModel.mapTModel(apiTModel,
modelTModel,nodeId);
modelTModel.setAuthorizedName(publisher.getAuthorizedName());
@@ -494,7 +498,7 @@ public class Install {
private static void installPublisherKeyGen(EntityManager em, TModel
apiTModel, UddiEntityPublisher publisher, String nodeId) throws
DispositionReportFaultMessage {
org.apache.juddi.model.Tmodel modelTModel = new
org.apache.juddi.model.Tmodel();
- MappingApiToModel.mapTModel(apiTModel, modelTModel);
+ MappingApiToModel.mapTModel(apiTModel, modelTModel,nodeId);
modelTModel.setAuthorizedName(publisher.getAuthorizedName());
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]