juddi-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jfa...@apache.org
Subject svn commit: r724880 - in /webservices/juddi/branches/v3_trunk/juddi-core/src/main: java/org/apache/juddi/api/impl/ java/org/apache/juddi/error/ java/org/apache/juddi/model/ java/org/apache/juddi/query/ java/org/apache/juddi/util/ java/org/apache/juddi/...
Date Tue, 09 Dec 2008 20:50:15 GMT
Author: jfaath
Date: Tue Dec  9 12:50:14 2008
New Revision: 724880

URL: http://svn.apache.org/viewvc?rev=724880&view=rev
Log:
changed validation classes from static to instance, added some uddi-specific validation, added transferToken to model, other minor changes

Added:
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/error/UnsupportedException.java   (with props)
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferToken.java   (with props)
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferTokenKey.java   (with props)
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferTokenKeyId.java   (with props)
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateUDDIApi.java   (with props)
Modified:
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISecurityImpl.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/AuthToken.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/KeyGeneratorKeyId.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/EntityQuery.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBusinessByCategoryQuery.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByIdentifierQuery.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/util/Constants.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateInquiry.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSecurity.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscriptionListener.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValueSetCaching.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValueSetValidation.java
    webservices/juddi/branches/v3_trunk/juddi-core/src/main/resources/messages_en.properties

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java Tue Dec  9 12:50:14 2008
@@ -45,7 +45,7 @@
 		if (modelAuthToken.getTokenState() == AUTHTOKEN_RETIRED)
 			throw new AuthTokenRequiredException(new ErrorMessage("errors.auth.AuthInvalid"));
 		
