Author: bfitzpat
Date: 2011-12-06 11:05:33 -0500 (Tue, 06 Dec 2011)
New Revision: 37004
Added:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/DTPUDDIObject.java
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDIContentExtension.java
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDIContentProviderExtension.java
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDILabelProviderExtension.java
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDISearchNodeContentProvider.java
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDISearchNodeLabelProvider.java
Modified:
workspace/bfitzpat/org.jboss.tools.uddi.ui/META-INF/MANIFEST.MF
workspace/bfitzpat/org.jboss.tools.uddi.ui/plugin.xml
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/JUDDIConnection.java
Log:
JBIDE-6411 - Adding UDDI connection profile work
Modified: workspace/bfitzpat/org.jboss.tools.uddi.ui/META-INF/MANIFEST.MF
===================================================================
--- workspace/bfitzpat/org.jboss.tools.uddi.ui/META-INF/MANIFEST.MF 2011-12-06 15:51:48
UTC (rev 37003)
+++ workspace/bfitzpat/org.jboss.tools.uddi.ui/META-INF/MANIFEST.MF 2011-12-06 16:05:33
UTC (rev 37004)
@@ -9,6 +9,7 @@
org.jboss.tools.uddi.core;bundle-version="1.0.0",
org.eclipse.datatools.connectivity;bundle-version="1.2.3",
org.eclipse.datatools.connectivity.ui;bundle-version="1.2.1",
- org.eclipse.datatools.connectivity.ui.dse;bundle-version="1.1.4"
+ org.eclipse.datatools.connectivity.ui.dse;bundle-version="1.1.4",
+ org.eclipse.ui.navigator;bundle-version="3.5.100"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Modified: workspace/bfitzpat/org.jboss.tools.uddi.ui/plugin.xml
===================================================================
--- workspace/bfitzpat/org.jboss.tools.uddi.ui/plugin.xml 2011-12-06 15:51:48 UTC (rev
37003)
+++ workspace/bfitzpat/org.jboss.tools.uddi.ui/plugin.xml 2011-12-06 16:05:33 UTC (rev
37004)
@@ -44,5 +44,39 @@
profile="org.jboss.tools.uddi.ui.juddi">
</newWizard>
</extension>
+ <extension
+ point="org.eclipse.ui.navigator.navigatorContent">
+ <navigatorContent
+
contentProvider="org.jboss.tools.uddi.ui.connection.UDDIContentProviderExtension"
+ id="org.jboss.tools.uddi.ui.search"
+
labelProvider="org.jboss.tools.uddi.ui.connection.UDDILabelProviderExtension"
+ name="UDDI Search Content"
+ priority="normal">
+ <enablement>
+ <or>
+ <and>
+ <instanceof
value="org.eclipse.datatools.connectivity.IConnectionProfile"/>
+ <test
+ property="org.eclipse.datatools.connectivity.profile.property.id"
+ value="org.jboss.tools.uddi.ui.juddi"/>
+ </and>
+ <instanceof
+
value="org.jboss.tools.uddi.ui.connection.DTPUDDIObject">
+ </instanceof>
+ </or>
+ </enablement>
+ </navigatorContent>
+ </extension>
+ <extension
+ point="org.eclipse.ui.navigator.viewer">
+ <viewerContentBinding
+
viewerId="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator">
+ <includes>
+ <contentExtension
+ pattern="org.jboss.tools.uddi.ui.search">
+ </contentExtension>
+ </includes>
+ </viewerContentBinding>
+ </extension>
</plugin>
Added:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/DTPUDDIObject.java
===================================================================
---
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/DTPUDDIObject.java
(rev 0)
+++
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/DTPUDDIObject.java 2011-12-06
16:05:33 UTC (rev 37004)
@@ -0,0 +1,38 @@
+package org.jboss.tools.uddi.ui.connection;
+
+import org.apache.juddi.v3.client.transport.Transport;
+import org.eclipse.datatools.connectivity.IConnectionProfile;
+import org.uddi.v3_service.UDDIInquiryPortType;
+
+public class DTPUDDIObject {
+
+ private IConnectionProfile profile;
+ private Transport rawTransport = null;
+ private UDDIInquiryPortType inquiryPortType;
+
+ public DTPUDDIObject (IConnectionProfile profile, Transport inTransport,
UDDIInquiryPortType inquiryPortType) {
+ this.profile = profile;
+ this.rawTransport = inTransport;
+ this.inquiryPortType = inquiryPortType;
+ }
+
+ public Transport getTransport() {
+ return rawTransport;
+ }
+
+ public void setTransport(Transport rawTransport) {
+ this.rawTransport = rawTransport;
+ }
+
+ public UDDIInquiryPortType getInquiryPortType() {
+ return inquiryPortType;
+ }
+
+ public void setInquiryPortType(UDDIInquiryPortType inquiryPortType) {
+ this.inquiryPortType = inquiryPortType;
+ }
+
+ public IConnectionProfile getProfile() {
+ return profile;
+ }
+}
Property changes on:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/DTPUDDIObject.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/JUDDIConnection.java
===================================================================
---
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/JUDDIConnection.java 2011-12-06
15:51:48 UTC (rev 37003)
+++
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/JUDDIConnection.java 2011-12-06
16:05:33 UTC (rev 37004)
@@ -6,23 +6,24 @@
import java.io.IOException;
import java.util.Properties;
-import org.eclipse.datatools.connectivity.IConnectionProfile;
-import org.eclipse.datatools.connectivity.Version;
-import org.eclipse.datatools.connectivity.VersionProviderConnection;
-import org.uddi.api_v3.AuthToken;
-import org.uddi.api_v3.GetAuthToken;
-import org.uddi.v3_service.UDDIInquiryPortType;
-import org.uddi.v3_service.UDDISecurityPortType;
+import org.apache.commons.configuration.ConfigurationException;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.juddi.v3.client.ClassUtil;
import org.apache.juddi.v3.client.config.ClientConfig;
+import org.apache.juddi.v3.client.config.UDDIClerkManager;
import org.apache.juddi.v3.client.config.UDDIClientContainer;
import org.apache.juddi.v3.client.config.UDDINode;
-import org.apache.juddi.v3.client.transport.SAPRegistryJAXWSTransport;
import org.apache.juddi.v3.client.transport.Transport;
+import org.eclipse.datatools.connectivity.IConnectionProfile;
+import org.eclipse.datatools.connectivity.Version;
+import org.eclipse.datatools.connectivity.VersionProviderConnection;
+import org.uddi.api_v3.AuthToken;
+import org.uddi.api_v3.GetAuthToken;
+import org.uddi.v3_service.UDDIInquiryPortType;
+import org.uddi.v3_service.UDDISecurityPortType;
public class JUDDIConnection extends VersionProviderConnection {
@@ -30,6 +31,8 @@
private String inquiryURL;
private String securityURL;
private boolean needsAuthentication;
+ private UDDIInquiryPortType inquiryPortType;
+ private DTPUDDIObject dtpUDDI;
public JUDDIConnection(IConnectionProfile profile, Class<?> factoryClass) {
super(profile, factoryClass);
@@ -40,26 +43,44 @@
getConnectionProfile().getBaseProperties();
inquiryURL = (String) props.get("inquiry");
securityURL = (String) props.get("security");
- Boolean convert = (Boolean) props.get("needsAuthentication");
+ Boolean convert;
+ try {
+ convert = (Boolean) props.get("needsAuthentication");
+ } catch (ClassCastException cce) {
+ convert = new Boolean(true);
+ }
+
needsAuthentication = convert.booleanValue();
- String filepath = createTemporaryUDDIXMLFile();
+ String filepath = createTemporaryUDDIXMLFile(needsAuthentication);
System.out.println(filepath);
try {
// ClientConfig config = UDDIClientContainer.getUDDIClerkManager(null).
// getClientConfig();
ClientConfig config = new ClientConfig(filepath);
- String clazz =
config.getUDDINode(getConnectionProfile().getName()).getProxyTransport();
- String managerName = config.getManagerName();
+ UDDINode node = config.getUDDINode(getConnectionProfile().getName());
+ String clazz = node.getProxyTransport();
+ final String managerName = config.getManagerName();
Class<?> transportClass = ClassUtil.forName(clazz, Transport.class);
+
+ UDDIClerkManager manager;
+ try {
+ manager = UDDIClientContainer.getUDDIClerkManager(managerName);
+ if (manager != null) {
+ UDDIClientContainer.removeClerkManager(managerName);
+ manager = new UDDIClerkManager(filepath);
+ UDDIClientContainer.addClerkManager(manager);
+ }
+ } catch (ConfigurationException ce) {
+ manager = new UDDIClerkManager(filepath);
+ UDDIClientContainer.addClerkManager(manager);
+ }
+
if (transportClass!=null) {
- UDDINode node = config.getUDDINode(getConnectionProfile().getName());
- SAPRegistryJAXWSTransport transport = new SAPRegistryJAXWSTransport(managerName,
getConnectionProfile().getName());
-
-// Transport transport = (Transport) transportClass.
-// getConstructor(String.class, String.class).newInstance("temp-uddi",
getConnectionProfile().getName());
- UDDIInquiryPortType inquiry = transport.getUDDIInquiryService();
+ Transport transport = (Transport) transportClass.
+ getConstructor(String.class, String.class).newInstance("temp-uddi",
getConnectionProfile().getName());
+ inquiryPortType = transport.getUDDIInquiryService();
UDDISecurityPortType security = transport.getUDDISecurityService();
Client client = ClientProxy.getClient(security);
@@ -76,6 +97,9 @@
} catch (Exception e) {
e.printStackTrace();
}
+
+ dtpUDDI = new DTPUDDIObject(getConnectionProfile(), transport, inquiryPortType);
+
}
} catch (Exception e) {
e.printStackTrace();
@@ -84,7 +108,7 @@
System.out.println(props.toString());
}
- private String createTemporaryUDDIXMLFile() {
+ private String createTemporaryUDDIXMLFile( boolean needsAuthentication ) {
try {
// Create temp file.
File temp = File.createTempFile("udditemp", ".xml");
@@ -94,7 +118,7 @@
// Write to temp file
BufferedWriter out = new BufferedWriter(new FileWriter(temp));
- String xml = getUDDIXML();
+ String xml = getUDDIXML( needsAuthentication );
out.write(xml);
out.close();
@@ -104,7 +128,7 @@
return null;
}
- private String getUDDIXML() {
+ private String getUDDIXML( boolean needsAuthentication ) {
StringBuffer buffer = new StringBuffer();
buffer.append("<?xml version=\"1.0\"
encoding=\"ISO-8859-1\" ?>");
buffer.append("<uddi>");
@@ -114,6 +138,12 @@
buffer.append("<node>");
buffer.append("<name>" + getConnectionProfile().getName() +
"</name>");
buffer.append("<description>" + getConnectionProfile().getDescription()
+ "</description>");
+ if (needsAuthentication) {
+ buffer.append("<properties>");
+ buffer.append("<property name=\"basicAuthUsername\"
value=\"sruser\" />");
+ buffer.append("<property name=\"basicAuthPassword\"
value=\"eswork123\" />");
+ buffer.append("</properties>");
+ }
buffer.append("<proxyTransport>org.apache.juddi.v3.client.transport.SAPRegistryJAXWSTransport</proxyTransport>");
buffer.append("<inquiryUrl>" + inquiryURL +
"</inquiryUrl>");
buffer.append("<securityUrl>" + securityURL +
"</securityUrl>");
@@ -130,11 +160,14 @@
@Override
public Object getRawConnection() {
- return rawTransport;
+ return dtpUDDI;
}
@Override
public void close() {
+ if (inquiryPortType != null) {
+ inquiryPortType = null;
+ }
if (rawTransport != null) {
rawTransport = null;
}
Added:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDIContentExtension.java
===================================================================
---
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDIContentExtension.java
(rev 0)
+++
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDIContentExtension.java 2011-12-06
16:05:33 UTC (rev 37004)
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Sybase, Inc.
+ *
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ *
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: brianf & shongxum - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.uddi.ui.connection;
+
+import org.eclipse.datatools.connectivity.IConnectionProfile;
+import org.eclipse.datatools.connectivity.ui.IContentExtension;
+import org.eclipse.datatools.connectivity.ui.ManagedContentExtensionBase;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.internal.WorkbenchPlugin;
+
+/**
+ * @see IContentExtension
+ */
+@SuppressWarnings("restriction")
+public class UDDIContentExtension extends ManagedContentExtensionBase {
+
+ public UDDIContentExtension(IConnectionProfile profile) {
+ super(profile, "org.apache.juddi.v3.client.transport.Transport");
+ }
+
+ public Image getImage() {
+ return WorkbenchPlugin.getDefault().getSharedImages().getImage(
+ ISharedImages.IMG_OBJ_FILE);
+ }
+
+ public String getLabel() {
+ return "UDDI Content";
+ }
+
+ public boolean isVisible() {
+ return true;
+ }
+
+}
Property changes on:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDIContentExtension.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDIContentProviderExtension.java
===================================================================
---
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDIContentProviderExtension.java
(rev 0)
+++
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDIContentProviderExtension.java 2011-12-06
16:05:33 UTC (rev 37004)
@@ -0,0 +1,23 @@
+package org.jboss.tools.uddi.ui.connection;
+
+import org.eclipse.datatools.connectivity.IConnectionProfile;
+import org.eclipse.datatools.connectivity.ui.CommonContentProviderBase;
+import org.eclipse.datatools.connectivity.ui.IContentExtension;
+
+/**
+ * This class implements the navigatorContent extension and supplies workspace
+ * resources.
+ *
+ */
+public class UDDIContentProviderExtension extends
+ CommonContentProviderBase {
+
+ public UDDIContentProviderExtension() {
+ super(new UDDISearchNodeContentProvider());
+ }
+
+ protected IContentExtension createContentExtension(
+ IConnectionProfile profile) {
+ return new UDDIContentExtension(profile);
+ }
+}
\ No newline at end of file
Property changes on:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDIContentProviderExtension.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDILabelProviderExtension.java
===================================================================
---
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDILabelProviderExtension.java
(rev 0)
+++
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDILabelProviderExtension.java 2011-12-06
16:05:33 UTC (rev 37004)
@@ -0,0 +1,11 @@
+package org.jboss.tools.uddi.ui.connection;
+
+import org.eclipse.datatools.connectivity.ui.CommonLabelProviderBase;
+
+public class UDDILabelProviderExtension extends CommonLabelProviderBase {
+
+ public UDDILabelProviderExtension() {
+ super(new UDDISearchNodeLabelProvider());
+ }
+
+}
Property changes on:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDILabelProviderExtension.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDISearchNodeContentProvider.java
===================================================================
---
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDISearchNodeContentProvider.java
(rev 0)
+++
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDISearchNodeContentProvider.java 2011-12-06
16:05:33 UTC (rev 37004)
@@ -0,0 +1,52 @@
+package org.jboss.tools.uddi.ui.connection;
+
+import org.eclipse.datatools.connectivity.IConnectionProfile;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+public class UDDISearchNodeContentProvider implements ITreeContentProvider {
+
+ private IConnectionProfile profile = null;
+ private DTPUDDIObject dtpUDDI = null;
+
+ public UDDISearchNodeContentProvider() {
+ }
+
+ @Override
+ public void dispose() {
+ }
+
+ @Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ if (newInput instanceof IConnectionProfile) {
+ this.profile = (IConnectionProfile) newInput;
+ } else if (newInput instanceof DTPUDDIObject) {
+ this.dtpUDDI = (DTPUDDIObject) newInput;
+ }
+ }
+
+ @Override
+ public Object[] getElements(Object inputElement) {
+ return null;
+ }
+
+ @Override
+ public Object[] getChildren(Object parentElement) {
+
+ return null;
+ }
+
+ @Override
+ public Object getParent(Object element) {
+ return null;
+ }
+
+ @Override
+ public boolean hasChildren(Object element) {
+ if (this.profile != null || this.dtpUDDI != null) {
+ return true;
+ }
+ return false;
+ }
+
+}
Property changes on:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDISearchNodeContentProvider.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDISearchNodeLabelProvider.java
===================================================================
---
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDISearchNodeLabelProvider.java
(rev 0)
+++
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDISearchNodeLabelProvider.java 2011-12-06
16:05:33 UTC (rev 37004)
@@ -0,0 +1,46 @@
+package org.jboss.tools.uddi.ui.connection;
+
+import org.eclipse.datatools.connectivity.ui.navigator.ConnectionProfileLabelProvider;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.internal.WorkbenchPlugin;
+import org.uddi.v3_service.UDDIInquiryPortType;
+
+@SuppressWarnings("restriction")
+public class UDDISearchNodeLabelProvider extends ConnectionProfileLabelProvider {
+
+ public UDDISearchNodeLabelProvider() {
+ super();
+ }
+
+ @Override
+ public Image getImage(Object element) {
+ Image image;
+ if (element instanceof DTPUDDIObject) {
+ Object inquiry = ((DTPUDDIObject) element).getInquiryPortType();
+ if (inquiry != null) {
+ image = WorkbenchPlugin.getDefault().getSharedImages()
+ .getImage(ISharedImages.IMG_OBJ_FOLDER);
+ } else {
+ image = WorkbenchPlugin.getDefault().getSharedImages()
+ .getImage(ISharedImages.IMG_OBJ_FILE);
+ }
+ } else {
+ image = super.getImage(element);
+ }
+ return image;
+ }
+
+ @Override
+ public String getText(Object element) {
+ String text;
+ if (element instanceof DTPUDDIObject) {
+ UDDIInquiryPortType inquiry = ((DTPUDDIObject) element).getInquiryPortType();
+ text = inquiry.toString();
+ } else {
+ text = super.getText(element);
+ }
+ return text;
+ }
+
+}
Property changes on:
workspace/bfitzpat/org.jboss.tools.uddi.ui/src/org/jboss/tools/uddi/ui/connection/UDDISearchNodeLabelProvider.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain