You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by ks...@apache.org on 2009/10/02 21:03:25 UTC
svn commit: r821133 - in /webservices/juddi/trunk: docs/
juddi-console/uddi-portlets/
juddi-core/src/main/java/org/apache/juddi/config/
juddi-core/src/test/resources/
juddiv3-war/src/main/webapp/WEB-INF/classes/RENAME2ACTIVATE_juddi_custom_install_data...
Author: kstam
Date: Fri Oct 2 19:03:24 2009
New Revision: 821133
URL: http://svn.apache.org/viewvc?rev=821133&view=rev
Log:
JUDDI-204, adding capability to install root publisher named something other then "root"
Added:
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/PublisherFileFilter.java
Modified:
webservices/juddi/trunk/docs/jUDDI-UserGuide.odt
webservices/juddi/trunk/docs/jUDDI-UserGuide.pdf
webservices/juddi/trunk/juddi-console/uddi-portlets/uddi-portlets.launch
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Property.java
webservices/juddi/trunk/juddi-core/src/test/resources/juddiv3.properties
webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/RENAME2ACTIVATE_juddi_custom_install_data/affa_Publisher.xml
webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/RENAME2ACTIVATE_juddi_custom_install_data/root_BusinessEntity.xml
webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/XRegistration.java
Modified: webservices/juddi/trunk/docs/jUDDI-UserGuide.odt
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/docs/jUDDI-UserGuide.odt?rev=821133&r1=821132&r2=821133&view=diff
==============================================================================
Binary files - no diff available.
Modified: webservices/juddi/trunk/docs/jUDDI-UserGuide.pdf
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/docs/jUDDI-UserGuide.pdf?rev=821133&r1=821132&r2=821133&view=diff
==============================================================================
Binary files - no diff available.
Modified: webservices/juddi/trunk/juddi-console/uddi-portlets/uddi-portlets.launch
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-console/uddi-portlets/uddi-portlets.launch?rev=821133&r1=821132&r2=821133&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-console/uddi-portlets/uddi-portlets.launch (original)
+++ webservices/juddi/trunk/juddi-console/uddi-portlets/uddi-portlets.launch Fri Oct 2 19:03:24 2009
@@ -64,9 +64,11 @@
<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/jUDDI/juddi-console/uddi-portlets/target/uddi-portlets-3.0.0.SNAPSHOT/WEB-INF/lib/uddi-ws-3.0.0.SNAPSHOT.jar" path="3" type="2"/> "/>
<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry internalArchive="/juddi-console/uddi-portlets/src/main/resources" path="3" type="2"/> "/>
</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/>
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.GWTShell"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-out target/www org.apache.juddi.portlets.UDDIBrowser/UDDIBrowser.html"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="juddi-console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XstartOnFirstThread -Xmx256M"/>
</launchConfiguration>
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java?rev=821133&r1=821132&r2=821133&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java Fri Oct 2 19:03:24 2009
@@ -17,14 +17,21 @@
package org.apache.juddi.config;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.Enumeration;
import java.util.List;
import java.util.StringTokenizer;
import java.util.UUID;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -50,6 +57,7 @@
import org.apache.juddi.validation.ValidatePublish;
import org.apache.juddi.validation.ValidateUDDIKey;
import org.apache.log4j.Logger;
+import org.apache.log4j.helpers.Loader;
import org.uddi.api_v3.SaveTModel;
import org.uddi.api_v3.TModel;
import org.uddi.v3_service.DispositionReportFaultMessage;
@@ -69,7 +77,6 @@
public static final String JUDDI_CUSTOM_INSTALL_DATA_DIR = "juddi_custom_install_data/";
public static Logger log = Logger.getLogger(Install.class);
- @SuppressWarnings("unchecked")
protected static void install(Configuration config) throws JAXBException, DispositionReportFaultMessage, IOException, ConfigurationException {
EntityManager em = PersistenceManager.getEntityManager();
@@ -93,6 +100,7 @@
String nodeId = getNodeId(rootBusinessEntity.getBusinessKey(), rootPartition);
String fileRootPublisher = rootPublisherStr + FILE_PUBLISHER;
+ log.info("Loading the root Publisher from file " + fileRootPublisher);
rootPublisher = installPublisher(em, fileRootPublisher, config);
installRootPublisherKeyGen(em, rootTModelKeyGen, rootPartition, rootPublisher, nodeId);
@@ -100,7 +108,7 @@
rootBusinessEntity.setBusinessKey(nodeId);
installBusinessEntity(true, em, rootBusinessEntity, rootPublisher, rootPartition, config);
- List<String> juddiPublishers = config.getList(Property.JUDDI_PUBLISHERS);
+ List<String> juddiPublishers = getPublishers(config);
for (String publisherStr : juddiPublishers) {
String filePublisher = publisherStr + FILE_PUBLISHER;
String fileTModelKeygen = publisherStr + FILE_TMODELKEYGEN;
@@ -171,7 +179,6 @@
}
}
- @SuppressWarnings("unchecked")
protected static boolean alreadyInstalled(EntityManager em, Configuration config) throws ConfigurationException {
String rootPublisherStr = config.getString(Property.JUDDI_ROOT_PUBLISHER);
@@ -179,7 +186,7 @@
if (publisher != null)
return true;
- List<String> publishers = config.getList(Property.JUDDI_PUBLISHERS);
+ List<String> publishers = getPublishers(config);
for (String publisherStr : publishers) {
publisher = em.find(org.apache.juddi.model.Publisher.class, publisherStr);
if (publisher != null)
@@ -464,24 +471,75 @@
}
- private static Object buildInstallEntity(String fileName, String packageName, Configuration config) throws JAXBException, IOException, ConfigurationException {
+ private static List<String> getPublishers(Configuration config) throws ConfigurationException {
+ List<String> publishers = new ArrayList<String>();
+ String basePath = JUDDI_CUSTOM_INSTALL_DATA_DIR;
+ URL url = Loader.getResource(JUDDI_CUSTOM_INSTALL_DATA_DIR);
+ if (url==null) {
+ url = Loader.getResource(JUDDI_INSTALL_DATA_DIR);
+ basePath = JUDDI_INSTALL_DATA_DIR;
+ }
+ String path=url.getPath();
+ File dir = new File(path);
+ String rootPublisherStr = config.getString(Property.JUDDI_ROOT_PUBLISHER);
+ if (dir.exists()) {
+ log.debug("Discovering the Publisher XML data files in directory: " + path);
+ File[] files = dir.listFiles(new PublisherFileFilter());
+ for (File f : files)
+ {
+ String publisher = f.getName().substring(0,f.getName().indexOf(FILE_PUBLISHER));
+ if (! rootPublisherStr.equalsIgnoreCase(publisher)) {
+ publishers.add(publisher);
+ }
+ }
+ } else {
+ String[] paths = path.split("!");
+ try {
+ log.debug("Discovering the Publisher XML data files in jar: " + paths[0]);
+ Enumeration<JarEntry> en = new JarFile(new File(new URI(paths[0]))).entries();
+ while (en.hasMoreElements()) {
+ String name = en.nextElement().getName();
+ if (name.endsWith(FILE_PUBLISHER)) {
+ log.debug("Found publisher file=" + name);
+ String publisher = name.substring(basePath.length(),name.indexOf(FILE_PUBLISHER));
+ if (! rootPublisherStr.equalsIgnoreCase(publisher)) {
+ publishers.add(publisher);
+ }
+ }
+ }
+ } catch (IOException e) {
+ throw new ConfigurationException(e);
+ } catch (URISyntaxException e) {
+ throw new ConfigurationException(e);
+ }
+ }
+ return publishers;
+ }
+
+ private static Object buildInstallEntity(final String fileName, String packageName, Configuration config) throws JAXBException, IOException, ConfigurationException {
InputStream resourceStream = null;
// First try the custom install directory
- URL url = Thread.currentThread().getContextClassLoader().getResource(JUDDI_CUSTOM_INSTALL_DATA_DIR + fileName);
+ URL url = Loader.getResource(JUDDI_CUSTOM_INSTALL_DATA_DIR + fileName);
if (url != null) resourceStream = url.openStream();
// If the custom install directory doesn't exist, then use the standard install directory where the resource is guaranteed to exist.
if (resourceStream == null) {
- url = Thread.currentThread().getContextClassLoader().getResource(JUDDI_INSTALL_DATA_DIR + fileName);
- if (url != null) resourceStream = url.openStream();
- }
-
- // If file still does not exist then return null;
- if (resourceStream == null) {
- return null;
+ url = Loader.getResource(JUDDI_INSTALL_DATA_DIR + fileName);
+ if (url != null) {
+ resourceStream = url.openStream();
+ }
+ // If file still does not exist then return null;
+ if (url ==null || resourceStream == null) {
+ if (fileName.endsWith(FILE_PUBLISHER)) {
+ throw new ConfigurationException("Could not locate " + JUDDI_INSTALL_DATA_DIR + fileName);
+ } else {
+ log.debug("Could not locate: " + url);
+ }
+ return null;
+ }
}
-
+ log.info("Loading the content of file: " + url);
StringBuilder xml = new StringBuilder();
byte[] b = new byte[4096];
for (int n; (n = resourceStream.read(b)) != -1;) {
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Property.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Property.java?rev=821133&r1=821132&r2=821133&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Property.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Property.java Fri Oct 2 19:03:24 2009
@@ -3,7 +3,6 @@
public interface Property
{
public final static String JUDDI_ROOT_PUBLISHER ="juddi.root.publisher";
- public final static String JUDDI_PUBLISHERS ="juddi.publishers";
public final static String JUDDI_PERSISTENCEUNIT_NAME ="juddi.persistenceunit.name";
public final static String JUDDI_AUTHENTICATOR ="juddi.authenticator";
public final static String JUDDI_CONFIGURATION_RELOAD_DELAY ="juddi.configuration.reload.delay";
Added: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/PublisherFileFilter.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/PublisherFileFilter.java?rev=821133&view=auto
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/PublisherFileFilter.java (added)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/PublisherFileFilter.java Fri Oct 2 19:03:24 2009
@@ -0,0 +1,25 @@
+package org.apache.juddi.config;
+
+import java.io.File;
+import java.io.FileFilter;
+
+import org.apache.log4j.Logger;
+/**
+ * From the
+ *
+ * @author kstam
+ *
+ */
+public class PublisherFileFilter implements FileFilter {
+
+ private Logger log = Logger.getLogger(this.getClass());
+
+ public boolean accept(File file) {
+ log.info("file=" + file);
+ if (file.getName().endsWith(Install.FILE_PUBLISHER)) {
+ return true;
+ }
+ return false;
+ }
+
+}
Modified: webservices/juddi/trunk/juddi-core/src/test/resources/juddiv3.properties
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/test/resources/juddiv3.properties?rev=821133&r1=821132&r2=821133&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/test/resources/juddiv3.properties (original)
+++ webservices/juddi/trunk/juddi-core/src/test/resources/juddiv3.properties Fri Oct 2 19:03:24 2009
@@ -12,7 +12,6 @@
juddi.server.port=8080
juddi.root.publisher=root
-juddi.publishers=UDDI
#
# Name of the persistence unit to use (the default, "juddiDatabase" refers to the unit compiled into the juddi library)
juddi.persistenceunit.name=juddiDatabase
Modified: webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/RENAME2ACTIVATE_juddi_custom_install_data/affa_Publisher.xml
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/RENAME2ACTIVATE_juddi_custom_install_data/affa_Publisher.xml?rev=821133&r1=821132&r2=821133&view=diff
==============================================================================
--- webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/RENAME2ACTIVATE_juddi_custom_install_data/affa_Publisher.xml (original)
+++ webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/RENAME2ACTIVATE_juddi_custom_install_data/affa_Publisher.xml Fri Oct 2 19:03:24 2009
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/ -->
-<publisher xmlns="urn:juddi-apache-org:api_v3" authorizedName="affa">
+<publisher xmlns="urn:juddi-affiliatea-org:api_v3" authorizedName="affa">
<publisherName>root of affiliate A publisher</publisherName>
<isAdmin>true</isAdmin>
</publisher>
Modified: webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/RENAME2ACTIVATE_juddi_custom_install_data/root_BusinessEntity.xml
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/RENAME2ACTIVATE_juddi_custom_install_data/root_BusinessEntity.xml?rev=821133&r1=821132&r2=821133&view=diff
==============================================================================
--- webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/RENAME2ACTIVATE_juddi_custom_install_data/root_BusinessEntity.xml (original)
+++ webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/RENAME2ACTIVATE_juddi_custom_install_data/root_BusinessEntity.xml Fri Oct 2 19:03:24 2009
@@ -47,9 +47,6 @@
<!-- This discovery URL should point to the home installation URL of jUDDI -->
<discoveryURL useType="home">http://${juddi.server.name}:${juddi.server.port}/juddiv3</discoveryURL>
</discoveryURLs>
- <categoryBag>
- <keyedReference tModelKey="uddi:uddi.org:categorization:nodes" keyValue="node" />
- </categoryBag>
<businessServices>
<businessService serviceKey="uddi:juddi.apache.org:services-subscriptionlistener" businessKey="uddi:juddi.apache.org:businesses-asf">
<name xml:lang="en">UDDI Subscription Listener Service</name>
Modified: webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/XRegistration.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/XRegistration.java?rev=821133&r1=821132&r2=821133&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/XRegistration.java (original)
+++ webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/XRegistration.java Fri Oct 2 19:03:24 2009
@@ -38,7 +38,6 @@
BusinessService businessService = fromClerk.findService(bindingTemplate.getServiceKey());
businessService.getBindingTemplates().getBindingTemplate().clear();
businessService.getBindingTemplates().getBindingTemplate().add(bindingTemplate);
- //TODO Check the keyGenTModel
toClerk.register(businessService);
} catch (Exception e) {
log.error("Could not cross-register. " + e.getMessage() + " " + e.getCause(),e);
---------------------------------------------------------------------
To unsubscribe, e-mail: juddi-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: juddi-cvs-help@ws.apache.org