-		UddiEntityPublisher entityPublisher = em.find(UddiEntityPublisher.class, modelAuthToken.getPublisherId());
+		UddiEntityPublisher entityPublisher = em.find(UddiEntityPublisher.class, modelAuthToken.getAuthorizedName());
 		if (entityPublisher == null)
 			throw new AuthTokenRequiredException(new ErrorMessage("errors.auth.AuthInvalid"));
 		

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java Tue Dec  9 12:50:14 2008
@@ -81,7 +81,7 @@
 	public BindingDetail findBinding(FindBinding body)
 			throws DispositionReportFaultMessage {
 
-		ValidateInquiry.validateFindBinding(body);
+		new ValidateInquiry(null).validateFindBinding(body);
 		
 		// TODO: Perform necessary authentication logic
 		String authInfo = body.getAuthInfo();
@@ -128,7 +128,7 @@
 	public BusinessList findBusiness(FindBusiness body)
 			throws DispositionReportFaultMessage {
 
-		ValidateInquiry.validateFindBusiness(body);
+		new ValidateInquiry(null).validateFindBusiness(body);
 		
 		// TODO: Perform necessary authentication logic
 		String authInfo = body.getAuthInfo();
@@ -202,7 +202,7 @@
 	public RelatedBusinessesList findRelatedBusinesses(FindRelatedBusinesses body) 
 			throws DispositionReportFaultMessage {
 
-		ValidateInquiry.validateFindRelatedBusinesses(body, false);
+		new ValidateInquiry(null).validateFindRelatedBusinesses(body, false);
 		
 		// TODO: Perform necessary authentication logic
 		String authInfo = body.getAuthInfo();
@@ -304,7 +304,7 @@
 	public ServiceList findService(FindService body)
 			throws DispositionReportFaultMessage {
 
-		ValidateInquiry.validateFindService(body);
+		new ValidateInquiry(null).validateFindService(body);
 		
 		// TODO: Perform necessary authentication logic
 		String authInfo = body.getAuthInfo();
@@ -353,7 +353,7 @@
 	public TModelList findTModel(FindTModel body)
 			throws DispositionReportFaultMessage {
 
-		ValidateInquiry.validateFindTModel(body, false);
+		new ValidateInquiry(null).validateFindTModel(body, false);
 		
 		// TODO: Perform necessary authentication logic
 		String authInfo = body.getAuthInfo();
@@ -397,7 +397,7 @@
 	public BindingDetail getBindingDetail(GetBindingDetail body)
 			throws DispositionReportFaultMessage {
 
-		ValidateInquiry.validateGetBindingDetail(body);
+		new ValidateInquiry(null).validateGetBindingDetail(body);
 		
 		// TODO: Perform necessary authentication logic
 		String authInfo = body.getAuthInfo();
@@ -431,7 +431,7 @@
 	public BusinessDetail getBusinessDetail(GetBusinessDetail body)
 			throws DispositionReportFaultMessage {
 		
-		ValidateInquiry.validateGetBusinessDetail(body);
+		new ValidateInquiry(null).validateGetBusinessDetail(body);
 		
 		// TODO: Perform necessary authentication logic
 		String authInfo = body.getAuthInfo();
@@ -471,7 +471,7 @@
 	public ServiceDetail getServiceDetail(GetServiceDetail body)
 			throws DispositionReportFaultMessage {
 
-		ValidateInquiry.validateGetServiceDetail(body);
+		new ValidateInquiry(null).validateGetServiceDetail(body);
 		
 		// TODO: Perform necessary authentication logic
 		String authInfo = body.getAuthInfo();
@@ -505,7 +505,7 @@
 	public TModelDetail getTModelDetail(GetTModelDetail body)
 			throws DispositionReportFaultMessage {
 
-		ValidateInquiry.validateGetTModelDetail(body);
+		new ValidateInquiry(null).validateGetTModelDetail(body);
 		
 		// TODO: Perform necessary authentication logic
 		String authInfo = body.getAuthInfo();
@@ -547,7 +547,7 @@
 	public PublisherDetail getPublisherDetail(GetPublisherDetail body)
 			throws DispositionReportFaultMessage {
 
-		ValidateInquiry.validateGetPublisherDetail(body);
+		new ValidateInquiry(null).validateGetPublisherDetail(body);
 		
 		// TODO: Perform necessary authentication logic
 		String authInfo = body.getAuthInfo();

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java Tue Dec  9 12:50:14 2008
@@ -82,7 +82,7 @@
 		
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
 		
-		ValidatePublish.validateAddPublisherAssertions(em, publisher, body);		
+		new ValidatePublish(publisher).validateAddPublisherAssertions(em, body);
 
 		List<org.uddi.api_v3.PublisherAssertion> apiPubAssertionList = body.getPublisherAssertion();
 		for (org.uddi.api_v3.PublisherAssertion apiPubAssertion : apiPubAssertionList) {
@@ -145,7 +145,7 @@
 
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
 		
-		ValidatePublish.validateDeleteBinding(em, publisher, body);
+		new ValidatePublish(publisher).validateDeleteBinding(em, body);
 		
 		List<String> entityKeyList = body.getBindingKey();
 		for (String entityKey : entityKeyList) {
@@ -166,7 +166,7 @@
 
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
 
-		ValidatePublish.validateDeleteBusiness(em, publisher, body);
+		new ValidatePublish(publisher).validateDeleteBusiness(em, body);
 		
 		List<String> entityKeyList = body.getBusinessKey();
 		for (String entityKey : entityKeyList) {
@@ -187,7 +187,7 @@
 
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
 
-		ValidatePublish.validateDeletePublisherAssertions(em, publisher, body);
+		new ValidatePublish(publisher).validateDeletePublisherAssertions(em, body);
 		
 		List<org.uddi.api_v3.PublisherAssertion> entityList = body.getPublisherAssertion();
 		for (org.uddi.api_v3.PublisherAssertion entity : entityList) {
@@ -209,7 +209,7 @@
 
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
 		
-		ValidatePublish.validateDeleteService(em, publisher, body);
+		new ValidatePublish(publisher).validateDeleteService(em, body);
 		
 		List<String> entityKeyList = body.getServiceKey();
 		for (String entityKey : entityKeyList) {
@@ -231,7 +231,7 @@
 
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
 
-		ValidatePublish.validateDeleteTModel(em, publisher, body);
+		new ValidatePublish(publisher).validateDeleteTModel(em, body);
 
 		// tModels are only lazily deleted!
 		List<String> entityKeyList = body.getTModelKey();
@@ -367,7 +367,7 @@
 		
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
 		
-		ValidatePublish.validateSaveBinding(em, publisher, body);
+		new ValidatePublish(publisher).validateSaveBinding(em, body);
 
 		BindingDetail result = new BindingDetail();
 		
@@ -406,7 +406,7 @@
 		
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
 		
-		ValidatePublish.validateSaveBusiness(em, publisher, body);
+		new ValidatePublish(publisher).validateSaveBusiness(em, body);
 
 		BusinessDetail result = new BusinessDetail();
 		
@@ -443,7 +443,7 @@
 
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
 		
-		ValidatePublish.validateSaveService(em, publisher, body);
+		new ValidatePublish(publisher).validateSaveService(em, body);
 		
 		ServiceDetail result = new ServiceDetail();
 
@@ -482,7 +482,7 @@
 
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
 
-		ValidatePublish.validateSaveTModel(em, publisher, body);
+		new ValidatePublish(publisher).validateSaveTModel(em, body);
 
 		TModelDetail result = new TModelDetail();
 
@@ -520,7 +520,7 @@
 
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, authInfo);
 		
-		ValidatePublish.validateSetPublisherAssertions(em, publisher, publisherAssertion);
+		new ValidatePublish(publisher).validateSetPublisherAssertions(em, publisherAssertion);
 		
 		List<?> businessKeysFound = null;
 		businessKeysFound = FindBusinessByPublisherQuery.select(em, null, publisher, businessKeysFound);
@@ -574,7 +574,7 @@
 
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
 		
-		ValidatePublish.validateSavePublisher(em, (Publisher)publisher, body);
+		new ValidatePublish(publisher).validateSavePublisher(em, (Publisher)publisher, body);
 		
 		PublisherDetail result = new PublisherDetail();
 
@@ -612,7 +612,7 @@
 
 		UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
 		
-		ValidatePublish.validateDeletePublisher(em, (Publisher)publisher, body);
+		new ValidatePublish(publisher).validateDeletePublisher(em, (Publisher)publisher, body);
 
 		List<String> entityKeyList = body.getPublisherId();
 		for (String entityKey : entityKeyList) {

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISecurityImpl.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISecurityImpl.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISecurityImpl.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISecurityImpl.java Tue Dec  9 12:50:14 2008
@@ -96,7 +96,7 @@
 			modelAuthToken.setAuthToken(authInfo);
 			modelAuthToken.setCreated(new Date());
 			modelAuthToken.setLastUsed(new Date());
-			modelAuthToken.setPublisherId(publisherId);
+			modelAuthToken.setAuthorizedName(publisherId);
 			modelAuthToken.setPublisherName(publisher.getPublisherName());
 			modelAuthToken.setNumberOfUses(0);
 			modelAuthToken.setTokenState(AUTHTOKEN_ACTIVE);

Added: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/error/UnsupportedException.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/error/UnsupportedException.java?rev=724880&view=auto
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/error/UnsupportedException.java (added)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/error/UnsupportedException.java Tue Dec  9 12:50:14 2008
@@ -0,0 +1,32 @@
+/*
+ * 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.error;
+
+/**
+ * E_unsupported: (10050) Signifies that the implementer does not support a feature or API.
+ * 
+ * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
+ */
+public class UnsupportedException extends RegistryException {
+
+	private static final long serialVersionUID = 1L;
+
+	public UnsupportedException(ErrorMessage message) {
+		super(message, UDDIErrorHelper.buildDispositionReport(UDDIErrorHelper.E_UNSUPPORTED));
+	}
+}

Propchange: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/error/UnsupportedException.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/AuthToken.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/AuthToken.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/AuthToken.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/AuthToken.java Tue Dec  9 12:50:14 2008
@@ -33,7 +33,7 @@
 
 	private static final long serialVersionUID = 1L;
 	private String authToken;
-	private String publisherId;
+	private String authorizedName;
 	private String publisherName;
 	private Date created;
 	private Date lastUsed;
@@ -43,11 +43,11 @@
 	public AuthToken() {
 	}
 
-	public AuthToken(String authToken, String publisherId,
+	public AuthToken(String authToken, String authorizedName,
 			String publisherName, Date created, Date lastUsed,
 			int numberOfUses, int tokenState) {
 		this.authToken = authToken;
-		this.publisherId = publisherId;
+		this.authorizedName = authorizedName;
 		this.publisherName = publisherName;
 		this.created = created;
 		this.lastUsed = lastUsed;
@@ -60,66 +60,56 @@
 	public String getAuthToken() {
 		return this.authToken;
 	}
-
 	public void setAuthToken(String authToken) {
 		this.authToken = authToken;
 	}
 
-	@Column(name = "publisher_id", nullable = false, length = 20)
-	public String getPublisherId() {
-		return this.publisherId;
+	@Column(name = "authorized_name", nullable = false, length = 20)
+	public String getAuthorizedName() {
+		return this.authorizedName;
 	}
-
-	public void setPublisherId(String publisherId) {
-		this.publisherId = publisherId;
+	public void setAuthorizedName(String authorizedName) {
+		this.authorizedName = authorizedName;
 	}
 
 	@Column(name = "publisher_name", nullable = false)
-
 	public String getPublisherName() {
 		return this.publisherName;
 	}
-
 	public void setPublisherName(String publisherName) {
 		this.publisherName = publisherName;
 	}
+
 	@Temporal(TemporalType.TIMESTAMP)
 	@Column(name = "created", nullable = false, length = 29)
-
 	public Date getCreated() {
 		return this.created;
 	}
-
 	public void setCreated(Date created) {
 		this.created = created;
 	}
+
 	@Temporal(TemporalType.TIMESTAMP)
 	@Column(name = "last_used", nullable = false, length = 29)
-
 	public Date getLastUsed() {
 		return this.lastUsed;
 	}
-
 	public void setLastUsed(Date lastUsed) {
 		this.lastUsed = lastUsed;
 	}
 
 	@Column(name = "number_of_uses", nullable = false)
-
 	public int getNumberOfUses() {
 		return this.numberOfUses;
 	}
-
 	public void setNumberOfUses(int numberOfUses) {
 		this.numberOfUses = numberOfUses;
 	}
 
 	@Column(name = "token_state", nullable = false)
-
 	public int getTokenState() {
 		return this.tokenState;
 	}
-
 	public void setTokenState(int tokenState) {
 		this.tokenState = tokenState;
 	}

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/KeyGeneratorKeyId.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/KeyGeneratorKeyId.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/KeyGeneratorKeyId.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/KeyGeneratorKeyId.java Tue Dec  9 12:50:14 2008
@@ -45,7 +45,7 @@
 		this.authorizedName = publisherId;
 	}
 
-	@Column(name = "category_id", nullable = false)
+	@Column(name = "keygenerator_id", nullable = false)
 	public int getKeygeneratorId() {
 		return this.keygeneratorId;
 	}

Added: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferToken.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferToken.java?rev=724880&view=auto
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferToken.java (added)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferToken.java Tue Dec  9 12:50:14 2008
@@ -0,0 +1,82 @@
+/*
+ * 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.model;
+
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.OrderBy;
+import javax.persistence.Table;
+
+/**
+ * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
+ */
+@Entity
+@Table(name = "transfer_token")
+public class TransferToken implements java.io.Serializable{
+
+	private static final long serialVersionUID = 1L;
+	private String transferToken;
+	private Date expirationDate;
+	protected Set<TransferTokenKey> transferKeys = new HashSet<TransferTokenKey>(0);
+	
+	public TransferToken() {
+	}
+
+	public TransferToken(String transferToken, Date expirationDate,
+			Set<TransferTokenKey> transferKeys) {
+		this.transferToken = transferToken;
+		this.expirationDate = expirationDate;
+		this.transferKeys = transferKeys;
+	}
+
+	@Id
+	@Column(name = "transfer_token", nullable = false, length = 51)
+	public String getTransferToken() {
+		return transferToken;
+	}
+	public void setTransferToken(String transferToken) {
+		this.transferToken = transferToken;
+	}
+
+    @Column(name="expiration_date", nullable = false, updatable = false)
+	public Date getExpirationDate() {
+		return expirationDate;
+	}
+	public void setExpirationDate(Date expirationDate) {
+		this.expirationDate = expirationDate;
+	}
+
+	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "transferToken")
+	@OrderBy
+	public Set<TransferTokenKey> getTransferKeys() {
+		return transferKeys;
+	}
+	public void setTransferKeys(Set<TransferTokenKey> transferKeys) {
+		this.transferKeys = transferKeys;
+	}
+	
+
+}

Propchange: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferToken.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferTokenKey.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferTokenKey.java?rev=724880&view=auto
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferTokenKey.java (added)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferTokenKey.java Tue Dec  9 12:50:14 2008
@@ -0,0 +1,73 @@
+package org.apache.juddi.model;
+/*
+ * 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.
+ */
+
+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.Table;
+
+/**
+ * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
+ */
+@Entity
+@Table(name = "transfer_token_keys")
+public class TransferTokenKey implements java.io.Serializable {
+
+	private static final long serialVersionUID = 1L;
+	private TransferTokenKeyId id;
+	private TransferToken transferToken;
+	private String entityKey;
+
+	public TransferTokenKey() {
+	}
+
+	public TransferTokenKey(TransferTokenKeyId id, TransferToken transferToken, String entityKey) {
+		this.id = id;
+		this.transferToken = transferToken;
+		this.entityKey = entityKey;
+	}
+
+	@EmbeddedId
+	public TransferTokenKeyId getId() {
+		return this.id;
+	}
+	public void setId(TransferTokenKeyId id) {
+		this.id = id;
+	}
+
+	@ManyToOne(fetch = FetchType.LAZY)
+	@JoinColumn(name = "transfer_token", nullable = false, insertable = false, updatable = false)
+	public TransferToken getTransferToken() {
+		return this.transferToken;
+	}
+	public void setTransferToken(TransferToken transferToken) {
+		this.transferToken = transferToken;
+	}
+
+	@Column(name = "entity_key", length = 255)
+	public String getEntityKey() {
+		return this.entityKey;
+	}
+	public void setEntityKey(String entityKey) {
+		this.entityKey = entityKey;
+	}
+
+
+}

Propchange: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferTokenKey.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferTokenKeyId.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferTokenKeyId.java?rev=724880&view=auto
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferTokenKeyId.java (added)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferTokenKeyId.java Tue Dec  9 12:50:14 2008
@@ -0,0 +1,81 @@
+package org.apache.juddi.model;
+/*
+ * 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.
+ */
+
+import javax.persistence.Column;
+import javax.persistence.Embeddable;
+
+/**
+ * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
+ */
+@Embeddable
+public class TransferTokenKeyId implements java.io.Serializable {
+
+	private static final long serialVersionUID = 1L;
+	private String transferToken;
+	private int keyId;
+
+	public TransferTokenKeyId() {
+	}
+
+	public TransferTokenKeyId(String transferToken, int keyId) {
+		this.transferToken = transferToken;
+		this.keyId = keyId;
+	}
+
+	@Column(name = "transfer_token", nullable = false, length = 51)
+	public String getTransferToken() {
+		return this.transferToken;
+	}
+	public void setTransferToken(String transferToken) {
+		this.transferToken = transferToken;
+	}
+
+	@Column(name = "key_id", nullable = false)
+	public int getKeyId() {
+		return this.keyId;
+	}
+	public void setKeyId(int keyId) {
+		this.keyId = keyId;
+	}
+
+	public boolean equals(Object other) {
+		if ((this == other))
+			return true;
+		if ((other == null))
+			return false;
+		if (!(other instanceof TransferTokenKeyId))
+			return false;
+		TransferTokenKeyId castOther = (TransferTokenKeyId) other;
+
+		return ((this.getTransferToken() == castOther.getTransferToken()) || (this.getTransferToken() != null
+				&& castOther.getTransferToken() != null && this.getTransferToken()
+				.equals(castOther.getTransferToken())))
+				&& (this.getKeyId() == castOther.getKeyId());
+	}
+
+	public int hashCode() {
+		int result = 17;
+
+		result = 37
+				* result
+				+ (getTransferToken() == null ? 0 : this.getTransferToken()
+						.hashCode());
+		result = 37 * result + this.getKeyId();
+		return result;
+	}
+
+}

Propchange: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/model/TransferTokenKeyId.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/EntityQuery.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/EntityQuery.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/EntityQuery.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/EntityQuery.java Tue Dec  9 12:50:14 2008
@@ -37,7 +37,6 @@
 	private static Logger log = Logger.getLogger(EntityQuery.class);
 
 	public static final String KEY_NAME = "entityKey";
-	public static final String GENERAL_KEYWORD_TMODEL = "uddi:uddi-org:general_keywords";
 
 	public static final int DEFAULT_MAXROWS = 100;
 	public static final int DEFAULT_MAXINCLAUSE = 1000;

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBusinessByCategoryQuery.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBusinessByCategoryQuery.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBusinessByCategoryQuery.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBusinessByCategoryQuery.java Tue Dec  9 12:50:14 2008
@@ -24,6 +24,7 @@
 
 import org.apache.juddi.query.util.DynamicQuery;
 import org.apache.juddi.query.util.FindQualifiers;
+import org.apache.juddi.util.Constants;
 import org.uddi.api_v3.CategoryBag;
 import org.uddi.api_v3.KeyedReference;
 import org.uddi.api_v3.KeyedReferenceGroup;
@@ -32,8 +33,6 @@
  * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
  */
 public class FindBusinessByCategoryQuery {
-	// TODO:  Move this value somewhere else
-	private static String GENERAL_KEYWORD_TMODEL = "uddi:uddi-org:general_keywords";
 	
 	private static String selectSQL;
 	
@@ -104,7 +103,7 @@
 				keyName = keyName.toUpperCase();
 			}
 			
-			if (GENERAL_KEYWORD_TMODEL.equals(tmodelKey)) {
+			if (Constants.GENERAL_KEYWORD_TMODEL.equalsIgnoreCase(tmodelKey)) {
 				qry.appendGroupedAnd(new DynamicQuery.Parameter("bc.tmodelKeyRef", tmodelKey, DynamicQuery.PREDICATE_EQUALS),
 									 new DynamicQuery.Parameter(keyValueTerm, keyValue, predicate),
 									 new DynamicQuery.Parameter(keyNameTerm, keyName, predicate));

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByIdentifierQuery.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByIdentifierQuery.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByIdentifierQuery.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByIdentifierQuery.java Tue Dec  9 12:50:14 2008
@@ -24,6 +24,7 @@
 import org.apache.juddi.query.util.DynamicQuery;
 import org.apache.juddi.query.util.FindQualifiers;
 import org.apache.juddi.query.util.KeyedRefTModelComparator;
+import org.apache.juddi.util.Constants;
 import org.apache.log4j.Logger;
 import org.uddi.api_v3.IdentifierBag;
 import org.uddi.api_v3.KeyedReference;
@@ -180,7 +181,7 @@
 			
 			
 			// According to specification, if the "general keyword" tmodel is used, then the keyName must be part of the query.
-			if (GENERAL_KEYWORD_TMODEL.equals(tmodelKey)) {
+			if (Constants.GENERAL_KEYWORD_TMODEL.equalsIgnoreCase(tmodelKey)) {
 				qry.appendGroupedAnd(new DynamicQuery.Parameter(tmodelKeyTerm, tmodelKey, DynamicQuery.PREDICATE_EQUALS),
 									 new DynamicQuery.Parameter(keyValueTerm, keyValue, predicate),
 									 new DynamicQuery.Parameter(keyNameTerm, keyName, predicate));

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/util/Constants.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/util/Constants.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/util/Constants.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/util/Constants.java Tue Dec  9 12:50:14 2008
@@ -25,4 +25,7 @@
 public class Constants {
 	public static final String ROOT_PUBLISHER = "root";
 	public static final String UDDI_PUBLISHER = "uddi";
+	
+	public static final String GENERAL_KEYWORD_TMODEL = "uddi:uddi-org:general_keywords";
+	public static final String NODE_CATEGORY_TMODEL = "uddi:uddi.org:categorization:nodes";
 }

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateInquiry.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateInquiry.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateInquiry.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateInquiry.java Tue Dec  9 12:50:14 2008
@@ -21,6 +21,8 @@
 import java.util.List;
 import java.util.Hashtable;
 
+import javax.xml.bind.JAXBElement;
+
 import org.apache.juddi.api.datatype.GetPublisherDetail;
 import org.uddi.api_v3.GetBusinessDetail;
 import org.uddi.api_v3.GetServiceDetail;
@@ -32,6 +34,7 @@
 import org.uddi.api_v3.FindTModel;
 import org.uddi.api_v3.FindRelatedBusinesses;
 import org.uddi.api_v3.KeyedReference;
+import org.uddi.api_v3.ObjectFactory;
 import org.uddi.api_v3.TModelBag;
 
 import org.uddi.v3_service.DispositionReportFaultMessage;
@@ -41,14 +44,19 @@
 import org.apache.juddi.error.InvalidKeyPassedException;
 import org.apache.juddi.error.ValueNotAllowedException;
 import org.apache.juddi.error.InvalidCombinationException;
+import org.apache.juddi.model.UddiEntityPublisher;
 import org.apache.juddi.query.util.FindQualifiers;
 
 /**
  * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
  */
-public class ValidateInquiry {
+public class ValidateInquiry extends ValidateUDDIApi {
+
+	public ValidateInquiry(UddiEntityPublisher publisher) {
+		super(publisher);
+	}
 
-	public static void validateGetPublisherDetail(GetPublisherDetail body) throws DispositionReportFaultMessage {
+	public void validateGetPublisherDetail(GetPublisherDetail body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -67,7 +75,7 @@
 		}
 	}
 	
-	public static void validateGetBusinessDetail(GetBusinessDetail body) throws DispositionReportFaultMessage {
+	public void validateGetBusinessDetail(GetBusinessDetail body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -86,7 +94,7 @@
 		}
 	}
 	
-	public static void validateGetServiceDetail(GetServiceDetail body) throws DispositionReportFaultMessage {
+	public void validateGetServiceDetail(GetServiceDetail body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -105,7 +113,7 @@
 		}
 	}
 	
-	public static void validateGetBindingDetail(GetBindingDetail body) throws DispositionReportFaultMessage {
+	public void validateGetBindingDetail(GetBindingDetail body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -124,7 +132,7 @@
 		}
 	}
 	
-	public static void validateGetTModelDetail(GetTModelDetail body) throws DispositionReportFaultMessage {
+	public void validateGetTModelDetail(GetTModelDetail body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -143,7 +151,7 @@
 		}
 	}
 	
-	public static void validateFindBusiness(FindBusiness body) throws DispositionReportFaultMessage  {
+	public void validateFindBusiness(FindBusiness body) throws DispositionReportFaultMessage  {
 		// No null input
 		if (body == null)
 			throw new FatalErrorException(new ErrorMessage("errors.NullInput"));
@@ -156,13 +164,13 @@
 		validateTModelBag(body.getTModelBag());
 		validateFindTModel(body.getFindTModel(), true);
 		validateFindRelatedBusinesses(body.getFindRelatedBusinesses(), true);
-		ValidatePublish.validateDiscoveryUrls(body.getDiscoveryURLs());
-		ValidatePublish.validateIdentifierBag(body.getIdentifierBag());
-		ValidatePublish.validateCategoryBag(body.getCategoryBag());
+		validateDiscoveryUrls(body.getDiscoveryURLs());
+		validateIdentifierBag(body.getIdentifierBag());
+		validateCategoryBag(body.getCategoryBag());
 		
 	}
 	
-	public static void validateFindService(FindService body) throws DispositionReportFaultMessage  {
+	public void validateFindService(FindService body) throws DispositionReportFaultMessage  {
 		// No null input
 		if (body == null)
 			throw new FatalErrorException(new ErrorMessage("errors.NullInput"));
@@ -173,11 +181,11 @@
 		validateFindQualifiers(body.getFindQualifiers());
 		validateTModelBag(body.getTModelBag());
 		validateFindTModel(body.getFindTModel(), true);
-		ValidatePublish.validateCategoryBag(body.getCategoryBag());
+		validateCategoryBag(body.getCategoryBag());
 		
 	}
 	
-	public static void validateFindBinding(FindBinding body) throws DispositionReportFaultMessage  {
+	public void validateFindBinding(FindBinding body) throws DispositionReportFaultMessage  {
 		// No null input
 		if (body == null)
 			throw new FatalErrorException(new ErrorMessage("errors.NullInput"));
@@ -188,12 +196,12 @@
 		validateFindQualifiers(body.getFindQualifiers());
 		validateTModelBag(body.getTModelBag());
 		validateFindTModel(body.getFindTModel(), true);
-		ValidatePublish.validateCategoryBag(body.getCategoryBag());
+		validateCategoryBag(body.getCategoryBag());
 		
 		
 	}
 	
-	public static void validateFindTModel(FindTModel body, boolean nullAllowed) throws DispositionReportFaultMessage  {
+	public void validateFindTModel(FindTModel body, boolean nullAllowed) throws DispositionReportFaultMessage  {
 		if (body == null) {
 			// When FindTModel objects are embedded in other find calls, null is allowed.
 			if (nullAllowed)
@@ -206,11 +214,11 @@
 			throw new FatalErrorException(new ErrorMessage("errors.findtmodel.NoInput"));
 
 		validateFindQualifiers(body.getFindQualifiers());
-		ValidatePublish.validateIdentifierBag(body.getIdentifierBag());
-		ValidatePublish.validateCategoryBag(body.getCategoryBag());
+		validateIdentifierBag(body.getIdentifierBag());
+		validateCategoryBag(body.getCategoryBag());
 	}
 	
-	public static void validateFindRelatedBusinesses(FindRelatedBusinesses body, boolean nullAllowed) throws DispositionReportFaultMessage  {
+	public void validateFindRelatedBusinesses(FindRelatedBusinesses body, boolean nullAllowed) throws DispositionReportFaultMessage  {
 		if (body == null) {
 			// When FindRelatedBusinesses objects are embedded in other find calls, null is allowed.
 			if (nullAllowed)
@@ -251,7 +259,7 @@
 			
 	}
 	
-	public static void validateTModelBag(TModelBag tmodelBag) throws DispositionReportFaultMessage {
+	public void validateTModelBag(TModelBag tmodelBag) throws DispositionReportFaultMessage {
 		// tmodelBag is optional
 		if (tmodelBag == null)
 			return;
@@ -261,7 +269,73 @@
 		
 	}
 	
-	private static void validateFindQualifiers(org.uddi.api_v3.FindQualifiers findQualifiers) throws DispositionReportFaultMessage {
+	public void validateDiscoveryUrls(org.uddi.api_v3.DiscoveryURLs discUrls) throws DispositionReportFaultMessage {
+		// Discovery Urls is optional
+		if (discUrls == null)
+			return;
+
+		// If discUrls does exist, it must have at least one element
+		List<org.uddi.api_v3.DiscoveryURL> discUrlList = discUrls.getDiscoveryURL();
+		if (discUrlList == null || discUrlList.size() == 0)
+			throw new ValueNotAllowedException(new ErrorMessage("errors.discurls.NoInput"));
+	}	
+	
+	public void validateCategoryBag(org.uddi.api_v3.CategoryBag categories) throws DispositionReportFaultMessage {
+		
+		// Category bag is optional
+		if (categories == null)
+			return;
+		
+		// If category bag does exist, it must have at least one element
+		List<JAXBElement<?>> elems = categories.getContent();
+		if (elems == null || elems.size() == 0)
+			throw new ValueNotAllowedException(new ErrorMessage("errors.categorybag.NoInput"));
+		
+		for (JAXBElement<?> elem : elems) {
+			validateKeyedReferenceTypes(elem);
+		}
+	}
+
+	public void validateIdentifierBag(org.uddi.api_v3.IdentifierBag identifiers) throws DispositionReportFaultMessage {
+		
+		// Identifier bag is optional
+		if (identifiers == null)
+			return;
+		
+		// If category bag does exist, it must have at least one element
+		List<org.uddi.api_v3.KeyedReference> keyedRefList = identifiers.getKeyedReference();
+		if (keyedRefList == null || keyedRefList.size() == 0)
+			throw new ValueNotAllowedException(new ErrorMessage("errors.identifierbag.NoInput"));
+		
+		for (org.uddi.api_v3.KeyedReference keyedRef : keyedRefList) {
+			validateKeyedReferenceTypes(new ObjectFactory().createKeyedReference(keyedRef));
+		}
+	}
+	
+	public void validateKeyedReferenceTypes(JAXBElement<?> elem) throws DispositionReportFaultMessage {
+		if (elem == null || elem.getValue() == null)
+			throw new ValueNotAllowedException(new ErrorMessage("errors.keyedreference.NullInput"));
+		
+		// Keyed reference groups must contain a tModelKey
+		if (elem.getValue() instanceof org.uddi.api_v3.KeyedReferenceGroup) {
+			org.uddi.api_v3.KeyedReferenceGroup krg = (org.uddi.api_v3.KeyedReferenceGroup)elem.getValue();
+			if (krg.getTModelKey() == null || krg.getTModelKey().length() == 0)
+				throw new ValueNotAllowedException(new ErrorMessage("errors.keyedreference.NoTModelKey"));
+		}
+		// Keyed references must contain a tModelKey and keyValue
+		else if (elem.getValue() instanceof org.uddi.api_v3.KeyedReference) {
+			org.uddi.api_v3.KeyedReference kr = (org.uddi.api_v3.KeyedReference)elem.getValue();
+			if (kr.getTModelKey() == null || kr.getTModelKey().length() == 0)
+				throw new ValueNotAllowedException(new ErrorMessage("errors.keyedreference.NoTModelKey"));
+			
+			if (kr.getKeyValue() == null || kr.getKeyValue().length() == 0)
+				throw new ValueNotAllowedException(new ErrorMessage("errors.keyedreference.NoKeyValue"));
+			
+		}
+	}
+	
+	
+	private void validateFindQualifiers(org.uddi.api_v3.FindQualifiers findQualifiers) throws DispositionReportFaultMessage {
 		if (findQualifiers == null)
 			return;
 		

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java Tue Dec  9 12:50:14 2008
@@ -43,6 +43,7 @@
 import org.apache.juddi.model.UddiEntityPublisher;
 import org.apache.juddi.model.Publisher;
 import org.apache.juddi.model.UddiEntity;
+import org.apache.juddi.util.Constants;
 import org.apache.juddi.error.ErrorMessage;
 import org.apache.juddi.error.FatalErrorException;
 import org.apache.juddi.error.InvalidKeyPassedException;
@@ -56,9 +57,13 @@
 /**
  * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
  */
-public class ValidatePublish {
+public class ValidatePublish extends ValidateUDDIApi {
 
-	public static void validateDeleteBusiness(EntityManager em, UddiEntityPublisher publisher, DeleteBusiness body) throws DispositionReportFaultMessage {
+	public ValidatePublish(UddiEntityPublisher publisher) {
+		super(publisher);
+	}
+
+	public void validateDeleteBusiness(EntityManager em, DeleteBusiness body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -85,7 +90,7 @@
 		}
 	}
 
-	public static void validateDeleteService(EntityManager em, UddiEntityPublisher publisher, DeleteService body) throws DispositionReportFaultMessage {
+	public void validateDeleteService(EntityManager em, DeleteService body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -112,7 +117,7 @@
 		}
 	}
 
-	public static void validateDeleteBinding(EntityManager em, UddiEntityPublisher publisher, DeleteBinding body) throws DispositionReportFaultMessage {
+	public void validateDeleteBinding(EntityManager em, DeleteBinding body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -140,7 +145,7 @@
 		}
 	}
 	
-	public static void validateDeleteTModel(EntityManager em, UddiEntityPublisher publisher, DeleteTModel body) throws DispositionReportFaultMessage {
+	public void validateDeleteTModel(EntityManager em, DeleteTModel body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -170,7 +175,7 @@
 		}
 	}
 
-	public static void validateDeletePublisherAssertions(EntityManager em, UddiEntityPublisher publisher, DeletePublisherAssertions body) throws DispositionReportFaultMessage {
+	public void validateDeletePublisherAssertions(EntityManager em, DeletePublisherAssertions body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -183,7 +188,7 @@
 
 		for (org.uddi.api_v3.PublisherAssertion entity : entityList) {
 			
-			validatePublisherAssertion(em, publisher, entity);
+			validatePublisherAssertion(em, entity);
 			
 			org.apache.juddi.model.PublisherAssertionId pubAssertionId = new org.apache.juddi.model.PublisherAssertionId(entity.getFromKey(), entity.getToKey());
 			Object obj = em.find(org.apache.juddi.model.PublisherAssertion.class, pubAssertionId);
@@ -206,7 +211,7 @@
 	}
 
 	
-	public static void validateSaveBusiness(EntityManager em, UddiEntityPublisher publisher, SaveBusiness body) throws DispositionReportFaultMessage {
+	public void validateSaveBusiness(EntityManager em, SaveBusiness body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -218,11 +223,11 @@
 			throw new ValueNotAllowedException(new ErrorMessage("errors.savebusiness.NoInput"));
 		
 		for (org.uddi.api_v3.BusinessEntity entity : entityList) {
-			validateBusinessEntity(em, publisher, entity);
+			validateBusinessEntity(em, entity);
 		}
 	}
 	
-	public static void validateSaveService(EntityManager em, UddiEntityPublisher publisher, SaveService body) throws DispositionReportFaultMessage {
+	public void validateSaveService(EntityManager em, SaveService body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -235,11 +240,11 @@
 		
 		for (org.uddi.api_v3.BusinessService entity : entityList) {
 			// Entity specific data validation
-			validateBusinessService(em, publisher, entity, null);
+			validateBusinessService(em, entity, null);
 		}
 	}
 	
-	public static void validateSaveBinding(EntityManager em, UddiEntityPublisher publisher, SaveBinding body) throws DispositionReportFaultMessage {
+	public void validateSaveBinding(EntityManager em, SaveBinding body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -251,11 +256,11 @@
 			throw new ValueNotAllowedException(new ErrorMessage("errors.savebinding.NoInput"));
 		
 		for (org.uddi.api_v3.BindingTemplate entity : entityList) {
-			validateBindingTemplate(em, publisher, entity, null);
+			validateBindingTemplate(em, entity, null);
 		}
 	}
 
-	public static void validateSaveTModel(EntityManager em, UddiEntityPublisher publisher, SaveTModel body) throws DispositionReportFaultMessage {
+	public void validateSaveTModel(EntityManager em, SaveTModel body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -267,11 +272,11 @@
 			throw new ValueNotAllowedException(new ErrorMessage("errors.savetmodel.NoInput"));
 		
 		for (org.uddi.api_v3.TModel entity : entityList) {
-			validateTModel(em, publisher, entity);
+			validateTModel(em, entity);
 		}
 	}
 
-	public static void validateAddPublisherAssertions(EntityManager em, UddiEntityPublisher publisher, AddPublisherAssertions body) throws DispositionReportFaultMessage {
+	public void validateAddPublisherAssertions(EntityManager em, AddPublisherAssertions body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -283,11 +288,11 @@
 			throw new ValueNotAllowedException(new ErrorMessage("errors.addpublisherassertions.NoInput"));
 		
 		for (org.uddi.api_v3.PublisherAssertion entity : entityList) {
-			validatePublisherAssertion(em, publisher, entity);
+			validatePublisherAssertion(em, entity);
 		}
 	}
 	
-	public static void validateSetPublisherAssertions(EntityManager em, UddiEntityPublisher publisher, Holder<List<org.uddi.api_v3.PublisherAssertion>> body) throws DispositionReportFaultMessage {
+	public void validateSetPublisherAssertions(EntityManager em, Holder<List<org.uddi.api_v3.PublisherAssertion>> body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -298,13 +303,13 @@
 		if (entityList != null && entityList.size() > 0) {
 		
 			for (org.uddi.api_v3.PublisherAssertion entity : entityList) {
-				validatePublisherAssertion(em, publisher, entity);
+				validatePublisherAssertion(em, entity);
 			}
 		}
 	}
 
 	
-	public static void validateBusinessEntity(EntityManager em, UddiEntityPublisher publisher, org.uddi.api_v3.BusinessEntity businessEntity) throws DispositionReportFaultMessage {
+	public void validateBusinessEntity(EntityManager em, org.uddi.api_v3.BusinessEntity businessEntity) throws DispositionReportFaultMessage {
 		
 		// A supplied businessService can't be null
 		if (businessEntity == null)
@@ -351,11 +356,11 @@
 		validateCategoryBag(businessEntity.getCategoryBag());
 		validateIdentifierBag(businessEntity.getIdentifierBag());
 
-		validateBusinessServices(em, publisher, businessEntity.getBusinessServices(), businessEntity);
+		validateBusinessServices(em, businessEntity.getBusinessServices(), businessEntity);
 		
 	}
 
-	public static void validateBusinessServices(EntityManager em, UddiEntityPublisher publisher, org.uddi.api_v3.BusinessServices businessServices, org.uddi.api_v3.BusinessEntity parent) 
+	public void validateBusinessServices(EntityManager em, org.uddi.api_v3.BusinessServices businessServices, org.uddi.api_v3.BusinessEntity parent) 
 					throws DispositionReportFaultMessage {
 		// Business services is optional
 		if (businessServices == null)
@@ -366,12 +371,12 @@
 			throw new ValueNotAllowedException(new ErrorMessage("errors.businessservices.NoInput"));
 		
 		for (org.uddi.api_v3.BusinessService businessService : businessServiceList) {
-			validateBusinessService(em, publisher, businessService, parent);
+			validateBusinessService(em, businessService, parent);
 		}
 			
 	}
 
-	public static void validateBusinessService(EntityManager em, UddiEntityPublisher publisher, org.uddi.api_v3.BusinessService businessService, org.uddi.api_v3.BusinessEntity parent) 
+	public void validateBusinessService(EntityManager em, org.uddi.api_v3.BusinessService businessService, org.uddi.api_v3.BusinessEntity parent) 
 					throws DispositionReportFaultMessage {
 
 		// A supplied businessService can't be null
@@ -479,12 +484,12 @@
 			validateNames(businessService.getName());
 			validateCategoryBag(businessService.getCategoryBag());
 			
-			validateBindingTemplates(em, publisher, businessService.getBindingTemplates(), businessService);
+			validateBindingTemplates(em, businessService.getBindingTemplates(), businessService);
 		}
 		
 	}
 
-	public static void validateBindingTemplates(EntityManager em, UddiEntityPublisher publisher, org.uddi.api_v3.BindingTemplates bindingTemplates, org.uddi.api_v3.BusinessService parent) 
+	public void validateBindingTemplates(EntityManager em, org.uddi.api_v3.BindingTemplates bindingTemplates, org.uddi.api_v3.BusinessService parent) 
 					throws DispositionReportFaultMessage {
 		// Binding templates is optional
 		if (bindingTemplates == null)
@@ -495,12 +500,12 @@
 			throw new ValueNotAllowedException(new ErrorMessage("errors.bindingtemplates.NoInput"));
 	
 		for (org.uddi.api_v3.BindingTemplate bindingTemplate : bindingTemplateList) {
-			validateBindingTemplate(em, publisher, bindingTemplate, parent);
+			validateBindingTemplate(em, bindingTemplate, parent);
 		}
 	
 	}
 	
-	public static void validateBindingTemplate(EntityManager em, UddiEntityPublisher publisher, org.uddi.api_v3.BindingTemplate bindingTemplate, org.uddi.api_v3.BusinessService parent) 
+	public void validateBindingTemplate(EntityManager em, org.uddi.api_v3.BindingTemplate bindingTemplate, org.uddi.api_v3.BusinessService parent) 
 					throws DispositionReportFaultMessage {
 
 		// A supplied bindingTemplate can't be null
@@ -594,7 +599,7 @@
 		
 	}
 
-	public static void validateTModel(EntityManager em, UddiEntityPublisher publisher, org.uddi.api_v3.TModel tModel) throws DispositionReportFaultMessage {
+	public void validateTModel(EntityManager em, org.uddi.api_v3.TModel tModel) throws DispositionReportFaultMessage {
 		// A supplied tModel can't be null
 		if (tModel == null)
 			throw new ValueNotAllowedException(new ErrorMessage("errors.tmodel.NullInput"));
@@ -663,7 +668,7 @@
 
 	}
 	
-	public static void validatePublisherAssertion(EntityManager em, UddiEntityPublisher publisher, org.uddi.api_v3.PublisherAssertion pubAssertion) throws DispositionReportFaultMessage {
+	public void validatePublisherAssertion(EntityManager em, org.uddi.api_v3.PublisherAssertion pubAssertion) throws DispositionReportFaultMessage {
 		// A supplied publisher assertion can't be null
 		if (pubAssertion == null)
 			throw new ValueNotAllowedException(new ErrorMessage("errors.pubassertion.NullInput"));
@@ -700,14 +705,14 @@
 			
 	}
 	
-	public static void validateNames(List<org.uddi.api_v3.Name> names) throws DispositionReportFaultMessage {
+	public void validateNames(List<org.uddi.api_v3.Name> names) throws DispositionReportFaultMessage {
 		// At least one name is required
 		if (names == null || names.size() == 0)
 			throw new ValueNotAllowedException(new ErrorMessage("errors.names.NoInput"));
 		
 	}
 	
-	public static void validateContacts(org.uddi.api_v3.Contacts contacts) throws DispositionReportFaultMessage {
+	public void validateContacts(org.uddi.api_v3.Contacts contacts) throws DispositionReportFaultMessage {
 		// Contacts is optional
 		if (contacts == null)
 			return;
@@ -723,7 +728,7 @@
 		
 	}
 
-	public static void validateContact(org.uddi.api_v3.Contact contact) throws DispositionReportFaultMessage {
+	public void validateContact(org.uddi.api_v3.Contact contact) throws DispositionReportFaultMessage {
 		// A supplied contact can't be null
 		if (contact == null)
 			throw new ValueNotAllowedException(new ErrorMessage("errors.contact.NullInput"));
@@ -744,7 +749,7 @@
 		}
 	}
 	
-	public static void validateDiscoveryUrls(org.uddi.api_v3.DiscoveryURLs discUrls) throws DispositionReportFaultMessage {
+	public void validateDiscoveryUrls(org.uddi.api_v3.DiscoveryURLs discUrls) throws DispositionReportFaultMessage {
 		// Discovery Urls is optional
 		if (discUrls == null)
 			return;
@@ -755,7 +760,7 @@
 			throw new ValueNotAllowedException(new ErrorMessage("errors.discurls.NoInput"));
 	}	
 	
-	public static void validateCategoryBag(org.uddi.api_v3.CategoryBag categories) throws DispositionReportFaultMessage {
+	public void validateCategoryBag(org.uddi.api_v3.CategoryBag categories) throws DispositionReportFaultMessage {
 		
 		// Category bag is optional
 		if (categories == null)
@@ -771,7 +776,7 @@
 		}
 	}
 
-	public static void validateIdentifierBag(org.uddi.api_v3.IdentifierBag identifiers) throws DispositionReportFaultMessage {
+	public void validateIdentifierBag(org.uddi.api_v3.IdentifierBag identifiers) throws DispositionReportFaultMessage {
 		
 		// Identifier bag is optional
 		if (identifiers == null)
@@ -788,7 +793,7 @@
 	}
 	
 	
-	public static void validateKeyedReferenceTypes(JAXBElement<?> elem) throws DispositionReportFaultMessage {
+	public void validateKeyedReferenceTypes(JAXBElement<?> elem) throws DispositionReportFaultMessage {
 		if (elem == null || elem.getValue() == null)
 			throw new ValueNotAllowedException(new ErrorMessage("errors.keyedreference.NullInput"));
 		
@@ -806,10 +811,16 @@
 			
 			if (kr.getKeyValue() == null || kr.getKeyValue().length() == 0)
 				throw new ValueNotAllowedException(new ErrorMessage("errors.keyedreference.NoKeyValue"));
+			
+			// Per section 6.2.2.1 of the specification, no publishers (except the root) are allowed to use the node categorization tmodelKey
+			if (Constants.NODE_CATEGORY_TMODEL.equalsIgnoreCase(kr.getTModelKey())) {
+				if (!Constants.ROOT_PUBLISHER.equals(publisher.getAuthorizedName()))
+					throw new ValueNotAllowedException(new ErrorMessage("errors.keyedreference.NodeCategoryTModel", Constants.NODE_CATEGORY_TMODEL));
+			}
 		}
 	}
 
-	public static void validateTModelInstanceDetails(org.uddi.api_v3.TModelInstanceDetails tmodelInstDetails) throws DispositionReportFaultMessage {
+	public void validateTModelInstanceDetails(org.uddi.api_v3.TModelInstanceDetails tmodelInstDetails) throws DispositionReportFaultMessage {
 
 		// tModel Instance Details is optional
 		if (tmodelInstDetails == null)
@@ -825,7 +836,7 @@
 		}
 	}
 
-	public static void validateTModelInstanceInfo(org.uddi.api_v3.TModelInstanceInfo tmodelInstInfo) throws DispositionReportFaultMessage {
+	public void validateTModelInstanceInfo(org.uddi.api_v3.TModelInstanceInfo tmodelInstInfo) throws DispositionReportFaultMessage {
 		// tModel Instance Info can't be null
 		if (tmodelInstInfo == null)
 			throw new ValueNotAllowedException(new ErrorMessage("errors.tmodelinstinfo.NullInput"));
@@ -838,7 +849,7 @@
 		
 	}
 
-	public static void validateInstanceDetails(org.uddi.api_v3.InstanceDetails instDetails) throws DispositionReportFaultMessage {
+	public void validateInstanceDetails(org.uddi.api_v3.InstanceDetails instDetails) throws DispositionReportFaultMessage {
 		// Instance Details is optional
 		if (instDetails == null)
 			return;
@@ -866,7 +877,7 @@
 
 	}
 	
-	public static void validateOverviewDoc(org.uddi.api_v3.OverviewDoc overviewDoc) throws DispositionReportFaultMessage {
+	public void validateOverviewDoc(org.uddi.api_v3.OverviewDoc overviewDoc) throws DispositionReportFaultMessage {
 		// OverviewDoc can't be null
 		if (overviewDoc == null)
 			throw new ValueNotAllowedException(new ErrorMessage("errors.overviewdoc.NullInput"));
@@ -881,7 +892,7 @@
 	 Publisher functions are specific to jUDDI.
 	 --------------------------------------------------------------------*/
 	
-	public static void validateDeletePublisher(EntityManager em, Publisher publisher, DeletePublisher body) throws DispositionReportFaultMessage {
+	public void validateDeletePublisher(EntityManager em, Publisher publisher, DeletePublisher body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -908,7 +919,7 @@
 		}
 	}
 
-	public static void validateSavePublisher(EntityManager em, Publisher publisher, SavePublisher body) throws DispositionReportFaultMessage {
+	public void validateSavePublisher(EntityManager em, Publisher publisher, SavePublisher body) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (body == null)
@@ -927,7 +938,7 @@
 		}
 	}
 
-	public static void validatePublisher(EntityManager em, org.apache.juddi.api.datatype.Publisher publisher) throws DispositionReportFaultMessage {
+	public void validatePublisher(EntityManager em, org.apache.juddi.api.datatype.Publisher publisher) throws DispositionReportFaultMessage {
 
 		// No null input
 		if (publisher == null)

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java Tue Dec  9 12:50:14 2008
@@ -1,11 +1,31 @@
+/*
+ * 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 org.apache.juddi.error.ErrorMessage;
-import org.apache.juddi.error.FatalErrorException;
-import org.uddi.v3_service.DispositionReportFaultMessage;
+import org.apache.juddi.model.UddiEntityPublisher;
+
+/**
+ * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
+ */
+public class ValidateReplication extends ValidateUDDIApi {
 
-public class ValidateReplication {
-	public static void unsupportedAPICall() throws DispositionReportFaultMessage {
-		throw new FatalErrorException(new ErrorMessage("This API is not supported in this release of jUDDI"));
+	public ValidateReplication(UddiEntityPublisher publisher) {
+		super(publisher);
 	}
+	
 }

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSecurity.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSecurity.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSecurity.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSecurity.java Tue Dec  9 12:50:14 2008
@@ -1,11 +1,31 @@
-package org.apache.juddi.validation;
+/*
+ * 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.
+ *
+ */
 
-import org.apache.juddi.error.ErrorMessage;
-import org.apache.juddi.error.FatalErrorException;
-import org.uddi.v3_service.DispositionReportFaultMessage;
+ package org.apache.juddi.validation;
 
-public class ValidateSecurity {
-	public static void unsupportedAPICall() throws DispositionReportFaultMessage {
-		throw new FatalErrorException(new ErrorMessage("This API is not supported in this release of jUDDI"));
+import org.apache.juddi.model.UddiEntityPublisher;
+
+/**
+ * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
+ */
+public class ValidateSecurity extends ValidateUDDIApi {
+
+	public ValidateSecurity(UddiEntityPublisher publisher) {
+		super(publisher);
 	}
+
 }

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java Tue Dec  9 12:50:14 2008
@@ -1,11 +1,31 @@
-package org.apache.juddi.validation;
+/*
+ * 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.
+ *
+ */
 
-import org.apache.juddi.error.ErrorMessage;
-import org.apache.juddi.error.FatalErrorException;
-import org.uddi.v3_service.DispositionReportFaultMessage;
+ package org.apache.juddi.validation;
 
-public class ValidateSubscription {
-	public static void unsupportedAPICall() throws DispositionReportFaultMessage {
-		throw new FatalErrorException(new ErrorMessage("This API is not supported in this release of jUDDI"));
+import org.apache.juddi.model.UddiEntityPublisher;
+
+/**
+ * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
+ */
+public class ValidateSubscription extends ValidateUDDIApi {
+
+	public ValidateSubscription(UddiEntityPublisher publisher) {
+		super(publisher);
 	}
+
 }

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscriptionListener.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscriptionListener.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscriptionListener.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscriptionListener.java Tue Dec  9 12:50:14 2008
@@ -1,11 +1,31 @@
-package org.apache.juddi.validation;
-
-import org.apache.juddi.error.ErrorMessage;
-import org.apache.juddi.error.FatalErrorException;
-import org.uddi.v3_service.DispositionReportFaultMessage;
-
-public class ValidateSubscriptionListener {
-	public static void unsupportedAPICall() throws DispositionReportFaultMessage {
-		throw new FatalErrorException(new ErrorMessage("This API is not supported in this release of jUDDI"));
-	}
-}
+/*
+ * 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 org.apache.juddi.model.UddiEntityPublisher;
+
+/**
+ * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
+ */
+public class ValidateSubscriptionListener extends ValidateUDDIApi {
+
+	public ValidateSubscriptionListener(UddiEntityPublisher publisher) {
+		super(publisher);
+	}
+
+}

Added: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateUDDIApi.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateUDDIApi.java?rev=724880&view=auto
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateUDDIApi.java (added)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateUDDIApi.java Tue Dec  9 12:50:14 2008
@@ -0,0 +1,47 @@
+/*
+ * 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 org.apache.juddi.error.ErrorMessage;
+import org.apache.juddi.error.UnsupportedException;
+import org.apache.juddi.model.UddiEntityPublisher;
+import org.uddi.v3_service.DispositionReportFaultMessage;
+
+/**
+ * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
+ */
+public abstract class ValidateUDDIApi {
+
+	protected UddiEntityPublisher publisher;
+		
+	public ValidateUDDIApi(UddiEntityPublisher publisher) {
+		this.publisher = publisher;
+	}
+
+	public UddiEntityPublisher getPublisher() {
+		return publisher;
+	}
+
+	public void setPublisher(UddiEntityPublisher publisher) {
+		this.publisher = publisher;
+	}
+	
+	public static void unsupportedAPICall() throws DispositionReportFaultMessage {
+		throw new UnsupportedException(new ErrorMessage("errors.Unsupported"));
+	}
+}

Propchange: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateUDDIApi.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValueSetCaching.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValueSetCaching.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValueSetCaching.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValueSetCaching.java Tue Dec  9 12:50:14 2008
@@ -1,11 +1,31 @@
-package org.apache.juddi.validation;
+/*
+ * 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.
+ *
+ */
 
-import org.apache.juddi.error.ErrorMessage;
-import org.apache.juddi.error.FatalErrorException;
-import org.uddi.v3_service.DispositionReportFaultMessage;
+ package org.apache.juddi.validation;
 
-public class ValidateValueSetCaching {
-	public static void unsupportedAPICall() throws DispositionReportFaultMessage {
-		throw new FatalErrorException(new ErrorMessage("This API is not supported in this release of jUDDI"));
+import org.apache.juddi.model.UddiEntityPublisher;
+
+/**
+ * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
+ */
+public class ValidateValueSetCaching extends ValidateUDDIApi {
+
+	public ValidateValueSetCaching(UddiEntityPublisher publisher) {
+		super(publisher);
 	}
+
 }

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValueSetValidation.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValueSetValidation.java?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValueSetValidation.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValueSetValidation.java Tue Dec  9 12:50:14 2008
@@ -1,11 +1,31 @@
-package org.apache.juddi.validation;
+/*
+ * 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.
+ *
+ */
 
-import org.apache.juddi.error.ErrorMessage;
-import org.apache.juddi.error.FatalErrorException;
-import org.uddi.v3_service.DispositionReportFaultMessage;
+ package org.apache.juddi.validation;
 
-public class ValidateValueSetValidation {
-	public static void unsupportedAPICall() throws DispositionReportFaultMessage {
-		throw new FatalErrorException(new ErrorMessage("This API is not supported in this release of jUDDI"));
+import org.apache.juddi.model.UddiEntityPublisher;
+
+/**
+ * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
+ */
+public class ValidateValueSetValidation extends ValidateUDDIApi {
+
+	public ValidateValueSetValidation(UddiEntityPublisher publisher) {
+		super(publisher);
 	}
+
 }

Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/resources/messages_en.properties
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/resources/messages_en.properties?rev=724880&r1=724879&r2=724880&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/resources/messages_en.properties (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/resources/messages_en.properties Tue Dec  9 12:50:14 2008
@@ -55,6 +55,7 @@
 
 #-- General error messages
 errors.Unspecified=An unspecified error occurred
+errors.Unsupported=This version does not support this feature or API
 errors.configuration.Retrieval=An error occurred attempting to retrieve configuration information
 errors.install.AlreadyInstalled=It appears that the application is already installed.  Please un-install before proceeding.
 errors.NullInput=No input was provided for this API call
@@ -114,6 +115,7 @@
 errors.keyedreference.NullInput=The keyed reference (or group) cannot be blank
 errors.keyedreference.NoTModelKey=The keyed reference (or group) must contain a tModel key
 errors.keyedreference.NoKeyValue=The keyed reference (or group) must contain a key value
+errors.keyedreference.NodeCategoryTModel=The node categorization tModel is not allowed
 errors.tmodelinstdetails.NoInput=A tModelInstanceDetails structure must have at least one tModelInstanceInfo
 errors.tmodelinstinfo.NullInput=The tModelInstanceInfo structure cannot be blank
 errors.tmodelinstinfo.NoTModelKey=The tModelInstanceInfo structure must contain a tModel key



---------------------------------------------------------------------
To unsubscribe, e-mail: juddi-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: juddi-cvs-help@ws.apache.org


Mime
View raw message