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/10/23 22:15:31 UTC

svn commit: r1535149 - in /juddi/trunk: juddi-client/src/main/java/org/apache/juddi/v3/client/config/ juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/ juddi-gui/src/main/resources/META-INF/ juddi-gui/src/main/resources/org/apache/juddi/webconso...

Author: alexoree
Date: Wed Oct 23 20:15:30 2013
New Revision: 1535149

URL: http://svn.apache.org/r1535149
Log:
JUDDI-668 fixed
JUDDI-669 fixed

Modified:
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClient.java
    juddi/trunk/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java
    juddi/trunk/juddi-gui/src/main/resources/META-INF/uddi.xml
    juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties
    juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web_es.properties
    juddi/trunk/juddi-gui/src/main/webapp/ajax/settings.jsp
    juddi/trunk/juddi-gui/src/main/webapp/settings.jsp

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java?rev=1535149&r1=1535148&r2=1535149&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java Wed Oct 23 20:15:30 2013
@@ -18,6 +18,7 @@ package org.apache.juddi.v3.client.confi
 
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
@@ -70,6 +71,27 @@ public class ClientConfig 
 	{
 		loadConfiguration(configurationFile, properties);
 	}
+        
+        /**
+         * Attempts to save any changes made to the configuration back to disk
+         * @throws ConfigurationException 
+         */
+        public void saveConfig() throws ConfigurationException
+        {
+            
+            XMLConfiguration saveConfiguration = new XMLConfiguration(configurationFile);
+            Configuration cc = new CompositeConfiguration(saveConfiguration);
+            Iterator<String> keys = this.config.getKeys();
+            while (keys.hasNext()){
+                String key = keys.next();
+                if (key.startsWith("client"))
+                {
+                    cc.setProperty(key, config.getProperty(key));
+                }
+            }
+            saveConfiguration.save();
+        }
+        
 	protected void readConfig(Properties properties) throws ConfigurationException {
 		uddiNodes = readNodeConfig(config, properties);
 		uddiClerks = readClerkConfig(config, uddiNodes);

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClient.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClient.java?rev=1535149&r1=1535148&r2=1535149&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClient.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClient.java Wed Oct 23 20:15:30 2013
@@ -325,7 +325,7 @@ public class UDDIClient {
     public ClientConfig getClientConfig() {
         return clientConfig;
     }
-
+    
     public String getName() {
         return clientConfig.getClientName();
     }

Modified: juddi/trunk/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java?rev=1535149&r1=1535148&r2=1535149&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java (original)
+++ juddi/trunk/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java Wed Oct 23 20:15:30 2013
@@ -42,6 +42,8 @@ import javax.xml.datatype.DatatypeFactor
 import javax.xml.datatype.XMLGregorianCalendar;
 import javax.xml.ws.BindingProvider;
 import javax.xml.ws.Holder;
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -175,8 +177,6 @@ public class UddiHub {
     public Properties GetRawConfiguration() {
         return properties;
     }
-    
-    
 
     private UddiHub(ServletContext application, HttpSession _session) throws Exception {
         URL prop = application.getResource("/META-INF/config.properties");
@@ -218,19 +218,30 @@ public class UddiHub {
     }
     private HttpSession session;
 
-    
-    public Properties GetDigitalSignatureConfig()
-    {
-        try{
-        return UDDIClientContainer.getUDDIClient(null).getClientConfig().getDigitalSignatureConfiguration();
-        }
-        catch (Exception ex){
+    /**
+     * gets a reference to the current juddi client config file. this is a live instance
+     * changes can be stored to disk, usually
+     * @return
+     * @throws ConfigurationException g
+     */
+    public ClientConfig GetJuddiClientConfig() throws ConfigurationException {
+        return UDDIClientContainer.getUDDIClient(null).
+                getClientConfig();
+    }
+
+    /**
+     * returns all of the current properties defining digital signatures
+     * @return 
+     */
+    public Properties GetDigitalSignatureConfig() {
+        try {
+            return UDDIClientContainer.getUDDIClient(null).getClientConfig().getDigitalSignatureConfiguration();
+        } catch (Exception ex) {
             log.error("error fetching uddi.xml", ex);
         }
         return new Properties();
     }
-    
-    
+
     private String GetToken() {
         if (style != AuthStyle.UDDI_AUTH) {
             BindingProvider bp = null;

Modified: juddi/trunk/juddi-gui/src/main/resources/META-INF/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/resources/META-INF/uddi.xml?rev=1535149&r1=1535148&r2=1535149&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/resources/META-INF/uddi.xml (original)
+++ juddi/trunk/juddi-gui/src/main/resources/META-INF/uddi.xml Wed Oct 23 20:15:30 2013
@@ -2,7 +2,7 @@
 
 <uddi>
     <reloadDelay>5000</reloadDelay>
-    <client name="example-client">
+    <client name="juddigui">
         <nodes>
             <node>
                 <!-- required 'default' node -->
@@ -26,6 +26,20 @@
                 <subscriptionUrl>http://localhost:8080/juddiv3/services/subscription</subscriptionUrl>
                 <subscriptionListenerUrl>http://localhost:8080/juddiv3/services/subscription-listener</subscriptionListenerUrl>
                 <juddiApiUrl>http://localhost:8080/juddiv3/services/juddi-api</juddiApiUrl>
+				
+				<!-- 
+				Jboss users, note that the url is typically different, here's an example for Jboss EAP 6.x
+				<custodyTransferUrl>http://localhost:8080/juddiv3/UDDICustodyTransferService</custodyTransferUrl>
+				<inquiryUrl>http://localhost:8080/juddiv3/UDDIInquiryService</inquiryUrl>
+				<publishUrl>http://localhost:8080/juddiv3/UDDIPublicationService</publishUrl>
+				<securityUrl>http://localhost:8080/juddiv3/UDDISecurityService</securityUrl>
+				<subscriptionUrl>http://localhost:8080/juddiv3/UDDISubscriptionService</subscriptionUrl>
+				<subscriptionListenerUrl>http://localhost:8080/juddiv3/UDDISubscriptionListenerService</subscriptionListenerUrl>
+				<juddiApiUrl>http://localhost:8080/juddiv3/UDDIApiService</juddiApiUrl>
+				
+				-->
+				
+				
             </node>
         </nodes>
 		<signature>

Modified: juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties?rev=1535149&r1=1535148&r2=1535149&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties (original)
+++ juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties Wed Oct 23 20:15:30 2013
@@ -168,7 +168,7 @@ items.dsigs=Digital Signatures
 items.service.browser=Service Browser
 items.tmodel.browser=tModel Browser
 items.dsigs.description=This page will enable you to digitally sign a UDDI entity using a Java Applet and an X509 Digital Certificate. Windows and MacOS are supported.
-items.settings.description=Administrators can use this page to change the way this UDDI browser is configured, such as endpoint URLs, SSL stores, authentication mechanisms and more.
+items.settings.description=Administrators can use this page to change the way this UDDI browser is configured, such as endpoint URLs, SSL stores, authentication mechanisms and more. Note: not all settings are editable. The "save" function may not be available in all deployments.
 pages.tmodelpart.title=tModel Key Generators (Partitions)
 pages.tmodelpart.content=TModel Key Generators are a special kind of tModel that enables you to define new tModels with any arbitrary tModel prefix that you want. For example, if you wanted a tModel defined as "uddi:www.mycompany.com:ServiceAuthenticationMethod", you would first have to create a tModel key generator with the value of "uddi:www.mycompany.com:keyGenerator". This is part of the UDDI specification and acts as a governance mechanism. You can also create a tModel Key Generator by using the Creat tModel menu option and by adding the appropriate settings.
 pages.tmodelpart.juddinote=For jUDDI implementations of UDDI, the "root" account cannot be used to create a keyGenerator.

Modified: juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web_es.properties
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web_es.properties?rev=1535149&r1=1535148&r2=1535149&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web_es.properties (original)
+++ juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web_es.properties Wed Oct 23 20:15:30 2013
@@ -170,7 +170,7 @@ items.dsigs=Firmas Digitales
 items.service.browser=Servicio Explorar
 items.tmodel.browser=tModel Explorar
 items.dsigs.description=Esta p\u00e1gina le permitir\u00e1 firmar digitalmente una entidad UDDI mediante un applet de Java y un certificado X509 Digital. Windows y MacOS son compatibles.
-items.settings.description=Los administradores pueden utilizar esta p\u00e1gina para cambiar la forma en que se configura este navegador UDDI, como direcciones URL de punto final, tiendas de SSL, los mecanismos de autenticaci\u00f3n y m\u00e1s.
+items.settings.description=Los administradores pueden utilizar esta p\u00e1gina para cambiar la forma en que est\u00e1 configurado el navegador UDDI, como direcciones URL de punto final, tiendas de SSL, los mecanismos de autenticaci\u00f3n y m\u00e1s. Nota: no todos los ajustes se pueden modificar. La funci\u00f3n "Guardar" puede no estar disponible en todas las implementaciones.
 pages.tmodelpart.title=tModel clave Generadores (particiones)
 pages.tmodelpart.content=Generadores TModel clave son un tipo especial de tModel que permite definir nuevas estructuras tModel con cualquier prefijo arbitrario tModel que desea. Por ejemplo, si usted quiere un tModel define como "uddi: www.mycompany.com:ServiceAuthenticationMethod", primero tendr\u00eda que crear un generador de claves tModel con el valor de "uddi: www.mycompany.com:keyGenerator". Esto es parte de la especificaci\u00f3n UDDI y act\u00faa como un mecanismo de gobernanza. Tambi\u00e9n puede crear un generador de claves tModel mediante la opci\u00f3n de men\u00fa tModel Creat y a\u00f1adiendo los valores adecuados.
 pages.tmodelpart.juddinote=Para implementaciones jUDDI de UDDI, la cuenta "root" no se puede utilizar para crear un keygenerator.

Modified: juddi/trunk/juddi-gui/src/main/webapp/ajax/settings.jsp
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/webapp/ajax/settings.jsp?rev=1535149&r1=1535148&r2=1535149&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/webapp/ajax/settings.jsp (original)
+++ juddi/trunk/juddi-gui/src/main/webapp/ajax/settings.jsp Wed Oct 23 20:15:30 2013
@@ -10,7 +10,7 @@
 <%@page import="java.util.Enumeration"%>
 <%@page contentType="text/html" pageEncoding="UTF-8"%>
 <%@include  file="../csrf.jsp" %>
-<%
+<%    
     if (!request.getRemoteHost().equalsIgnoreCase("localhost") && !request.getRemoteHost().equalsIgnoreCase("127.0.0.1")) {
         response.setStatus(403);
     }
@@ -24,8 +24,26 @@
         while (it.hasMoreElements()) {
             String key = (String) it.nextElement();
             String value = request.getParameter(key);
-            p.setProperty(key, value);
+            if (key.equals("authtype")) {
+                p.setProperty(key, value);
+            }
+            else if (key.startsWith("client"))
+            {
+                //its part of the juddi client config file
+                x.GetJuddiClientConfig().getConfiguration().setProperty(key, value);
+                //this just sets the runtime config
+                
+            }
+        }
+        try{
+            x.GetJuddiClientConfig().saveConfig();
+        }
+        catch (Exception ex)
+        {
+            response.setStatus(500);
+            out.write("Error saving Juddi Client Config" + ex.getMessage());
         }
+        //attempt to save the properties file
         try {
             FileOutputStream fos = new FileOutputStream(new File(x.GetRawConfigurationPath()));
             String msg = "Edited at " + System.currentTimeMillis() + " by " + request.getRemoteUser();
@@ -36,8 +54,8 @@
             fos.close();
         } catch (Exception ex) {
             response.setStatus(500);
-            out.write("Error saving configuration " + ex.getMessage());
+            out.write("Error saving config.properties (authmode only) " + ex.getMessage());
         }
-
+        
     }
 %>
\ No newline at end of file

Modified: juddi/trunk/juddi-gui/src/main/webapp/settings.jsp
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/webapp/settings.jsp?rev=1535149&r1=1535148&r2=1535149&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/webapp/settings.jsp (original)
+++ juddi/trunk/juddi-gui/src/main/webapp/settings.jsp Wed Oct 23 20:15:30 2013
@@ -4,6 +4,8 @@
     Author     : Alex O'Ree
 --%>
 
+<%@page import="org.apache.juddi.v3.client.config.ClientConfig"%>
+<%@page import="org.apache.commons.configuration.Configuration"%>
 <%@page import="java.util.Iterator"%>
 <%@page import="java.util.Map.Entry"%>
 <%@page import="java.util.Set"%>
@@ -22,83 +24,115 @@
         <div class="span12">
             <h2><%=ResourceLoader.GetResource(session, "navbar.settings")%></h2>
             <p><%=ResourceLoader.GetResource(session, "items.settings.description")%></p>
+            <%
+                UddiHub x = UddiHub.getInstance(application, session);
 
+
+            %>
+            Loading from <%=StringEscapeUtils.escapeHtml(x.GetJuddiClientConfig().getConfigurationFile())%><br>
+            Loading from <%=StringEscapeUtils.escapeHtml(x.GetRawConfigurationPath())%>
             <table class="table table-hover">
                 <tr><th>Key</th><th>Value</th></tr>
-                <%
+                        <%
+
 
-                    UddiHub x = UddiHub.getInstance(application, session);
-                    Properties p = x.GetRawConfiguration();
-                    Set<Entry<Object, Object>> set = p.entrySet();
-                    Iterator<Entry<Object, Object>> it = set.iterator();
-                    while (it.hasNext()) {
-                        out.write("<tr><td>");
-                        Entry<Object, Object> item = (Entry<Object, Object>) it.next();
-                        String key = (String) item.getKey();
-                        String value = (String) item.getValue();
-                        out.write(StringEscapeUtils.escapeHtml(key));
-                        out.write("</td><td><div class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\">");
-                        out.write(StringEscapeUtils.escapeHtml(value));
-                        out.write("</div></td></tr>");
-                    }
-                %>
+                            Properties p = x.GetRawConfiguration();
+                            Set<Entry<Object, Object>> set = p.entrySet();
+                            Iterator<Entry<Object, Object>> it = set.iterator();
+                            while (it.hasNext()) {
+                                out.write("<tr><td>");
+                                Entry<Object, Object> item = (Entry<Object, Object>) it.next();
+                                String key = (String) item.getKey();
+                                String value = (String) item.getValue();
+                                out.write(StringEscapeUtils.escapeHtml(key));
+                                out.write("</td><td><div ");
+                                if (!key.equalsIgnoreCase("key")) {
+                                    out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\"");
+                                }
+                                out.write(">");
+
+                                out.write(StringEscapeUtils.escapeHtml(value));
+                                out.write("</div></td></tr>");
+                            }
+                            try {
+                                ClientConfig cfg = x.GetJuddiClientConfig();
+                                Iterator<String> it2 = cfg.getConfiguration().getKeys();
+                                while (it2.hasNext()) {
+                                    out.write("<tr><td>");
+                                    String key = it2.next();
+
+                                    String value = cfg.getConfiguration().getString(key);
+                                    out.write(StringEscapeUtils.escapeHtml(key));
+                                    out.write("</td><td><div ");
+                                    if (key.startsWith("client")) {
+                                        out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\"");
+                                    }
+                                    out.write(">");
+                                    out.write(StringEscapeUtils.escapeHtml(value));
+                                    out.write("</div></td></tr>");
+
+                                }
+                            } catch (Exception ex) {
+                                x.log.error(ex);
+                            }
+                        %>
             </table>
             <a class="btn btn-primary " href="javascript:saveSettings();"><i class="icon-large icon-save"></i> <%=ResourceLoader.GetResource(session, "actions.save")%></a>
             <script type="text/javascript">
-                
+
                 Reedit();
                 function saveSettings()
                 {
-                    var url='ajax/settings.jsp';
+                    var url = 'ajax/settings.jsp';
                     var postbackdata = new Array();
                     $("div.edit").each(function()
                     {
-                        var id=$(this).attr("id");
-                        var value=$(this).text();
+                        var id = $(this).attr("id");
+                        var value = $(this).text();
                         postbackdata.push({
-                            name: id, 
+                            name: id,
                             value: value
                         });
-                    }); 
+                    });
                     postbackdata.push({
-                        name:"nonce", 
+                        name: "nonce",
                         value: $("#nonce").val()
                     });
                     $("div.noedit").each(function()
                     {
-                        var id=$(this).attr("id");
-                        var value=$(this).text();
+                        var id = $(this).attr("id");
+                        var value = $(this).text();
                         postbackdata.push({
-                            name: id, 
+                            name: id,
                             value: value
                         });
-                    }); 
-    
-    
-                    var request=   $.ajax({
+                    });
+
+
+                    var request = $.ajax({
                         url: url,
-                        type:"POST",
+                        type: "POST",
                         //  data" + i18n_type + ": "html", 
-                        cache: false, 
+                        cache: false,
                         //  processData: false,f
                         data: postbackdata
                     });
-                
-                
+
+
                     request.done(function(msg) {
-                        window.console && console.log('postback done '  + url);                
-        
-                        $("#resultBar").html('<a class="close" data-dismiss="alert" href="javascript:hideAlert();">&times;'  + '</a>' + msg);
+                        window.console && console.log('postback done ' + url);
+
+                        $("#resultBar").html('<a class="close" data-dismiss="alert" href="javascript:hideAlert();">&times;' + '</a>' + msg);
                         $("#resultBar").show();
-        
+
                     });
 
                     request.fail(function(jqXHR, textStatus) {
-                        window.console && console.log('postback failed ' + url);                                
-                        $("#resultBar").html('<a class="close" data-dismiss="alert" href="javascript:hideAlert();">&times;' + '</a>' +jqXHR.responseText );
+                        window.console && console.log('postback failed ' + url);
+                        $("#resultBar").html('<a class="close" data-dismiss="alert" href="javascript:hideAlert();">&times;' + '</a>' + jqXHR.responseText);
                         //$(".alert").alert();
                         $("#resultBar").show();
-        
+
                     });
                 }
             </script>



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