You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by ks...@apache.org on 2009/10/13 21:55:24 UTC
svn commit: r824896 - in /webservices/juddi/trunk:
juddi-client/src/main/java/org/apache/juddi/v3/client/config/
juddi-core/src/main/java/org/apache/juddi/api/impl/
juddi-core/src/main/java/org/apache/juddi/mapping/
juddi-core/src/main/java/org/apache/...
Author: kstam
Date: Tue Oct 13 19:55:23 2009
New Revision: 824896
URL: http://svn.apache.org/viewvc?rev=824896&view=rev
Log:
JUDDI-240 adding saving Clerk and Node Info on client start.
Added:
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateClerk.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateNode.java
webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/ClerkDetail.java
webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/NodeDetail.java
webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/SaveClerk.java
webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/SaveNode.java
Modified:
webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java
webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Clerk.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/ClientSubscriptionInfo.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/rmi/JUDDIApiService.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateClientSubscriptionInfo.java
webservices/juddi/trunk/juddi-core/src/main/resources/messages.properties
webservices/juddi/trunk/juddi-core/src/main/resources/persistence/hibernate-persistence.xml
webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_100_ClientSubscriptionInfoTest.java
webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/v3_service/JUDDIApiPortType.java
Modified: webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java (original)
+++ webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java Tue Oct 13 19:55:23 2009
@@ -8,6 +8,12 @@
import java.util.Properties;
import org.apache.commons.configuration.ConfigurationException;
+import org.apache.juddi.api_v3.Clerk;
+import org.apache.juddi.api_v3.ClerkDetail;
+import org.apache.juddi.api_v3.Node;
+import org.apache.juddi.api_v3.NodeDetail;
+import org.apache.juddi.api_v3.SaveClerk;
+import org.apache.juddi.api_v3.SaveNode;
import org.apache.juddi.v3.client.transport.TransportException;
import org.apache.log4j.Logger;
import org.uddi.api_v3.BindingDetail;
@@ -137,6 +143,49 @@
return authToken;
}
+ public NodeDetail saveNode(Node node) {
+ NodeDetail nodeDetail = null;
+ try {
+ SaveNode saveNode = new SaveNode();
+ saveNode.setAuthInfo(getAuthToken());
+ saveNode.getNode().add(node);
+ nodeDetail =getUDDINode().getTransport().getJUDDIApiService().saveNode(saveNode);
+ } catch (Exception e) {
+ log.error("Unable to save node " + node.getName()
+ + " ." + e.getMessage(),e);
+ } catch (Throwable t) {
+ log.error("Unable to save node " + node.getName()
+ + " ." + t.getMessage(),t);
+ }
+ return nodeDetail;
+ }
+
+ public ClerkDetail saveClerk(UDDIClerk senderClerk) {
+ ClerkDetail clerkDetail = null;
+ try {
+ SaveClerk saveClerk = new SaveClerk();
+ saveClerk.setAuthInfo(getAuthToken());
+ saveClerk.getClerk().add(getApiClerk());
+ clerkDetail = senderClerk.getUDDINode().getTransport().getJUDDIApiService().saveClerk(saveClerk);
+ } catch (Exception e) {
+ log.error("Unable to save clerk " + getName()
+ + " ." + e.getMessage(),e);
+ } catch (Throwable t) {
+ log.error("Unable to save clerk " + getName()
+ + " ." + t.getMessage(),t);
+ }
+ return clerkDetail;
+ }
+
+ private Clerk getApiClerk() {
+ Clerk apiClerk = new Clerk();
+ apiClerk.setName(name);
+ apiClerk.setNode(uddiNode.getApiNode());
+ apiClerk.setPassword(password);
+ apiClerk.setPublisher(publisher);
+ return apiClerk;
+ }
+
public UDDINode getUDDINode() {
return uddiNode;
}
Modified: webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java (original)
+++ webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java Tue Oct 13 19:55:23 2009
@@ -6,6 +6,7 @@
import org.apache.commons.configuration.ConfigurationException;
import org.apache.juddi.v3.annotations.AnnotationProcessor;
+import org.apache.juddi.v3.client.transport.Transport;
import org.apache.log4j.Logger;
import org.uddi.api_v3.BusinessService;
@@ -56,6 +57,7 @@
manager = new UDDIClerkManager();
}
if (manager.clientConfig.isRegisterOnStartup()) {
+ manager.saveClerkAndNodeInfo();
manager.registerAnnotatedServices();
manager.xRegister();
}
@@ -75,6 +77,26 @@
log.info("Clerks restarted succesfully for manager " + manager.clientConfig.getManagerName());
}
}
+ /**
+ * Saves the clerk and node info from the uddi.xml to the jUDDI registry.
+ */
+ public void saveClerkAndNodeInfo() {
+
+ Map<String,UDDIClerk> uddiClerks = clientConfig.getUDDIClerks();
+ if (uddiClerks.size() > 0) {
+ for (UDDIClerk defaultClerk : uddiClerks.values()) {
+ if (Transport.DEFAULT_NODE_NAME.equals(defaultClerk.uddiNode.getName())) {
+ for (UDDINode uddiNode : clientConfig.getUDDINodes().values()) {
+ defaultClerk.saveNode(uddiNode.getApiNode());
+ }
+ for (UDDIClerk uddiClerk : clientConfig.getUDDIClerks().values()) {
+ defaultClerk.saveClerk(uddiClerk);
+ }
+ break;
+ }
+ }
+ }
+ }
/**
* X-Register services listed in the uddi.xml
@@ -96,11 +118,11 @@
Map<String,UDDIClerk> uddiClerks = clientConfig.getUDDIClerks();
if (uddiClerks.size() > 0) {
AnnotationProcessor ap = new AnnotationProcessor();
- for (UDDIClerk uddiCerk : uddiClerks.values()) {
+ for (UDDIClerk uddiClerk : uddiClerks.values()) {
Collection<BusinessService> services = ap.readServiceAnnotations(
- uddiCerk.getClassWithAnnotations(),uddiCerk.getUDDINode().getProperties());
+ uddiClerk.getClassWithAnnotations(),uddiClerk.getUDDINode().getProperties());
for (BusinessService businessService : services) {
- uddiCerk.register(businessService);
+ uddiClerk.register(businessService);
}
}
}
Modified: webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java (original)
+++ webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java Tue Oct 13 19:55:23 2009
@@ -3,6 +3,7 @@
import java.io.Serializable;
import java.util.Properties;
+import org.apache.juddi.api_v3.Node;
import org.apache.juddi.v3.client.transport.Transport;
import org.apache.juddi.v3.client.transport.TransportException;
import org.apache.log4j.helpers.Loader;
@@ -35,6 +36,23 @@
this.properties = properties;
}
+ public Node getApiNode() {
+ Node apiNode = new Node();
+ apiNode.setCustodyTransferUrl(custodyTransferUrl);
+ apiNode.setDescription(description);
+ apiNode.setFactoryInitial(factoryInitial);
+ apiNode.setFactoryNamingProvider(factoryNamingProvider);
+ apiNode.setFactoryURLPkgs(factoryURLPkgs);
+ apiNode.setInquiryUrl(inquiryUrl);
+ apiNode.setJuddiApiUrl(juddiApiUrl);
+ apiNode.setName(name);
+ apiNode.setProxyTransport(proxyTransport);
+ apiNode.setPublishUrl(publishUrl);
+ apiNode.setSecurityUrl(securityUrl);
+ apiNode.setSubscriptionUrl(subscriptionUrl);
+ return apiNode;
+ }
+
public Transport getTransport() throws TransportException {
if (transport==null) {
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java Tue Oct 13 19:55:23 2009
@@ -25,6 +25,7 @@
import javax.persistence.EntityTransaction;
import javax.persistence.Query;
+import org.apache.juddi.api_v3.ClerkDetail;
import org.apache.juddi.api_v3.ClientSubscriptionInfoDetail;
import org.apache.juddi.api_v3.DeleteClientSubscriptionInfo;
import org.apache.juddi.api_v3.DeletePublisher;
@@ -32,8 +33,11 @@
import org.apache.juddi.api_v3.GetAllPublisherDetail;
import org.apache.juddi.api_v3.GetClientSubscriptionInfoDetail;
import org.apache.juddi.api_v3.GetPublisherDetail;
+import org.apache.juddi.api_v3.NodeDetail;
import org.apache.juddi.api_v3.PublisherDetail;
+import org.apache.juddi.api_v3.SaveClerk;
import org.apache.juddi.api_v3.SaveClientSubscriptionInfo;
+import org.apache.juddi.api_v3.SaveNode;
import org.apache.juddi.api_v3.SavePublisher;
import org.apache.juddi.config.PersistenceManager;
import org.apache.juddi.error.ErrorMessage;
@@ -44,7 +48,9 @@
import org.apache.juddi.model.Publisher;
import org.apache.juddi.model.UddiEntityPublisher;
import org.apache.juddi.v3_service.JUDDIApiPortType;
+import org.apache.juddi.validation.ValidateClerk;
import org.apache.juddi.validation.ValidateClientSubscriptionInfo;
+import org.apache.juddi.validation.ValidateNode;
import org.apache.juddi.validation.ValidatePublish;
import org.apache.juddi.validation.ValidatePublisher;
import org.uddi.api_v3.DeleteTModel;
@@ -387,6 +393,94 @@
}
}
+
+ /**
+ * Saves clerk(s) to the persistence layer. This method is specific to jUDDI.
+ */
+ public ClerkDetail saveClerk(SaveClerk body)
+ throws DispositionReportFaultMessage {
+
+ EntityManager em = PersistenceManager.getEntityManager();
+ EntityTransaction tx = em.getTransaction();
+ try {
+ tx.begin();
+
+ UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
+
+ new ValidateClerk(publisher).validateSaveClerk(em, body);
+
+ ClerkDetail result = new ClerkDetail();
+
+ List<org.apache.juddi.api_v3.Clerk> apiClerkList = body.getClerk();;
+ for (org.apache.juddi.api_v3.Clerk apiClerk : apiClerkList) {
+
+ org.apache.juddi.model.Clerk modelClerk = new org.apache.juddi.model.Clerk();
+
+ MappingApiToModel.mapClerk(apiClerk, modelClerk);
+
+ Object existingUddiEntity = em.find(modelClerk.getClass(), modelClerk.getClerkName());
+ if (existingUddiEntity != null) {
+ em.merge(modelClerk);
+ } else {
+ em.persist(modelClerk);
+ }
+
+ result.getClerk().add(apiClerk);
+ }
+
+ tx.commit();
+ return result;
+ } finally {
+ if (tx.isActive()) {
+ tx.rollback();
+ }
+ em.close();
+ }
+ }
+
+ /**
+ * Saves nodes(s) to the persistence layer. This method is specific to jUDDI.
+ */
+ public NodeDetail saveNode(SaveNode body)
+ throws DispositionReportFaultMessage {
+
+ EntityManager em = PersistenceManager.getEntityManager();
+ EntityTransaction tx = em.getTransaction();
+ try {
+ tx.begin();
+
+ UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
+
+ new ValidateNode(publisher).validateSaveNode(em, body);
+
+ NodeDetail result = new NodeDetail();
+
+ List<org.apache.juddi.api_v3.Node> apiNodeList = body.getNode();;
+ for (org.apache.juddi.api_v3.Node apiNode : apiNodeList) {
+
+ org.apache.juddi.model.Node modelNode = new org.apache.juddi.model.Node();
+
+ MappingApiToModel.mapNode(apiNode, modelNode);
+
+ Object existingUddiEntity = em.find(modelNode.getClass(), modelNode.getName());
+ if (existingUddiEntity != null) {
+ em.merge(modelNode);
+ } else {
+ em.persist(modelNode);
+ }
+
+ result.getNode().add(apiNode);
+ }
+
+ tx.commit();
+ return result;
+ } finally {
+ if (tx.isActive()) {
+ tx.rollback();
+ }
+ em.close();
+ }
+ }
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java Tue Oct 13 19:55:23 2009
@@ -603,6 +603,7 @@
if (apiClientSubscriptionInfo.getClerk()!=null) {
org.apache.juddi.model.Clerk modelClerk = new org.apache.juddi.model.Clerk();
mapClerk(apiClientSubscriptionInfo.getClerk(), modelClerk);
+ modelClientSubscriptionInfo.setClerk(modelClerk);
}
}
@@ -616,6 +617,7 @@
if (apiClerk.getNode()!=null) {
org.apache.juddi.model.Node modelNode = new org.apache.juddi.model.Node();
mapNode(apiClerk.getNode(), modelNode);
+ modelClerk.setNode(modelNode);
}
}
}
@@ -623,7 +625,7 @@
public static void mapNode(org.apache.juddi.api_v3.Node apiNode,org.apache.juddi.model.Node modelNode) {
if (apiNode!=null) {
- modelNode.setCustodyTransferUrl(modelNode.getCustodyTransferUrl());
+ modelNode.setCustodyTransferUrl(apiNode.getCustodyTransferUrl());
modelNode.setInquiryUrl(apiNode.getInquiryUrl());
modelNode.setJuddiApiUrl(apiNode.getJuddiApiUrl());
modelNode.setName(apiNode.getName());
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Clerk.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Clerk.java?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Clerk.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Clerk.java Tue Oct 13 19:55:23 2009
@@ -38,9 +38,9 @@
private String clerkName;
@Column(name="publisher_id", nullable = false, length=255)
private String publisherId;
- @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
+ @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.EAGER)
private Node node;
- @Column(name="cred", nullable = false, length=255)
+ @Column(name="cred", length=255)
private String cred;
public Clerk() {}
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/ClientSubscriptionInfo.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/ClientSubscriptionInfo.java?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/ClientSubscriptionInfo.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/ClientSubscriptionInfo.java Tue Oct 13 19:55:23 2009
@@ -17,7 +17,6 @@
import java.util.Date;
-import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@@ -41,7 +40,7 @@
@Id()
@Column(name="subscription_key", nullable = false, length=255)
private String subscriptionKey;
- @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
+ @ManyToOne(fetch = FetchType.EAGER)
private Clerk clerk;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="last_notified", length = 29)
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/rmi/JUDDIApiService.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/rmi/JUDDIApiService.java?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/rmi/JUDDIApiService.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/rmi/JUDDIApiService.java Tue Oct 13 19:55:23 2009
@@ -20,13 +20,17 @@
import java.rmi.server.UnicastRemoteObject;
import org.apache.juddi.api.impl.JUDDIApiImpl;
+import org.apache.juddi.api_v3.ClerkDetail;
import org.apache.juddi.api_v3.ClientSubscriptionInfoDetail;
import org.apache.juddi.api_v3.DeleteClientSubscriptionInfo;
import org.apache.juddi.api_v3.DeletePublisher;
import org.apache.juddi.api_v3.GetAllPublisherDetail;
import org.apache.juddi.api_v3.GetPublisherDetail;
+import org.apache.juddi.api_v3.NodeDetail;
import org.apache.juddi.api_v3.PublisherDetail;
+import org.apache.juddi.api_v3.SaveClerk;
import org.apache.juddi.api_v3.SaveClientSubscriptionInfo;
+import org.apache.juddi.api_v3.SaveNode;
import org.apache.juddi.api_v3.SavePublisher;
import org.apache.juddi.v3_service.JUDDIApiPortType;
import org.uddi.api_v3.DeleteTModel;
@@ -82,6 +86,18 @@
}
+ public ClerkDetail saveClerk(SaveClerk body)
+ throws DispositionReportFaultMessage, RemoteException {
+ return juddiAPI.saveClerk(body);
+
+ }
+
+ public NodeDetail saveNode(SaveNode body)
+ throws DispositionReportFaultMessage, RemoteException {
+ return juddiAPI.saveNode(body);
+
+ }
+
Added: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateClerk.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateClerk.java?rev=824896&view=auto
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateClerk.java (added)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateClerk.java Tue Oct 13 19:55:23 2009
@@ -0,0 +1,98 @@
+/*
+ * Copyright 2001-2008 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.juddi.validation;
+
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.apache.juddi.api_v3.Clerk;
+import org.apache.juddi.api_v3.Node;
+import org.apache.juddi.error.ErrorMessage;
+import org.apache.juddi.error.FatalErrorException;
+import org.apache.juddi.error.InvalidKeyPassedException;
+import org.apache.juddi.error.ValueNotAllowedException;
+import org.apache.juddi.model.UddiEntityPublisher;
+import org.uddi.v3_service.DispositionReportFaultMessage;
+
+
+/**
+ * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
+ */
+public class ValidateClerk extends ValidateUDDIApi {
+
+ public ValidateClerk(UddiEntityPublisher publisher) {
+ super(publisher);
+ }
+
+
+
+ /*-------------------------------------------------------------------
+ ClientSubscriptionInf functions are specific to jUDDI.
+ --------------------------------------------------------------------*/
+
+
+ public void validateSaveClerk(EntityManager em, org.apache.juddi.api_v3.SaveClerk body) throws DispositionReportFaultMessage {
+
+ if (body == null)
+ throw new FatalErrorException(new ErrorMessage("errors.NullInput"));
+
+ // No null or empty list
+ List<Clerk> clerks = body.getClerk();
+ if (clerks == null)
+ throw new ValueNotAllowedException(new ErrorMessage("errors.saveClerk.NoInput"));
+
+ for (Clerk clerk : body.getClerk()) {
+ validateClerk(em, clerk);
+ }
+
+ }
+
+ public void validateClerk(EntityManager em, org.apache.juddi.api_v3.Clerk clerk) throws DispositionReportFaultMessage {
+
+ // No null input
+ if (clerk == null)
+ throw new ValueNotAllowedException(new ErrorMessage("errors.clerk.NullInput"));
+
+ String name = clerk.getName();
+ if (name == null || name.length() == 0)
+ throw new ValueNotAllowedException(new ErrorMessage("errors.clerk.NoName"));
+
+ String publisherName = clerk.getPublisher();
+ if (publisherName == null || publisherName.length() == 0)
+ throw new ValueNotAllowedException(new ErrorMessage("errors.clerk.NoPublisherName"));
+
+ Node node = clerk.getNode();
+ if (node == null)
+ throw new ValueNotAllowedException(new ErrorMessage("errors.clerk.NullNodeInput"));
+
+ String nodeName = node.getName();
+ if (nodeName == null || nodeName.length() == 0)
+ throw new ValueNotAllowedException(new ErrorMessage("errors.node.NoName"));
+
+ //make sure node exists
+ Object obj = em.find(org.apache.juddi.model.Node.class, nodeName);
+ if (obj == null)
+ throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.NodeNotFound", nodeName));
+
+ }
+
+
+
+
+}
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateClientSubscriptionInfo.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateClientSubscriptionInfo.java?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateClientSubscriptionInfo.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateClientSubscriptionInfo.java Tue Oct 13 19:55:23 2009
@@ -26,8 +26,6 @@
import org.apache.juddi.api_v3.DeleteClientSubscriptionInfo;
import org.apache.juddi.api_v3.GetAllClientSubscriptionInfoDetail;
import org.apache.juddi.api_v3.GetClientSubscriptionInfoDetail;
-//import org.apache.juddi.api_v3.GetPublisherDetail;
-import org.apache.juddi.api_v3.Node;
import org.apache.juddi.api_v3.SaveClientSubscriptionInfo;
import org.apache.juddi.error.ErrorMessage;
import org.apache.juddi.error.FatalErrorException;
@@ -104,15 +102,11 @@
String name = clerk.getName();
if (name == null || name.length() == 0)
throw new ValueNotAllowedException(new ErrorMessage("errors.clerk.NoName"));
-
- String publisherName = clerk.getPublisher();
- if (publisherName == null || publisherName.length() == 0)
- throw new ValueNotAllowedException(new ErrorMessage("errors.clerk.NoPublisherName"));
-
- Node node = clerk.getNode();
- if (node == null)
- throw new ValueNotAllowedException(new ErrorMessage("errors.clerk.NullNodeInput"));
-
+
+ //make sure clerk exists
+ Object obj = em.find(org.apache.juddi.model.Clerk.class, name);
+ if (obj == null)
+ throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.ClerkNotFound", name));
}
public void validateGetClientSubscriptionInfoDetail(GetClientSubscriptionInfoDetail body) throws DispositionReportFaultMessage {
Added: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateNode.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateNode.java?rev=824896&view=auto
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateNode.java (added)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateNode.java Tue Oct 13 19:55:23 2009
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2001-2008 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.juddi.validation;
+
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.apache.juddi.api_v3.Node;
+import org.apache.juddi.error.ErrorMessage;
+import org.apache.juddi.error.FatalErrorException;
+import org.apache.juddi.error.ValueNotAllowedException;
+import org.apache.juddi.model.UddiEntityPublisher;
+import org.uddi.v3_service.DispositionReportFaultMessage;
+
+
+/**
+ * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
+ */
+public class ValidateNode extends ValidateUDDIApi {
+
+ public ValidateNode(UddiEntityPublisher publisher) {
+ super(publisher);
+ }
+
+
+
+ /*-------------------------------------------------------------------
+ ClientSubscriptionInf functions are specific to jUDDI.
+ --------------------------------------------------------------------*/
+
+
+ public void validateSaveNode(EntityManager em, org.apache.juddi.api_v3.SaveNode body) throws DispositionReportFaultMessage {
+
+ if (body == null)
+ throw new FatalErrorException(new ErrorMessage("errors.NullInput"));
+
+ // No null or empty list
+ List<Node> nodes = body.getNode();
+ if (nodes == null)
+ throw new ValueNotAllowedException(new ErrorMessage("errors.saveNodes.NoInput"));
+
+ for (Node clerk : body.getNode()) {
+ validateNode(clerk);
+ }
+
+ }
+
+ public void validateNode(org.apache.juddi.api_v3.Node node) throws DispositionReportFaultMessage {
+
+ // No null input
+ if (node == null)
+ throw new ValueNotAllowedException(new ErrorMessage("errors.node.NullInput"));
+
+ String name = node.getName();
+ if (name == null || name.length() == 0)
+ throw new ValueNotAllowedException(new ErrorMessage("errors.node.NoName"));
+
+ //TODO could check we have all the urls
+
+ }
+
+
+
+
+}
Modified: webservices/juddi/trunk/juddi-core/src/main/resources/messages.properties
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/resources/messages.properties?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/resources/messages.properties (original)
+++ webservices/juddi/trunk/juddi-core/src/main/resources/messages.properties Tue Oct 13 19:55:23 2009
@@ -71,6 +71,7 @@
errors.invalidkey.MalformedKey=The passed key does not conform to UDDI v3 rules
errors.invalidkey.KeyGenSuffix=The passed key generator key does not end with the appropriate suffix
errors.invalidkey.NoKeys=No keys passed. At least one key must be passed
+errors.invalidkey.ClerkNotFound=The clerk was not found for the given name
errors.invalidkey.DuplicateKey=A duplicate key was passed. No duplicates are allowed
errors.invalidkey.PublisherNotFound=The publisher was not found for the given id
errors.invalidkey.EntityNotFound=The entity was not found for the given id
@@ -96,7 +97,8 @@
errors.saveservice.NoInput=At least one BusinessService must be provided
errors.savebinding.NoInput=At least one BindingTemplate must be provided
errors.saveclientsubscriptionKey.NoInput=The SubscriptionKey must be provided
-errors.saveclientClerk.NoInput=The Clerk structure cannot be blank
+errors.saveClerk.NoInput=At least one Clerk must be provided
+errors.saveNodes.NoInput=At least one Node must be provided
errors.savetmodel.NoInput=At least one tModel must be provided
errors.addpublisherassertions.NoInput=At least one publisherAssertion must be provided
errors.businessentity.NullInput=The businessEntity structure cannot be blank
@@ -182,6 +184,8 @@
errors.clerk.NullNodeInput=The Node structure on Clerk cannot be blank
errors.clerk.NoName=A valid clerk name was not specified
errors.clerk.NoPublisherName=A valid publisher name was not specified
+errors.node.NullInput=The Node structure cannot be blank
+errors.node.NoNameA valid node name was not specified
#-- Authentication error messages
errors.auth.AuthRequired=Authentication is required for this API call
Modified: webservices/juddi/trunk/juddi-core/src/main/resources/persistence/hibernate-persistence.xml
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/resources/persistence/hibernate-persistence.xml?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/resources/persistence/hibernate-persistence.xml (original)
+++ webservices/juddi/trunk/juddi-core/src/main/resources/persistence/hibernate-persistence.xml Tue Oct 13 19:55:23 2009
@@ -15,21 +15,21 @@
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="false"/>
- <!-- derby connection properties -->
+ <!-- derby connection properties
<property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
<property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<property name="hibernate.connection.url" value="jdbc:derby:target/juddi-derby-test-db;create=true"/>
<property name="hibernate.connection.username" value=""/>
<property name="hibernate.connection.password" value=""/>
-
+-->
<!-- mysql connection properties -->
-<!--
+
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.username" value="juddiv3" />
<property name="hibernate.connection.password" value="" />
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/juddiv3" />
--->
+
<!-- connection pool properties -->
<property name="hibernate.dbcp.maxActive" value="100"/>
Modified: webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_100_ClientSubscriptionInfoTest.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_100_ClientSubscriptionInfoTest.java?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_100_ClientSubscriptionInfoTest.java (original)
+++ webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_100_ClientSubscriptionInfoTest.java Tue Oct 13 19:55:23 2009
@@ -19,12 +19,16 @@
import org.apache.commons.configuration.ConfigurationException;
import org.apache.juddi.Registry;
import org.apache.juddi.api_v3.Clerk;
+import org.apache.juddi.api_v3.ClerkDetail;
import org.apache.juddi.api_v3.ClientSubscriptionInfo;
import org.apache.juddi.api_v3.ClientSubscriptionInfoDetail;
import org.apache.juddi.api_v3.DeleteClientSubscriptionInfo;
import org.apache.juddi.api_v3.GetClientSubscriptionInfoDetail;
import org.apache.juddi.api_v3.Node;
+import org.apache.juddi.api_v3.NodeDetail;
+import org.apache.juddi.api_v3.SaveClerk;
import org.apache.juddi.api_v3.SaveClientSubscriptionInfo;
+import org.apache.juddi.api_v3.SaveNode;
import org.apache.juddi.error.InvalidKeyPassedException;
import org.apache.juddi.v3.tck.TckPublisher;
import org.apache.juddi.v3.tck.TckSecurity;
@@ -71,12 +75,43 @@
Node node = new Node();
node.setSecurityUrl("http://localhost:8080/services/securityUrl");
+ node.setCustodyTransferUrl("http://localhost:8080/services/securityUrl");
+ node.setDescription("description");
+ node.setInquiryUrl("http://localhost:8080/services/securityUrl");
+ node.setPublishUrl("http://localhost:8080/services/securityUrl");
+ node.setProxyTransport("class");
+ node.setSubscriptionUrl("http://localhost:8080/services/securityUrl");
node.setName("default");
+ SaveNode saveNode = new SaveNode();
+ saveNode.setAuthInfo(authInfoJoe);
+ saveNode.getNode().add(node);
Clerk clerk = new Clerk();
clerk.setName("clerkName");
clerk.setPublisher("root");
clerk.setNode(node);
+ SaveClerk saveClerk = new SaveClerk();
+ saveClerk.setAuthInfo(authInfoJoe);
+ saveClerk.getClerk().add(clerk);
+
+ clientSubscriptionInfo.setClerk(clerk);
+
+ Node node2 = new Node();
+ node2.setSecurityUrl("http://localhost:8080/services/securityUrl2");
+ node2.setCustodyTransferUrl("https://localhost:8080/services/securityUrl2");
+ node2.setDescription("description2");
+ node2.setInquiryUrl("http://localhost:8080/services/securityUrl2");
+ node2.setPublishUrl("http://localhost:8080/services/securityUrl2");
+ node2.setProxyTransport("class2");
+ node2.setSubscriptionUrl("http://localhost:8080/services/securityUrl2");
+ node2.setName("default2");
+ saveNode.getNode().add(node2);
+
+ Clerk clerk2 = new Clerk();
+ clerk2.setName("clerkName2");
+ clerk2.setPublisher("root");
+ clerk2.setNode(node2);
+ saveClerk.getClerk().add(clerk2);
clientSubscriptionInfo.setClerk(clerk);
@@ -86,15 +121,25 @@
saveClientSubscriptionInfo.setAuthInfo(authInfoJoe);
saveClientSubscriptionInfo.getClientSubscriptionInfo().add(clientSubscriptionInfo);
+ ClientSubscriptionInfo clientSubscriptionInfo2 = new ClientSubscriptionInfo();
+ clientSubscriptionInfo2.setSubscriptionKey("mykey2");
+ clientSubscriptionInfo2.setClerk(clerk2);
+ saveClientSubscriptionInfo.getClientSubscriptionInfo().add(clientSubscriptionInfo2);
+
try {
+
+ NodeDetail nodeDetail = publisher.saveNode(saveNode);
+ ClerkDetail clerkDetail = publisher.saveClerk(saveClerk);
+ Assert.assertEquals(2,nodeDetail.getNode().size());
+ Assert.assertEquals(2,clerkDetail.getClerk().size());
+
ClientSubscriptionInfoDetail detail = publisher.saveClientSubscriptionInfo(saveClientSubscriptionInfo);
-
+ Assert.assertEquals("mykey", detail.getClientSubscriptionInfo().get(0).getSubscriptionKey());
+
GetClientSubscriptionInfoDetail getDetail = new GetClientSubscriptionInfoDetail();
getDetail.setAuthInfo(authInfoJoe);
getDetail.getClientSubscriptionKey().add("mykey");
- Assert.assertEquals("mykey", detail.getClientSubscriptionInfo().get(0).getSubscriptionKey());
-
ClientSubscriptionInfoDetail detail2 = publisher.getClientSubscriptionInfoDetail(getDetail);
Assert.assertEquals("mykey", detail2.getClientSubscriptionInfo().get(0).getSubscriptionKey());
Added: webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/ClerkDetail.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/ClerkDetail.java?rev=824896&view=auto
==============================================================================
--- webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/ClerkDetail.java (added)
+++ webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/ClerkDetail.java Tue Oct 13 19:55:23 2009
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2001-2008 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+package org.apache.juddi.api_v3;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for publisherDetail type. Specific to juddi.
+ *
+ * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "clerkDetail", propOrder = {
+ "clerk"
+})
+public class ClerkDetail implements Serializable{
+
+ @XmlTransient
+ private static final long serialVersionUID = -3428846191158232914L;
+ protected List<Clerk> clerk;
+
+ public List<Clerk> getClerk() {
+ if (clerk == null) {
+ clerk = new ArrayList<Clerk>();
+ }
+ return this.clerk;
+ }
+
+
+}
+
\ No newline at end of file
Added: webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/NodeDetail.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/NodeDetail.java?rev=824896&view=auto
==============================================================================
--- webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/NodeDetail.java (added)
+++ webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/NodeDetail.java Tue Oct 13 19:55:23 2009
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2001-2008 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+package org.apache.juddi.api_v3;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for publisherDetail type. Specific to juddi.
+ *
+ * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "nodeDetail", propOrder = {
+ "node"
+})
+public class NodeDetail implements Serializable{
+
+ @XmlTransient
+ private static final long serialVersionUID = -2223079896071967732L;
+ protected List<Node> node;
+
+ public List<Node> getNode() {
+ if (node == null) {
+ node = new ArrayList<Node>();
+ }
+ return this.node;
+ }
+
+}
+
\ No newline at end of file
Added: webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/SaveClerk.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/SaveClerk.java?rev=824896&view=auto
==============================================================================
--- webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/SaveClerk.java (added)
+++ webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/SaveClerk.java Tue Oct 13 19:55:23 2009
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2001-2008 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.juddi.api_v3;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for save_subscriptionInfo type. Specific to juddi.
+ *
+ * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "save_clerkInfo", propOrder = {
+ "authInfo",
+ "clerk"
+})
+public class SaveClerk implements Serializable{
+
+ @XmlTransient
+ private static final long serialVersionUID = 2909722102936229047L;
+ protected String authInfo;
+ @XmlElement(required = true)
+ protected List<Clerk> clerk;
+
+ public String getAuthInfo() {
+ return authInfo;
+ }
+
+ public void setAuthInfo(String authInfo) {
+ this.authInfo = authInfo;
+ }
+
+ public List<Clerk> getClerk() {
+ if (clerk == null) {
+ clerk = new ArrayList<Clerk>();
+ }
+ return clerk;
+ }
+
+
+
+}
+
\ No newline at end of file
Added: webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/SaveNode.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/SaveNode.java?rev=824896&view=auto
==============================================================================
--- webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/SaveNode.java (added)
+++ webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/SaveNode.java Tue Oct 13 19:55:23 2009
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2001-2008 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.juddi.api_v3;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for save_subscriptionInfo type. Specific to juddi.
+ *
+ * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "save_noodeInfo", propOrder = {
+ "authInfo",
+ "node"
+})
+public class SaveNode implements Serializable{
+
+ @XmlTransient
+ private static final long serialVersionUID = -6248775964378910950L;
+ protected String authInfo;
+ @XmlElement(required = true)
+ protected List<Node> node;
+
+ public String getAuthInfo() {
+ return authInfo;
+ }
+
+ public void setAuthInfo(String authInfo) {
+ this.authInfo = authInfo;
+ }
+
+ public List<Node> getNode() {
+ if (node == null) {
+ node = new ArrayList<Node>();
+ }
+ return node;
+ }
+
+
+
+}
+
\ No newline at end of file
Modified: webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/v3_service/JUDDIApiPortType.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/v3_service/JUDDIApiPortType.java?rev=824896&r1=824895&r2=824896&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/v3_service/JUDDIApiPortType.java (original)
+++ webservices/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/v3_service/JUDDIApiPortType.java Tue Oct 13 19:55:23 2009
@@ -28,13 +28,17 @@
import javax.jws.soap.SOAPBinding;
import javax.xml.bind.annotation.XmlSeeAlso;
+import org.apache.juddi.api_v3.ClerkDetail;
import org.apache.juddi.api_v3.ClientSubscriptionInfoDetail;
import org.apache.juddi.api_v3.DeleteClientSubscriptionInfo;
import org.apache.juddi.api_v3.DeletePublisher;
import org.apache.juddi.api_v3.GetAllPublisherDetail;
import org.apache.juddi.api_v3.GetPublisherDetail;
+import org.apache.juddi.api_v3.NodeDetail;
import org.apache.juddi.api_v3.PublisherDetail;
+import org.apache.juddi.api_v3.SaveClerk;
import org.apache.juddi.api_v3.SaveClientSubscriptionInfo;
+import org.apache.juddi.api_v3.SaveNode;
import org.apache.juddi.api_v3.SavePublisher;
import org.uddi.api_v3.DeleteTModel;
import org.uddi.v3_service.DispositionReportFaultMessage;
@@ -143,5 +147,31 @@
throws DispositionReportFaultMessage, RemoteException
;
+ /**
+ * @param body
+ * @throws DispositionReportFaultMessage, RemoteException
+ */
+ @WebMethod(operationName = "save_Clerk", action = "save_Clerk")
+ @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+ public ClerkDetail saveClerk(
+ @WebParam(name = "save_Clerk", targetNamespace = "urn:juddi-apache-org:api_v3", partName = "body")
+ SaveClerk body)
+ throws DispositionReportFaultMessage, RemoteException
+ ;
+
+ /**
+ * @param body
+ * @throws DispositionReportFaultMessage, RemoteException
+ */
+ @WebMethod(operationName = "save_Node", action = "save_Node")
+ @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+ public NodeDetail saveNode(
+ @WebParam(name = "save_Node", targetNamespace = "urn:juddi-apache-org:api_v3", partName = "body")
+ SaveNode body)
+ throws DispositionReportFaultMessage, RemoteException
+ ;
+
+
+
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: juddi-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: juddi-cvs-help@ws.apache.org