You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by al...@apache.org on 2013/04/24 00:19:36 UTC
svn commit: r1471182 [1/8] - in /juddi/branches/juddi-3.2.x: ./
juddi-core-openjpa/ juddi-core-openjpa/src/test/resources/ juddi-core/
juddi-core/src/main/java/org/apache/juddi/config/
juddi-core/src/main/java/org/apache/juddi/keygen/ juddi-core/src/ma...
Author: alexoree
Date: Tue Apr 23 22:19:34 2013
New Revision: 1471182
URL: http://svn.apache.org/r1471182
Log:
bring in the last set of changes from the trunk
gui changes:
-fix for null tmodelinstance parameters
-initial support for creating per entity subscriptions (find_* still not implemented)
-new Font-Awesome library for larger, clearer icons
-several new bootstrap plugins for calendar and duration pickers
-tmodel chooser, a ui component that provides a browseable selector of tmodels was added to all pages to make entering a tmodel simpler
tmodel signatures still do not validate
Added:
juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_140_NegativePublicationTest.java
- copied unchanged from r1470373, juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_140_NegativePublicationTest.java
juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_141_JIRATest.java
- copied unchanged from r1470373, juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_141_JIRATest.java
juddi/branches/juddi-3.2.x/juddi-gui/license/FontAwesome.txt
juddi/branches/juddi-3.2.x/juddi-gui/license/bootstrap-datetimepicker.txt
juddi/branches/juddi-3.2.x/juddi-gui/license/bootstrap-timepicker.txt
juddi/branches/juddi-3.2.x/juddi-gui/web/ajax/subscription.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/css/bootstrap-datetimepicker.min.css
juddi/branches/juddi-3.2.x/juddi-gui/web/css/bootstrap-timepicker.min.css
juddi/branches/juddi-3.2.x/juddi-gui/web/css/font-awesome-ie7.min.css
juddi/branches/juddi-3.2.x/juddi-gui/web/css/font-awesome.css
juddi/branches/juddi-3.2.x/juddi-gui/web/css/font-awesome.min.css
juddi/branches/juddi-3.2.x/juddi-gui/web/font/
juddi/branches/juddi-3.2.x/juddi-gui/web/font/FontAwesome.otf (with props)
juddi/branches/juddi-3.2.x/juddi-gui/web/font/fontawesome-webfont.eot (with props)
juddi/branches/juddi-3.2.x/juddi-gui/web/font/fontawesome-webfont.svg
juddi/branches/juddi-3.2.x/juddi-gui/web/font/fontawesome-webfont.ttf (with props)
juddi/branches/juddi-3.2.x/juddi-gui/web/font/fontawesome-webfont.woff (with props)
juddi/branches/juddi-3.2.x/juddi-gui/web/js/bootstrap-datetimepicker.min.js
juddi/branches/juddi-3.2.x/juddi-gui/web/js/bootstrap-timepicker.min.js
juddi/branches/juddi-3.2.x/juddi-gui/web/js/tmodelChooser.js
juddi/branches/juddi-3.2.x/juddi-gui/web/tmodelChooser.jsp
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/listenerServiceSMTP.xml
- copied unchanged from r1470373, juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/listenerServiceSMTP.xml
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/subscription1SMTP.xml
- copied unchanged from r1470373, juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/subscription1SMTP.xml
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/resources/uddi_data/tmodels/
- copied from r1470373, juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/tmodels/
Removed:
juddi/branches/juddi-3.2.x/juddi-gui/junit-3.8.2.jar
Modified:
juddi/branches/juddi-3.2.x/ (props changed)
juddi/branches/juddi-3.2.x/juddi-core-openjpa/pom.xml
juddi/branches/juddi-3.2.x/juddi-core-openjpa/src/test/resources/juddiv3.properties
juddi/branches/juddi-3.2.x/juddi-core/pom.xml
juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/config/AppConfig.java
juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/config/Property.java
juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/keygen/KeyGeneratorFactory.java
juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/model/UddiEntityPublisher.java
juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java (contents, props changed)
juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/HTTPNotifier.java
juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/NotifierFactory.java
juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/SMTPNotifier.java
juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidateUDDIKey.java
juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/juddi_install_data/ (props changed)
juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/juddi_install_data/UDDI_tModels.xml
juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/messages.properties (contents, props changed)
juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java
juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTest.java
juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java
juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java
juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_080_SubscriptionTest.java
juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java
juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java
juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java
juddi/branches/juddi-3.2.x/juddi-core/src/test/resources/juddiv3.properties
juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/AES.java
juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/PostBackConstants.java
juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/UddiHub.java
juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/builders/Builders.java
juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/builders/Printers.java
juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/resources/web.properties
juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/resources/web_es.properties
juddi/branches/juddi-3.2.x/juddi-gui/web/WEB-INF/web.xml
juddi/branches/juddi-3.2.x/juddi-gui/web/ajax/tmodelsearch.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/assertions.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/businessBrowse.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/businessEditor2.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/createSubscription.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/header-bottom.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/header-top.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/js/businessEditor.js
juddi/branches/juddi-3.2.x/juddi-gui/web/js/i18n.js.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/js/serviceEditor.js
juddi/branches/juddi-3.2.x/juddi-gui/web/js/tmodelsearch.js
juddi/branches/juddi-3.2.x/juddi-gui/web/login.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/reginfo.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/search.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/serviceBrowse.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/serviceEditor.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/tmodelBrowse.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/tmodelEditor.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/tmodelPartitions.jsp
juddi/branches/juddi-3.2.x/juddi-gui/web/viewSubscriptions.jsp
juddi/branches/juddi-3.2.x/juddiv3-war/pom.xml
juddi/branches/juddi-3.2.x/juddiv3-war/src/main/webapp/WEB-INF/classes/juddiv3.properties
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/Property.java
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusiness.java (contents, props changed)
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckPublisher.java (contents, props changed)
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java (contents, props changed)
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListenerRMI.java
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java (contents, props changed)
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/resources/tck.properties
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/resources/uddi_data/ (props changed)
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/resources/uddi_data/find/findService1.xml
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/resources/uddi_data/joepublisher/businessEntity.xml
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/resources/uddi_data/joepublisher/businessService.xml
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/resources/uddi_data/subscription/subscription1.xml
juddi/branches/juddi-3.2.x/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/listenerServiceRMI.xml
juddi/branches/juddi-3.2.x/uddi-tck/pom.xml
juddi/branches/juddi-3.2.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_091_RMISubscriptionListenerIntegrationTest.java
juddi/branches/juddi-3.2.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_030_BusinessEntityIntegrationTest.java (contents, props changed)
juddi/branches/juddi-3.2.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_040_BusinessServiceIntegrationTest.java (contents, props changed)
juddi/branches/juddi-3.2.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_050_BindingTemplateIntegrationTest.java (contents, props changed)
juddi/branches/juddi-3.2.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_080_SubscriptionIntegrationTest.java (contents, props changed)
juddi/branches/juddi-3.2.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java (contents, props changed)
juddi/branches/juddi-3.2.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_140_NegativePublicationIntegrationTest.java
juddi/branches/juddi-3.2.x/uddi-ws/src/main/java/org/apache/juddi/jaxb/JAXBMarshaller.java (contents, props changed)
juddi/branches/juddi-3.2.x/uddi-ws/src/main/java/org/uddi/v3_service/UDDICustodyTransferPortType.java
Propchange: juddi/branches/juddi-3.2.x/
------------------------------------------------------------------------------
Merged /juddi/trunk:r1467813-1470373
Modified: juddi/branches/juddi-3.2.x/juddi-core-openjpa/pom.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core-openjpa/pom.xml?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core-openjpa/pom.xml (original)
+++ juddi/branches/juddi-3.2.x/juddi-core-openjpa/pom.xml Tue Apr 23 22:19:34 2013
@@ -189,7 +189,12 @@
<version>1.8.2</version>
<scope>provided</scope>
</dependency>
-
+ <dependency>
+ <groupId>dumbster</groupId>
+ <artifactId>dumbster</artifactId>
+ <version>1.5</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified: juddi/branches/juddi-3.2.x/juddi-core-openjpa/src/test/resources/juddiv3.properties
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core-openjpa/src/test/resources/juddiv3.properties?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core-openjpa/src/test/resources/juddiv3.properties (original)
+++ juddi/branches/juddi-3.2.x/juddi-core-openjpa/src/test/resources/juddiv3.properties Tue Apr 23 22:19:34 2013
@@ -86,5 +86,5 @@ juddi.auth.token.Timeout=15
# category bags, bindingTemplate/AccessPoint/hostingRedirector (referencing another host),
# tModelinstanceparms and anything else that references a KeyName
# default value is true.
-# set to false for backword compatability or for a more lax registry
-juddi.validation.enforceReferentialIntegrity=false
\ No newline at end of file
+# set to false for backwards compatibility or for a more lax registry
+juddi.validation.enforceReferentialIntegrity=true
\ No newline at end of file
Modified: juddi/branches/juddi-3.2.x/juddi-core/pom.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/pom.xml?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/pom.xml (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/pom.xml Tue Apr 23 22:19:34 2013
@@ -175,6 +175,12 @@
<version>0.6-beta2</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>dumbster</groupId>
+ <artifactId>dumbster</artifactId>
+ <version>1.5</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/config/AppConfig.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/config/AppConfig.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/config/AppConfig.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/config/AppConfig.java Tue Apr 23 22:19:34 2013
@@ -75,9 +75,8 @@ public class AppConfig
compositeConfig.addConfiguration(new SystemConfiguration());
//Properties from file
PropertiesConfiguration propConfig = null;
- final String filename = System.getProperty("juddi.propertiesFile");
- if (filename != null)
- {
+ final String filename = System.getProperty("juddi.propertiesFile");
+ if (filename != null) {
propConfig = new PropertiesConfiguration(filename);
} else {
propConfig = new PropertiesConfiguration(JUDDI_PROPERTIES);
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/config/Property.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/config/Property.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/config/Property.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/config/Property.java Tue Apr 23 22:19:34 2013
@@ -41,13 +41,9 @@ public interface Property {
public final static String JUDDI_RMI_REGISTRATION = "juddi.rmi.registration";
public final static String JUDDI_RMI_REGISTRY_PORT = "juddi.rmi.registry.port";
public final static String JUDDI_SUBSCRIPTION_NOTIFICATION = "juddi.subscription.notification";
- public final static String JUDDI_EMAIL_HOST = "juddi.email.host";
- public final static String JUDDI_EMAIL_PORT = "juddi.email.port";
- public final static String JUDDI_EMAIL_AUTH = "juddi.email.auth";
- public final static String JUDDI_EMAIL_USER = "juddi.email.user";
- public final static String JUDDI_EMAIL_PASSWORD = "juddi.email.password";
- public final static String JUDDI_EMAIL_TRANSPORT = "juddi.email.transport";
- public final static String JUDDI_EMAIL_FROM = "juddi.email.from";
+ public final static String JUDDI_EMAIL_PREFIX = "juddi.mail.smtp.prefix";
+ public final static String JUDDI_EMAIL_FROM = "juddi.mail.smtp.from";
+ public final static String DEFAULT_JUDDI_EMAIL_PREFIX = "juddi.";
public final static String DEFAULT_CRYPTOR = "org.apache.juddi.cryptor.DefaultCryptor";
public final static String DEFAULT_USERSFILE = "juddi-users.properties";
public final static String DEFAULT_XML_USERSFILE = "juddi-users.xml";
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/keygen/KeyGeneratorFactory.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/keygen/KeyGeneratorFactory.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/keygen/KeyGeneratorFactory.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/keygen/KeyGeneratorFactory.java Tue Apr 23 22:19:34 2013
@@ -51,6 +51,12 @@ public abstract class KeyGeneratorFactor
keyGenerator = createKeyGenerator();
return keyGenerator;
}
+
+ public static KeyGenerator forceNewKeyGenerator() {
+ keyGenerator = null;
+ keyGenerator = createKeyGenerator();
+ return keyGenerator;
+ }
/*
* Returns a new instance of a Cryptor.
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/model/UddiEntityPublisher.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/model/UddiEntityPublisher.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/model/UddiEntityPublisher.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/model/UddiEntityPublisher.java Tue Apr 23 22:19:34 2013
@@ -104,7 +104,7 @@ public class UddiEntityPublisher {
if (keyGeneratorKeys == null)
populateKeyGeneratorKeys(em);
-
+ if (! key.contains(KeyGenerator.PARTITION_SEPARATOR)) return true; //v2 style key
String keyPartition = key.substring(0, key.lastIndexOf(KeyGenerator.PARTITION_SEPARATOR));
for (String keyGenKey : keyGeneratorKeys) {
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java Tue Apr 23 22:19:34 2013
@@ -343,23 +343,25 @@ public class SubscriptionNotifier extend
AccessPointType.WSDL_DEPLOYMENT.toString().equalsIgnoreCase(bindingTemplate.getAccessPointType())) {
try {
Notifier notifier = new NotifierFactory().getNotifier(bindingTemplate);
- log.info("Sending out notification to " + bindingTemplate.getAccessPointUrl());
- notifier.notifySubscriptionListener(body);
- //there maybe more chunks we have to send
- String chunkToken=body.getSubscriptionResultsList().getChunkToken();
- while(chunkToken!=null) {
- UddiEntityPublisher publisher = new UddiEntityPublisher();
- publisher.setAuthorizedName(modelSubscription.getAuthorizedName());
- log.debug("Sending out next chunk: " + chunkToken + " to " + bindingTemplate.getAccessPointUrl());
- getSubscriptionResults.setChunkToken(chunkToken);
- resultList = subscriptionImpl.getSubscriptionResults(getSubscriptionResults, publisher);
- body.setSubscriptionResultsList(resultList);
+ if (notifier!=null) {
+ log.info("Sending out notification to " + bindingTemplate.getAccessPointUrl());
notifier.notifySubscriptionListener(body);
- chunkToken=body.getSubscriptionResultsList().getChunkToken();
+ //there maybe more chunks we have to send
+ String chunkToken=body.getSubscriptionResultsList().getChunkToken();
+ while(chunkToken!=null) {
+ UddiEntityPublisher publisher = new UddiEntityPublisher();
+ publisher.setAuthorizedName(modelSubscription.getAuthorizedName());
+ log.debug("Sending out next chunk: " + chunkToken + " to " + bindingTemplate.getAccessPointUrl());
+ getSubscriptionResults.setChunkToken(chunkToken);
+ resultList = subscriptionImpl.getSubscriptionResults(getSubscriptionResults, publisher);
+ body.setSubscriptionResultsList(resultList);
+ notifier.notifySubscriptionListener(body);
+ chunkToken=body.getSubscriptionResultsList().getChunkToken();
+ }
+ //successful notification so remove from the badNotificationList
+ if (badNotifications.containsKey(resultList.getSubscription().getSubscriptionKey()))
+ badNotifications.remove(resultList.getSubscription().getSubscriptionKey());
}
- //successful notification so remove from the badNotificationList
- if (badNotifications.containsKey(resultList.getSubscription().getSubscriptionKey()))
- badNotifications.remove(resultList.getSubscription().getSubscriptionKey());
} catch (WebServiceException e) {
if (e.getCause() instanceof IOException) {
addBadNotificationToList(subscriptionKey, bindingTemplate.getAccessPointUrl());
Propchange: juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
------------------------------------------------------------------------------
Merged /juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java:r1460934-1470373
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/HTTPNotifier.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/HTTPNotifier.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/HTTPNotifier.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/HTTPNotifier.java Tue Apr 23 22:19:34 2013
@@ -34,6 +34,8 @@ public class HTTPNotifier implements Not
log.warn("http accessPointUrl for bindingTemplate " + bindingTemplate.getEntityKey() +
" should start with 'http' or 'https'");
}
+ //fix for JIRA JUDDI-597
+ accessPointUrl = bindingTemplate.getAccessPointUrl();
if (AccessPointType.WSDL_DEPLOYMENT.toString().equalsIgnoreCase(bindingTemplate.getAccessPointType())) {
//WSDL deployment type
//TODO, let user override the SUBSCRIPTION_LISTENER_SERVICE setting
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/NotifierFactory.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/NotifierFactory.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/NotifierFactory.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/NotifierFactory.java Tue Apr 23 22:19:34 2013
@@ -36,9 +36,9 @@ public class NotifierFactory {
}
if (notifierClassName == null) {
//JUDDI-496 TODO make sure the tModel is loaded
- log.debug("The bindingTemplate " + bindingTemplate.getEntityKey() + " does not contain a tModel to define its type of transport. Defaulting "
+ log.error("The bindingTemplate " + bindingTemplate.getEntityKey() + " does not contain a tModel to define its type of transport. Defaulting "
+ "to http.");
- notifierClassName = "org.apache.juddi.subscription.notify.HTTPNotifier";
+ return null;
}
if (log.isDebugEnabled()) log.debug("Going find and instantiate notifier class: " + notifierClassName);
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/SMTPNotifier.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/SMTPNotifier.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/SMTPNotifier.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/subscription/notify/SMTPNotifier.java Tue Apr 23 22:19:34 2013
@@ -1,10 +1,13 @@
package org.apache.juddi.subscription.notify;
-import java.net.URI;
+import java.io.File;
+import java.io.FileInputStream;
import java.net.URISyntaxException;
import java.rmi.RemoteException;
import java.util.Properties;
+import javax.mail.Address;
+import javax.mail.Message.RecipientType;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
@@ -18,6 +21,7 @@ import org.apache.juddi.config.AppConfig
import org.apache.juddi.config.Property;
import org.apache.juddi.jaxb.JAXBMarshaller;
import org.apache.juddi.model.BindingTemplate;
+import org.apache.juddi.v3.client.Release;
import org.uddi.api_v3.DispositionReport;
import org.uddi.api_v3.Result;
import org.uddi.subr_v3.NotifySubscriptionListener;
@@ -29,7 +33,51 @@ public class SMTPNotifier implements Not
String notificationEmailAddress = null;
String from = null;
Session session = null;
- String transport = null;
+ Properties properties = null;
+
+ private final static String[] mailProps = {"mail.smtp.from", "mail.smtp.host", "mail.smtp.port",
+ "mail.smtp.socketFactory.class", "mail.smtp.socketFactory.fallback", "mail.smtp.starttls.enable",
+ "mail.smtp.socketFactory.port","mail.smtp.auth"};
+
+ protected Properties getEMailProperties() throws ConfigurationException {
+ if (properties==null) {
+ properties = new Properties();
+ String mailPrefix = AppConfig.getConfiguration().getString(Property.JUDDI_EMAIL_PREFIX, Property.DEFAULT_JUDDI_EMAIL_PREFIX);
+ if (! mailPrefix.endsWith(".")) mailPrefix = mailPrefix + ".";
+ for (String key: mailProps) {
+ if (AppConfig.getConfiguration().containsKey(mailPrefix + key)) {
+ properties.put(key, AppConfig.getConfiguration().getProperty(mailPrefix + key));
+ } else if (System.getProperty(mailPrefix + key) != null) {
+ properties.put(key, System.getProperty(mailPrefix + key));
+ }
+ }
+ // only read from file during testing
+ if (properties.size()==0 || "jUDDI@example.org".equals(properties.getProperty("mail.smtp.from"))) {
+ String curDir = System.getProperty("user.dir");
+ if (! curDir.endsWith("uddi-tck")) curDir += "/uddi-tck";
+ String version = Release.getRegistryVersion().replaceAll(".SNAPSHOT", "-SNAPSHOT");
+ String path = curDir + "/target/juddi-tomcat-" + version + "/temp/";
+ log.info("Path="+ path);
+ File tmpFile = new File(path + "/juddi-mail.properties");
+ if (tmpFile.exists()) {
+ try {
+ Properties fileProperties = new Properties();
+ fileProperties.load(new FileInputStream(tmpFile));
+ for (String key: mailProps) {
+ if (fileProperties.containsKey(mailPrefix + key)) {
+ properties.put(key, fileProperties.get(mailPrefix + key));
+ }
+ }
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ log.info("TEST only: Reading properties from " + tmpFile.getAbsolutePath() + ":" + properties);
+ }
+ }
+ }
+ return properties;
+ }
public SMTPNotifier(BindingTemplate bindingTemplate) throws URISyntaxException, ConfigurationException {
super();
@@ -37,45 +85,36 @@ public class SMTPNotifier implements Not
log.error("smtp enpoints only support AccessPointType " + AccessPointType.END_POINT);
}
String accessPointUrl = bindingTemplate.getAccessPointUrl().toLowerCase();
- if (!accessPointUrl.startsWith("mailto")) {
+ if (!accessPointUrl.startsWith("mailto:")) {
log.warn("smtp accessPointUrl for bindingTemplate " + bindingTemplate.getEntityKey() +
" should start with 'mailto'");
+ //TODO maybe update the user's bindingTemplate with the error?
+ } else {
+ notificationEmailAddress = accessPointUrl.substring(accessPointUrl.indexOf(":")+1);
+ session = Session.getInstance(getEMailProperties());
}
- URI accessPointURI = new URI(accessPointUrl);
- notificationEmailAddress = accessPointURI.getUserInfo() + "@" + accessPointURI.getHost();
-
- Properties properties = new Properties();
- String host = AppConfig.getConfiguration().getString(Property.JUDDI_EMAIL_HOST,"localhost");
- properties.put("mail.smtp.host", host);
- String port = AppConfig.getConfiguration().getString(Property.JUDDI_EMAIL_PORT,"25");
- properties.put("mail.smtp.port", port);
-
- boolean isAuth = AppConfig.getConfiguration().getBoolean(Property.JUDDI_EMAIL_AUTH,false);
- if (isAuth) {
- String user = AppConfig.getConfiguration().getString(Property.JUDDI_EMAIL_USER,"juddi");
- properties.put("mail.smtp.user", user);
- String password = AppConfig.getConfiguration().getString(Property.JUDDI_EMAIL_PASSWORD,"juddi");
- properties.put("mail.smtp.user", password);
- }
- session = Session.getDefaultInstance(properties);
- from = AppConfig.getConfiguration().getString(Property.JUDDI_EMAIL_FROM,"juddi");
- transport = AppConfig.getConfiguration().getString(Property.JUDDI_EMAIL_TRANSPORT,"smtp");
}
public DispositionReport notifySubscriptionListener(NotifySubscriptionListener body) throws DispositionReportFaultMessage, RemoteException {
log.info("Sending notification email to " + notificationEmailAddress);
+
try {
- MimeMessage message = new MimeMessage(session);
- message.setFrom(new InternetAddress(from));
- //maybe nice to use a template rather then sending raw xml.
- String subscriptionResultXML = JAXBMarshaller.marshallToString(body, JAXBMarshaller.PACKAGE_UDDIAPI);
- message.setText(subscriptionResultXML);
- message.setSubject("UDDI Subscription Notification for subscription "
- + body.getSubscriptionResultsList().getSubscription().getSubscriptionKey());
- Transport.send(message);
-
+ if (session !=null && notificationEmailAddress != null) {
+ MimeMessage message = new MimeMessage(session);
+ InternetAddress address = new InternetAddress(notificationEmailAddress);
+ Address[] to = {address};
+ message.setRecipients(RecipientType.TO, to);
+ message.setFrom(new InternetAddress(getEMailProperties().getProperty("mail.smtp.from", "jUDDI")));
+ //maybe nice to use a template rather then sending raw xml.
+ String subscriptionResultXML = JAXBMarshaller.marshallToString(body, JAXBMarshaller.PACKAGE_SUBSCR_RES);
+ message.setText(subscriptionResultXML);
+ message.setSubject("UDDI Subscription Notification for subscription "
+ + body.getSubscriptionResultsList().getSubscription().getSubscriptionKey());
+ Transport.send(message);
+ }
} catch (Exception e) {
+ log.error(e.getMessage(),e);
throw new DispositionReportFaultMessage(e.getMessage(), null);
}
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java Tue Apr 23 22:19:34 2013
@@ -18,15 +18,14 @@ package org.apache.juddi.validation;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.AbstractSequentialList;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.xml.ws.Holder;
+
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.logging.Log;
@@ -42,6 +41,7 @@ import org.apache.juddi.config.Property;
import org.apache.juddi.keygen.KeyGenerator;
import org.apache.juddi.keygen.KeyGeneratorFactory;
import org.apache.juddi.model.Publisher;
+import org.apache.juddi.model.Tmodel;
import org.apache.juddi.model.UddiEntity;
import org.apache.juddi.model.UddiEntityPublisher;
import org.apache.juddi.query.FindBusinessByPublisherQuery;
@@ -97,7 +97,6 @@ public class ValidatePublish extends Val
* This flag will add additional output to stdout for debugging purposes,
* set this to true if
*/
- private static final boolean DEBUG = false;
private Log log = LogFactory.getLog(this.getClass());
Set<String> buildInTmodels = null;
@@ -1104,8 +1103,8 @@ public class ValidatePublish extends Val
}
public void validateContact(org.uddi.api_v3.Contact contact, Configuration config) throws DispositionReportFaultMessage {
- if (DEBUG) {
- System.out.println("validateContact");
+ if (log.isDebugEnabled()) {
+ log.debug("validateContact");
}
// A supplied contact can't be null
if (contact == null) {
@@ -1133,17 +1132,21 @@ public class ValidatePublish extends Val
validateKeyLength(address.getTModelKey());
validateLang(address.getLang());
validateUseType(address.getUseType());
+ boolean checked = true;
// Per section 4.4: keys must be case-folded
if (address.getTModelKey() != null) {
address.setTModelKey(address.getTModelKey().toLowerCase());
- verifyTModelKeyExists(address.getTModelKey(), config);
+ checked = verifyTModelKeyExistsAndChecked(address.getTModelKey(), config);
}
if (address.getAddressLine() == null || address.getAddressLine().size() == 0) {
throw new ValueNotAllowedException(new ErrorMessage("errors.contact.NoAddressLine"));
}
- validateAddressLines(address.getAddressLine(), config);
+
+ if (checked) {
+ validateAddressLines(address.getAddressLine(), config);
+ }
}
}
}
@@ -1215,8 +1218,8 @@ public class ValidatePublish extends Val
public void validateKeyedReferenceGroup(KeyedReferenceGroup krg, Configuration config) throws DispositionReportFaultMessage {
// Keyed reference groups must contain a tModelKey
- if (DEBUG) {
- System.out.println("validateKeyedReferenceGroup");
+ if (log.isDebugEnabled()) {
+ log.debug("validateKeyedReferenceGroup");
}
if (krg.getTModelKey() == null || krg.getTModelKey().length() == 0) {
throw new ValueNotAllowedException(new ErrorMessage("errors.keyedreference.NoTModelKey"));
@@ -1227,21 +1230,22 @@ public class ValidatePublish extends Val
krg.setTModelKey(tmodelKey);
validateKeyLength(tmodelKey);
- verifyTModelKeyExists(tmodelKey, config);
+ boolean checked = verifyTModelKeyExistsAndChecked(tmodelKey, config);
- List<KeyedReference> keyedRefs = krg.getKeyedReference();
- // Should being empty raise an error?
- if (keyedRefs != null && keyedRefs.size() > 0) {
- for (KeyedReference keyedRef : keyedRefs) {
- validateKeyedReference(keyedRef, config);
- }
+ if (checked) {
+ List<KeyedReference> keyedRefs = krg.getKeyedReference();
+ // Should being empty raise an error?
+ if (keyedRefs != null && keyedRefs.size() > 0) {
+ for (KeyedReference keyedRef : keyedRefs) {
+ validateKeyedReference(keyedRef, config);
+ }
+ }
}
-
}
public void validateKeyedReference(KeyedReference kr, Configuration config) throws DispositionReportFaultMessage {
- if (DEBUG) {
- System.out.println("validateKeyedReference");
+ if (log.isDebugEnabled()) {
+ log.debug("validateKeyedReference");
}
String tmodelKey = kr.getTModelKey();
@@ -1260,8 +1264,6 @@ public class ValidatePublish extends Val
validateKeyValue(kr.getKeyValue());
validateKeyName(kr.getKeyName());
- verifyTModelKeyExists(tmodelKey, config);
-
String rootPublisherStr = config.getString(Property.JUDDI_ROOT_PUBLISHER);
// 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())) {
@@ -1272,8 +1274,8 @@ public class ValidatePublish extends Val
}
public void validateTModelInstanceDetails(org.uddi.api_v3.TModelInstanceDetails tmodelInstDetails, Configuration config) throws DispositionReportFaultMessage {
- if (DEBUG) {
- System.out.println("validateTModelInstanceDetails");
+ if (log.isDebugEnabled()) {
+ log.debug("validateTModelInstanceDetails");
}
// tModel Instance Details is optional
if (tmodelInstDetails == null) {
@@ -1306,12 +1308,10 @@ public class ValidatePublish extends Val
tmodelInstInfo.setTModelKey((tmodelInstInfo.getTModelKey().toLowerCase()));
validateInstanceDetails(tmodelInstInfo.getInstanceDetails());
- if (DEBUG) {
- System.out.println("validateTModelInstanceInfo");
+ if (log.isDebugEnabled()) {
+ log.debug("validateTModelInstanceInfo");
}
- verifyTModelKeyExists(tmodelInstInfo.getTModelKey(), config);
-
validateKeyLength(tmodelInstInfo.getTModelKey());
validateDescriptions(tmodelInstInfo.getDescription());
@@ -1508,8 +1508,8 @@ public class ValidatePublish extends Val
}
private void validateAccessPoint(EntityManager em, AccessPoint value, Configuration config) throws ValueNotAllowedException {
- if (DEBUG) {
- System.out.println("validateAccessPoint");
+ if (log.isDebugEnabled()) {
+ log.debug("validateAccessPoint");
}
boolean checkRef = false;
@@ -1549,8 +1549,8 @@ public class ValidatePublish extends Val
}
private void validateHostingRedirector(EntityManager em, HostingRedirector hostingRedirector, Configuration config) throws ValueNotAllowedException {
- if (DEBUG) {
- System.out.println("validateHostingRedirector");
+ if (log.isDebugEnabled()) {
+ log.debug("validateHostingRedirector");
}
if (hostingRedirector == null) {
return;
@@ -1595,13 +1595,13 @@ public class ValidatePublish extends Val
}
private void validateAddressLines(List<AddressLine> addressLine, Configuration config) throws ValueNotAllowedException {
- if (DEBUG) {
- System.out.println("validateAddressLines");
+ if (log.isDebugEnabled()) {
+ log.debug("validateAddressLines");
}
if (addressLine != null) {
for (int i = 0; i < addressLine.size(); i++) {
validateKeyName(addressLine.get(i).getKeyName());
- verifyTModelKeyExists(addressLine.get(i).getKeyName(), config);
+ verifyTModelKeyExistsAndChecked(addressLine.get(i).getKeyName(), config);
validateKeyValue(addressLine.get(i).getKeyValue());
if (addressLine.get(i).getValue() == null || addressLine.get(i).getValue().length() == 0) {
@@ -1696,38 +1696,39 @@ public class ValidatePublish extends Val
* @throws ValueNotAllowedException
* @see org.apache.juddi.config.Install
*/
- private void verifyTModelKeyExists(String tmodelKey, Configuration config) throws ValueNotAllowedException {
- if (tmodelKey == null || tmodelKey.length()==0) {
- return;
+ private boolean verifyTModelKeyExistsAndChecked(String tmodelKey, Configuration config) throws ValueNotAllowedException {
+ boolean checked = true;
+ if (tmodelKey == null || tmodelKey.length()==0) {
+ return false;
}
if (tmodelKey.equalsIgnoreCase("uddi:uddi.org:categorization:types")) {
- return;
+ return false;
}
if (tmodelKey.equalsIgnoreCase("uddi:uddi.org:categorization:nodes")) {
- return;
+ return false;
}
if (tmodelKey.equalsIgnoreCase("uddi:uddi.org:v3_inquiry")) {
- return;
+ return false;
}
if (tmodelKey.equalsIgnoreCase("uddi:uddi.org:v3_publication")) {
- return;
+ return false;
}
if (tmodelKey.equalsIgnoreCase("uddi:uddi.org:v3_security")) {
- return;
+ return false;
}
if (tmodelKey.equalsIgnoreCase("uddi:uddi.org:v3_ownership_transfer")) {
- return;
+ return false;
}
if (tmodelKey.equalsIgnoreCase("uddi:uddi.org:v3_subscription")) {
- return;
+ return false;
}
if (tmodelKey.equalsIgnoreCase("uddi:uddi.org:v3_subscriptionlistener")) {
- return;
+ return false;
}
if (config == null) {
log.warn(new ErrorMessage("errors.tmodel.ReferentialIntegrityNullConfig"));
- return;
+ return false;
}
boolean checkRef = false;
try {
@@ -1736,8 +1737,8 @@ public class ValidatePublish extends Val
log.warn("Error caught reading " + Property.JUDDI_ENFORCE_REFERENTIAL_INTEGRITY + " from config file", ex);
}
if (checkRef) {
- if (DEBUG) {
- System.out.println("verifyTModelKeyExists " + tmodelKey);
+ if (log.isDebugEnabled()) {
+ log.debug("verifyTModelKeyExists " + tmodelKey);
}
EntityManager em = PersistenceManager.getEntityManager();
@@ -1746,15 +1747,25 @@ public class ValidatePublish extends Val
log.warn(new ErrorMessage("errors.tmodel.ReferentialIntegrityNullEM"));
} else {
//Collections.sort(buildInTmodels);
- //if ((buildInTmodels, tmodelKey) == -1)
+ //if ((buildInTmodels, tmodelKey) == -1)
+ Tmodel modelTModel = null;
{
-
- org.apache.juddi.model.Tmodel modelTModel = null;
EntityTransaction tx = em.getTransaction();
try {
tx.begin();
modelTModel = em.find(org.apache.juddi.model.Tmodel.class, tmodelKey);
+
+ if (modelTModel == null) checked = false;
+ else {
+ for (org.apache.juddi.model.KeyedReference ref : modelTModel.getCategoryBag().getKeyedReferences()) {
+ if ("uddi-org:types:unchecked".equalsIgnoreCase(ref.getKeyName())) {
+ checked = false;
+ break;
+ }
+ }
+ }
+
tx.commit();
} finally {
@@ -1769,5 +1780,20 @@ public class ValidatePublish extends Val
}
}
}
+ return checked;
+ }
+
+ private boolean verifyTModelKeyChecked(Tmodel modelTModel) {
+ boolean checked = true;
+ if (modelTModel == null) checked = false;
+ else {
+ for (org.apache.juddi.model.KeyedReference ref : modelTModel.getCategoryBag().getKeyedReferences()) {
+ if ("uddi-org:types:unchecked".equalsIgnoreCase(ref.getTmodelKeyRef())) {
+ checked = false;
+ break;
+ }
+ }
+ }
+ return checked;
}
}
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidateUDDIKey.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidateUDDIKey.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidateUDDIKey.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidateUDDIKey.java Tue Apr 23 22:19:34 2013
@@ -36,14 +36,14 @@ public class ValidateUDDIKey {
if (key == null)
throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.NullKey"));
+ if (! key.contains(KeyGenerator.PARTITION_SEPARATOR)) return; //v2 style key; no other validation rules apply
+
String keyToTest = key.trim();
if (keyToTest.endsWith(KeyGenerator.PARTITION_SEPARATOR))
throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.MalformedKey", key));
StringTokenizer tokenizer = new StringTokenizer(key.toLowerCase(), KeyGenerator.PARTITION_SEPARATOR);
- int tokensCount = tokenizer.countTokens();
- if(tokensCount <= 1)
- throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.MalformedKey", key));
+
for(int count = 0; tokenizer.hasMoreTokens(); count++) {
String nextToken = tokenizer.nextToken();
Propchange: juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/juddi_install_data/
------------------------------------------------------------------------------
Merged /juddi/trunk/juddi-core/src/main/resources/juddi_install_data:r1460934-1470373
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/juddi_install_data/UDDI_tModels.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/juddi_install_data/UDDI_tModels.xml?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/juddi_install_data/UDDI_tModels.xml (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/juddi_install_data/UDDI_tModels.xml Tue Apr 23 22:19:34 2013
@@ -975,7 +975,23 @@
</categoryBag>
</tModel>
-
+ <tModel tModelKey="uddi:uddi.org:ubr:postaladdress">
+ <name>ubr-uddi-org:postalAddress</name>
+ <description xml:lang="EN">Postal address structure</description>
+ <overviewDoc>
+ <overviewURL useType="text">
+ http://uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#postal
+ </overviewURL>
+ </overviewDoc>
+ <categoryBag>
+ <keyedReference keyName="uddi-org:types:postalAddress"
+ keyValue="postalAddress"
+ tModelKey="uddi:uddi.org:categorization:types"/>
+ <keyedReference keyName="uddi-org:types:unchecked"
+ keyValue="unchecked"
+ tModelKey="uddi:uddi.org:categorization:types"/>
+ </categoryBag>
+ </tModel>
<tModel tModelKey="uddi:tmodelkey:keygenerator" xmlns="urn:uddi-org:api_v3">
@@ -995,7 +1011,10 @@
<description xml:lang="en">Identifies an address. This can be a physical, mailing, or electric address.</description>
<categoryBag>
- <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+ <keyedReference keyName="uddi-org:types:categorization"
+ keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+ <keyedReference keyName="uddi-org:types:unchecked"
+ keyValue="unchecked" tModelKey="uddi:uddi.org:categorization:types"/>
</categoryBag>
</tModel>
@@ -1007,10 +1026,8 @@
<keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
</categoryBag>
</tModel>
-
-
-
- <tModel tModelKey="uddi:tmodelkey:blank">
+
+ <tModel tModelKey="uddi:tmodelkey:blank">
<name>uddi:tmodelkey:blank</name>
<description xml:lang="en">Identifies a blank tModel</description>
@@ -1018,7 +1035,4 @@
<keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
</categoryBag>
</tModel>
-
-
-
</save_tModel>
\ No newline at end of file
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/messages.properties
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/messages.properties?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/messages.properties (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/messages.properties Tue Apr 23 22:19:34 2013
@@ -128,7 +128,7 @@ errors.names.TooLong=At least one name i
errors.names.NoValue=A name was provided with no value
errors.names.LangTooLong=A name language was provided that is too long, only 26 characters are permitted.
errors.names.UseTypeTooLong=The field 'useType' must be less than 256 characters
-errors.DescriptionTooLong=The field 'useType' must be less than 256 characters
+errors.DescriptionTooLong=The field 'description' must be less than 256 characters
errors.keys.TooLong=Key lengths are limited to 255 characters or less
errors.url.overviewTooLong=Overview URLs are limited to 4096 characters
errors.accessPoint.TooLong=Access points are limited to 4096 characters
Propchange: juddi/branches/juddi-3.2.x/juddi-core/src/main/resources/messages.properties
------------------------------------------------------------------------------
Merged /juddi/trunk/juddi-core/src/main/resources/messages.properties:r1460934-1470373
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java Tue Apr 23 22:19:34 2013
@@ -56,6 +56,9 @@ public class API_030_BusinessEntityTest
UDDISecurityPortType security = new UDDISecurityImpl();
authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
authInfoSam = TckSecurity.getAuthToken(security, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+ String authInfoUDDI = TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
+ tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
+ tckTModel.saveTModels(authInfoUDDI, TckTModel.TMODELS_XML);
} catch (RemoteException e) {
logger.error(e.getMessage(), e);
Assert.fail("Could not obtain authInfo token.");
@@ -71,8 +74,12 @@ public class API_030_BusinessEntityTest
public void testJoePublisherBusinessEntity() {
try {
tckTModel.saveJoePublisherTmodel(authInfoJoe);
+
tckBusiness.saveJoePublisherBusiness(authInfoJoe);
tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
+ } catch (Exception e) {
+ e.printStackTrace();
+
} finally {
tckTModel.deleteJoePublisherTmodel(authInfoJoe);
}
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTest.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTest.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTest.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTest.java Tue Apr 23 22:19:34 2013
@@ -57,6 +57,9 @@ public class API_040_BusinessServiceTest
UDDISecurityPortType security = new UDDISecurityImpl();
authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
authInfoSam = TckSecurity.getAuthToken(security, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+ String authInfoUDDI = TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
+ tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
+ tckTModel.saveTModels(authInfoUDDI, TckTModel.TMODELS_XML);
} catch (RemoteException e) {
logger.error(e.getMessage(), e);
Assert.fail("Could not obtain authInfo token.");
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java Tue Apr 23 22:19:34 2013
@@ -64,6 +64,9 @@ public class API_040_BusinessServiceTest
api010.saveJoePublisher();
UDDISecurityPortType security = new UDDISecurityImpl();
authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+ String authInfoUDDI = TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
+ tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
+ tckTModel.saveTModels(authInfoUDDI, TckTModel.TMODELS_XML);
} catch (RemoteException e) {
logger.error(e.getMessage(), e);
Assert.fail("Could not obtain authInfo token.");
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java Tue Apr 23 22:19:34 2013
@@ -31,6 +31,7 @@ import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.uddi.v3_service.UDDISecurityPortType;
/**
* @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
@@ -56,6 +57,10 @@ public class API_050_BindingTemplateTest
try {
api010.saveJoePublisher();
authInfoJoe = TckSecurity.getAuthToken(new UDDISecurityImpl(), TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+ UDDISecurityPortType security = new UDDISecurityImpl();
+ String authInfoUDDI = TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
+ tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
+ tckTModel.saveTModels(authInfoUDDI, TckTModel.TMODELS_XML);
} catch (RemoteException e) {
logger.error(e.getMessage(), e);
Assert.fail("Could not obtain authInfo token.");
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_080_SubscriptionTest.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_080_SubscriptionTest.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_080_SubscriptionTest.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_080_SubscriptionTest.java Tue Apr 23 22:19:34 2013
@@ -61,6 +61,9 @@ public class API_080_SubscriptionTest
api010.saveSamSyndicator();
authInfoSam = TckSecurity.getAuthToken(new UDDISecurityImpl(), TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+ String authInfoUDDI = TckSecurity.getAuthToken(new UDDISecurityImpl(), TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
+ tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
+ tckTModel.saveTModels(authInfoUDDI, TckTModel.TMODELS_XML);
} catch (RemoteException e) {
logger.error(e.getMessage(), e);
Assert.fail("Could not obtain authInfo token.");
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java Tue Apr 23 22:19:34 2013
@@ -14,12 +14,16 @@ package org.apache.juddi.api.impl;
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+import java.util.Iterator;
+import java.util.Random;
+
import javax.xml.ws.Endpoint;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.juddi.Registry;
+import org.apache.juddi.config.Property;
import org.apache.juddi.v3.tck.TckBusiness;
import org.apache.juddi.v3.tck.TckBusinessService;
import org.apache.juddi.v3.tck.TckPublisher;
@@ -33,6 +37,9 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.uddi.v3_service.UDDISecurityPortType;
+import com.dumbster.smtp.SimpleSmtpServer;
+import com.dumbster.smtp.SmtpMessage;
+
/**
* @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
*/
@@ -46,34 +53,36 @@ public class API_090_SubscriptionListene
private static TckSubscriptionListener tckSubscriptionListener = new TckSubscriptionListener(new UDDISubscriptionImpl(), new UDDIPublicationImpl());
private static Endpoint endPoint;
private static String authInfoJoe = null;
-
+ private static SimpleSmtpServer mailServer;
+ private static Integer smtpPort = 25;
@AfterClass
public static void stopManager() throws ConfigurationException {
//manager.stop();
//shutting down the TCK SubscriptionListener
endPoint.stop();
-
Registry.stop();
+ mailServer.stop();
}
@BeforeClass
public static void startManager() throws ConfigurationException {
Registry.start();
try {
- //bring up the TCK SubscriptionListener
+ smtpPort = 9700 + new Random().nextInt(99);
+ System.setProperty(Property.DEFAULT_JUDDI_EMAIL_PREFIX + "mail.smtp.host", "localhost");
+ System.setProperty(Property.DEFAULT_JUDDI_EMAIL_PREFIX + "mail.smtp.port", String.valueOf(smtpPort));
+ System.setProperty(Property.DEFAULT_JUDDI_EMAIL_PREFIX + "mail.smtp.from", "jUDDI@example.org");
+ mailServer = SimpleSmtpServer.start(smtpPort);
+ //bring up the TCK HTTP SubscriptionListener
endPoint = Endpoint.publish("http://localhost:12345/tcksubscriptionlistener", new UDDISubscriptionListenerImpl());
- //manager = new UDDIClerkManager();
- //manager.start();
-
logger.debug("Getting auth tokens..");
-
- api010.saveJoePublisher();
- UDDISecurityPortType security = new UDDISecurityImpl();
- authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
- Assert.assertNotNull(authInfoJoe);
+ api010.saveJoePublisher();
+ UDDISecurityPortType security = new UDDISecurityImpl();
+ authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+ Assert.assertNotNull(authInfoJoe);
} catch (Exception e) {
logger.error(e.getMessage(), e);
@@ -82,18 +91,116 @@ public class API_090_SubscriptionListene
}
@Test
- public void joePublisher() {
+ public void joePublisherUpdateService_HTTP() {
+ try {
+ tckTModel.saveJoePublisherTmodel(authInfoJoe);
+ tckBusiness.saveJoePublisherBusiness(authInfoJoe);
+ //Saving the binding template that will be called by the server for a subscription event
+ tckBusinessService.saveJoePublisherService(authInfoJoe);
+ //Saving the HTTP Listener Service
+ tckSubscriptionListener.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, 0);
+ //Saving the HTTP Subscription
+ tckSubscriptionListener.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_XML);
+ //Changing the service we subscribed to "JoePublisherService"
+ Thread.sleep(1000);
+ logger.info("Updating Service ********** ");
+ tckBusinessService.updateJoePublisherService(authInfoJoe, "foo");
+
+ //waiting up to 100 seconds for the listener to notice the change.
+ for (int i=0; i<200; i++) {
+ Thread.sleep(500);
+ System.out.print(".");
+ if (UDDISubscriptionListenerImpl.notificationCount > 0) {
+ logger.info("Received HTTP Notification");
+ break;
+ }
+ }
+ if (UDDISubscriptionListenerImpl.notificationCount == 0) {
+ Assert.fail("No HttpNotification was sent");
+ }
+ if (!UDDISubscriptionListenerImpl.notifcationMap.get(0).contains("<name xml:lang=\"en\">Service One</name>")) {
+ Assert.fail("Notification does not contain the correct service");
+ }
+
+ } catch (Exception e) {
+ logger.error("No exceptions please.");
+ e.printStackTrace();
+
+ Assert.fail();
+ } finally {
+ tckSubscriptionListener.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY);
+ tckBusinessService.deleteJoePublisherService(authInfoJoe);
+ tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
+ tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+ }
+ }
+
+ @Test
+ public void joePublisherUpdateService_SMTP() {
+ try {
+ tckTModel.saveJoePublisherTmodel(authInfoJoe);
+ tckBusiness.saveJoePublisherBusiness(authInfoJoe);
+ //Saving the binding template that will be called by the server for a subscription event
+ tckBusinessService.saveJoePublisherService(authInfoJoe);
+ //Saving the SMTP Listener Service
+ tckSubscriptionListener.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_SMTP_SERVICE_XML, 0);
+ //Saving the SMTP Subscription
+ tckSubscriptionListener.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_SMTP_XML);
+ //Changing the service we subscribed to "JoePublisherService"
+ Thread.sleep(1000);
+ logger.info("Updating Service ********** ");
+ tckBusinessService.updateJoePublisherService(authInfoJoe, "foo");
+
+ //waiting up to 100 seconds for the listener to notice the change.
+ for (int i=0; i<200; i++) {
+ Thread.sleep(500);
+ System.out.print(".");
+ if (mailServer.getReceivedEmailSize() > 0) {
+ logger.info("Received Email Notification");
+ break;
+ }
+ }
+ if (mailServer.getReceivedEmailSize() == 0) {
+ Assert.fail("No SmtpNotification was sent");
+ }
+ @SuppressWarnings("rawtypes")
+ Iterator emailIter = mailServer.getReceivedEmail();
+ SmtpMessage email = (SmtpMessage)emailIter.next();
+ System.out.println("Subject:" + email.getHeaderValue("Subject"));
+ System.out.println("Body:" + email.getBody());
+
+ if (!email.getBody().contains("<name xml:lang=\"en\">Service One</name>")) {
+ Assert.fail("Notification does not contain the correct service");
+ }
+
+ } catch (Exception e) {
+ logger.error("No exceptions please.");
+ e.printStackTrace();
+
+ Assert.fail();
+ } finally {
+ tckSubscriptionListener.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_SMTP_KEY);
+ tckBusinessService.deleteJoePublisherService(authInfoJoe);
+ tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
+ tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+ }
+ }
+
+
+ @Test
+ public void joePublisherUpdateBusiness_HTTP() {
try {
tckTModel.saveJoePublisherTmodel(authInfoJoe);
tckBusiness.saveJoePublisherBusiness(authInfoJoe);
tckBusinessService.saveJoePublisherService(authInfoJoe);
//Saving the Listener Service
- tckSubscriptionListener.saveService(authInfoJoe);
+ tckSubscriptionListener.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, 0);
//Saving the Subscription
- tckSubscriptionListener.saveNotifierSubscription(authInfoJoe);
- //Changing the service we subscribed to "JoePublisherService"
- tckBusinessService.updateJoePublisherService(authInfoJoe, "foo");
- //tckSubscriptionListener.changeSubscribedObject(authInfoJoe);
+ tckSubscriptionListener.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_XML);
+ //Changing the service we subscribed to "JoePublisherService"
+ Thread.sleep(1000);
+ logger.info("Deleting Business ********** ");
+ tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
//waiting up to 100 seconds for the listener to notice the change.
String test="";
@@ -101,6 +208,7 @@ public class API_090_SubscriptionListene
Thread.sleep(500);
System.out.print(".");
if (UDDISubscriptionListenerImpl.notificationCount > 0) {
+ logger.info("Received Notification");
break;
} else {
System.out.print(test);
@@ -114,15 +222,13 @@ public class API_090_SubscriptionListene
}
} catch (Exception e) {
+ logger.error("No exceptions please.");
e.printStackTrace();
Assert.fail();
} finally {
-
- tckSubscriptionListener.deleteNotifierSubscription(authInfoJoe);
- tckBusinessService.deleteJoePublisherService(authInfoJoe);
- tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
- tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+ tckSubscriptionListener.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY);
+ tckTModel.deleteJoePublisherTmodel(authInfoJoe);
}
}
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java Tue Apr 23 22:19:34 2013
@@ -20,14 +20,17 @@ import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
+import java.util.Random;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.api.util.SubscriptionListenerQuery;
import org.apache.juddi.v3.tck.TckBusiness;
import org.apache.juddi.v3.tck.TckBusinessService;
import org.apache.juddi.v3.tck.TckPublisher;
import org.apache.juddi.v3.tck.TckSecurity;
+import org.apache.juddi.v3.tck.TckSubscriptionListener;
import org.apache.juddi.v3.tck.TckSubscriptionListenerRMI;
import org.apache.juddi.v3.tck.TckTModel;
import org.apache.juddi.v3.tck.UDDISubscriptionListenerImpl;
@@ -55,6 +58,7 @@ public class API_091_RMISubscriptionList
private static UDDISubscriptionListenerImpl rmiSubscriptionListenerService = null;
private static Registry registry;
private static String path = null;
+ private static Integer randomPort = null;
@AfterClass
public static void stopManager() throws ConfigurationException, AccessException, RemoteException, NotBoundException {
@@ -68,8 +72,11 @@ public class API_091_RMISubscriptionList
public static void startManager() throws ConfigurationException {
org.apache.juddi.Registry.start();
try {
+ //random port
+ randomPort = 19800 + new Random().nextInt(99);
+ System.out.println("RMI Random port=" + randomPort);
//bring up the RMISubscriptionListener
- URI rmiEndPoint = new URI("rmi://localhost:9876/tck/rmisubscriptionlistener");
+ URI rmiEndPoint = new URI("rmi://localhost:" + randomPort + "/tck/rmisubscriptionlistener");
registry = LocateRegistry.createRegistry(rmiEndPoint.getPort());
path = rmiEndPoint.getPath();
@@ -113,9 +120,9 @@ public class API_091_RMISubscriptionList
tckBusiness.saveJoePublisherBusiness(authInfoJoe);
tckBusinessService.saveJoePublisherService(authInfoJoe);
//Saving the Listener Service
- tckSubscriptionListenerRMI.saveService(authInfoJoe);
+ tckSubscriptionListenerRMI.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_RMI_SERVICE_XML, randomPort);
//Saving the Subscription
- tckSubscriptionListenerRMI.saveNotifierSubscription(authInfoJoe);
+ tckSubscriptionListenerRMI.saveNotifierSubscription(authInfoJoe, TckSubscriptionListenerRMI.SUBSCRIPTION_XML_RMI);
//Changing the service we subscribed to "JoePublisherService"
tckBusinessService.updateJoePublisherService(authInfoJoe, "foo");
@@ -143,7 +150,7 @@ public class API_091_RMISubscriptionList
Assert.fail();
} finally {
- tckSubscriptionListenerRMI.deleteNotifierSubscription(authInfoJoe);
+ tckSubscriptionListenerRMI.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListenerRMI.SUBSCRIPTION_KEY_RMI);
tckBusinessService.deleteJoePublisherService(authInfoJoe);
tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
tckTModel.deleteJoePublisherTmodel(authInfoJoe);
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java Tue Apr 23 22:19:34 2013
@@ -34,7 +34,8 @@ public class KeyGeneratorTest
{
System.setProperty(Property.JUDDI_KEYGENERATOR, "org.apache.juddi.keygen.FooGenerator");
try {
- KeyGeneratorFactory.getKeyGenerator();
+ KeyGenerator keyGenerator = KeyGeneratorFactory.forceNewKeyGenerator();
+ System.out.println("Generator = " + keyGenerator.getClass());
Assert.fail("This should have thrown an exception because this class does not exist.");
} catch (Exception e) {
String message = e.getMessage();
@@ -47,7 +48,8 @@ public class KeyGeneratorTest
{
System.setProperty(Property.JUDDI_KEYGENERATOR, "org.apache.juddi.keygen.KeyGenerator");
try {
- KeyGeneratorFactory.getKeyGenerator();
+ KeyGenerator keyGenerator = KeyGeneratorFactory.forceNewKeyGenerator();
+ System.out.println("Generator = " + keyGenerator.getClass());
Assert.fail("This should have thrown an exception because you cannot instantiate an interface.");
} catch (Exception e) {
String message = e.getMessage();
@@ -63,7 +65,7 @@ public class KeyGeneratorTest
{
System.setProperty(Property.JUDDI_KEYGENERATOR, "org.apache.juddi.keygen.DefaultKeyGenerator");
try {
- KeyGenerator keyGenerator = KeyGeneratorFactory.getKeyGenerator();
+ KeyGenerator keyGenerator = KeyGeneratorFactory.forceNewKeyGenerator();
Assert.assertEquals(org.apache.juddi.keygen.DefaultKeyGenerator.class, keyGenerator.getClass());
String key = keyGenerator.generate();
Assert.assertNotNull(key);
Modified: juddi/branches/juddi-3.2.x/juddi-core/src/test/resources/juddiv3.properties
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/test/resources/juddiv3.properties?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/test/resources/juddiv3.properties (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/test/resources/juddiv3.properties Tue Apr 23 22:19:34 2013
@@ -87,5 +87,5 @@ juddi.auth.token.Timeout=15
# category bags, bindingTemplate/AccessPoint/hostingRedirector (referencing another host),
# tModelinstanceparms and anything else that references a KeyName
# default value is true.
-# set to false for backword compatability or for a more lax registry
-juddi.validation.enforceReferentialIntegrity=false
\ No newline at end of file
+# set to false for backwards compatibility or for a more lax registry
+juddi.validation.enforceReferentialIntegrity=true
\ No newline at end of file
Added: juddi/branches/juddi-3.2.x/juddi-gui/license/FontAwesome.txt
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/license/FontAwesome.txt?rev=1471182&view=auto
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/license/FontAwesome.txt (added)
+++ juddi/branches/juddi-3.2.x/juddi-gui/license/FontAwesome.txt Tue Apr 23 22:19:34 2013
@@ -0,0 +1,7 @@
+http://fortawesome.github.io/Font-Awesome/#license
+The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL. These fonts can only be distributed as part of a piece of software, but not individually. See the license for details.
+Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - http://opensource.org/licenses/mit-license.html.
+The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
+Attribution is no longer required in Font Awesome 3.0, but much appreciated: Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome.
+
+Font Awesome includes a number of fonts protected by the Open Font License.
\ No newline at end of file
Added: juddi/branches/juddi-3.2.x/juddi-gui/license/bootstrap-datetimepicker.txt
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/license/bootstrap-datetimepicker.txt?rev=1471182&view=auto
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/license/bootstrap-datetimepicker.txt (added)
+++ juddi/branches/juddi-3.2.x/juddi-gui/license/bootstrap-datetimepicker.txt Tue Apr 23 22:19:34 2013
@@ -0,0 +1,4 @@
+http://tarruda.github.io/bootstrap-datetimepicker/
+Apache 2.0 License
+
+Simple date/time picker component based on the work of Stefan Petre, with contributions taken from Andrew Rowls and jdewit.
\ No newline at end of file
Added: juddi/branches/juddi-3.2.x/juddi-gui/license/bootstrap-timepicker.txt
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/license/bootstrap-timepicker.txt?rev=1471182&view=auto
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/license/bootstrap-timepicker.txt (added)
+++ juddi/branches/juddi-3.2.x/juddi-gui/license/bootstrap-timepicker.txt Tue Apr 23 22:19:34 2013
@@ -0,0 +1,4 @@
+https://github.com/jdewit/bootstrap-timepicker
+http://jdewit.github.io/bootstrap-timepicker/
+
+MIT license
\ No newline at end of file
Modified: juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/AES.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/AES.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/AES.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/AES.java Tue Apr 23 22:19:34 2013
@@ -276,7 +276,7 @@ public class AES {
try {
return AES.EN(clear, key);
} catch (Exception ex) {
- Logger.getLogger(logname).log(Level.FATAL, "I cannot encrypt sensitive information! Check to make sure the unlimited strength JCE is installed " + ex.getMessage());
+ Logger.getLogger(logname).log(Level.FATAL, "Cannot encrypt sensitive information! Check to make sure the unlimited strength JCE is installed " + ex.getMessage());
}
return "";
}
@@ -297,7 +297,7 @@ public class AES {
try {
return AES.DE(cipher, key);
} catch (Exception ex) {
- Logger.getLogger(logname).log(Level.FATAL, "trouble decrypted data, check to make sure the unlimited strength JCE is installed " + ex.getMessage());
+ Logger.getLogger(logname).log(Level.FATAL, "trouble decrypting data, check to make sure the unlimited strength JCE is installed. If this error occured during deployment, I'll automatically try a smaller key size. " + ex.getMessage());
}
return cipher;
Modified: juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/PostBackConstants.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/PostBackConstants.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/PostBackConstants.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/PostBackConstants.java Tue Apr 23 22:19:34 2013
@@ -13,12 +13,12 @@ package org.apache.juddi.webconsole;
* @author Alex O'Ree
*/
public class PostBackConstants {
- public static final String INSTANCE="instance";
- public static final String ACCESSPOINT_TYPE="accessPointType";
- public static final String ACCESSPOINT_VALUE="accessPointValue";
-
+
+ public static final String INSTANCE = "instance";
+ public static final String ACCESSPOINT_TYPE = "accessPointType";
+ public static final String ACCESSPOINT_VALUE = "accessPointValue";
@Deprecated
-public static final String HOSTINGREDIRECTOR="hostingRedirector";
+ public static final String HOSTINGREDIRECTOR = "hostingRedirector";
public static final String OVERVIEW = "overviewDoc";
public static final String TMODELINSTANCE = "tmodelInstance";
public static final String BINDINGTEMPLATE = "bindingTemplate";
@@ -44,5 +44,7 @@ public static final String HOSTINGREDIRE
public static final String IDENT_KEY_REF = "identbagkeyref";
public static final String CATBAG_KEY_REF_GRP = "catbaggrpkeyref";
public static final String KEY_REF = "keyref";
- public static final String TMODEL_DELETED="isDeleted";
+ public static final String TMODEL_DELETED = "isDeleted";
+
+
}
Modified: juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/UddiHub.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/UddiHub.java?rev=1471182&r1=1471181&r2=1471182&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/UddiHub.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/UddiHub.java Tue Apr 23 22:19:34 2013
@@ -330,7 +330,7 @@ public class UddiHub {
}
sb.append("</a><a class=\"btn btn-primary\" href=\"serviceEditor.jsp?bizid=").
append(StringEscapeUtils.escapeHtml(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getBusinessKey())).
- append("\"><i class=\"icon-plus-sign icon-white\"></i></a></td></tr>");
+ append("\"><i class=\"icon-plus-sign icon-white icon-large\"></i></a></td></tr>");
sb.append("<tr><td colspan=3><div id=\"").
append(StringEscapeUtils.escapeHtml(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getBusinessKey())).
@@ -972,9 +972,11 @@ public class UddiHub {
* @param lang
* @param offset
* @param maxrecords
+ * @param isChooser if true, tModel keys will not be clickable and will
+ * instead be render for a modal dialog box
* @return
*/
- public PagableContainer tModelListAsHtml(String keyword, String lang, int offset, int maxrecords) {
+ public PagableContainer tModelListAsHtml(String keyword, String lang, int offset, int maxrecords, boolean isChooser) {
PagableContainer ret = new PagableContainer();
try {
FindTModel fm = new FindTModel();
@@ -1012,32 +1014,12 @@ public class UddiHub {
if (findTModel == null || findTModel.getTModelInfos() == null || findTModel.getTModelInfos().getTModelInfo().isEmpty()) {
ret.renderedHtml = ResourceLoader.GetResource(session, "errors.norecordsfound");//"No tModels are defined";
} else {
- StringBuilder sb = new StringBuilder();
-
- sb.append("<table class=\"table table-hover\"><tr><th>")
- .append(ResourceLoader.GetResource(session, "items.key"))
- .append("</th><th>")
- .append(ResourceLoader.GetResource(session, "items.name"))
- .append("</th><th>")
- .append(ResourceLoader.GetResource(session, "items.description"))
- .append("</th></tr>");
- for (int i = 0; i < findTModel.getTModelInfos().getTModelInfo().size(); i++) {
- sb.append("<tr><td><a href=\"tmodelEditor.jsp?id=")
- .append(StringEscapeUtils.escapeHtml(findTModel.getTModelInfos().getTModelInfo().get(i).getTModelKey()))
- .append("\" >")
- .append(StringEscapeUtils.escapeHtml(findTModel.getTModelInfos().getTModelInfo().get(i).getTModelKey()))
- .append("</a></td><td>")
- .append(StringEscapeUtils.escapeHtml(findTModel.getTModelInfos().getTModelInfo().get(i).getName().getValue()));
- if (findTModel.getTModelInfos().getTModelInfo().get(i).getName().getLang() != null) {
- sb.append(", ")
- .append(StringEscapeUtils.escapeHtml(findTModel.getTModelInfos().getTModelInfo().get(i).getName().getLang()));
- }
- sb.append("</td><td>")
- .append(StringEscapeUtils.escapeHtml(Printers.ListToDescString(findTModel.getTModelInfos().getTModelInfo().get(i).getDescription())))
- .append("</td></tr>");
+ if (!isChooser) {
+ ret.renderedHtml = Printers.PrintTModelListAsHtml(findTModel, session);
}
- sb.append("</table>");
- ret.renderedHtml = sb.toString();
+ else
+ ret.renderedHtml = Printers.PrintTModelListAsHtmlModel(findTModel, session);
+
}
} catch (Exception ex) {
ret.renderedHtml = HandleException(ex);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org