You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by vv...@apache.org on 2013/04/05 15:28:50 UTC

svn commit: r1464973 - in /felix/trunk/webconsole-plugins/upnp/src/main: java/org/apache/felix/webconsole/plugins/upnp/internal/ControlServlet.java resources/res/upnp.css resources/res/upnp.html resources/res/upnp.js

Author: vvalchev
Date: Fri Apr  5 13:28:50 2013
New Revision: 1464973

URL: http://svn.apache.org/r1464973
Log:
Done FELIX-4016 Provide more meta data to the UPnP action arguments
https://issues.apache.org/jira/browse/FELIX-4016

Modified:
    felix/trunk/webconsole-plugins/upnp/src/main/java/org/apache/felix/webconsole/plugins/upnp/internal/ControlServlet.java
    felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.css
    felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.html
    felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.js

Modified: felix/trunk/webconsole-plugins/upnp/src/main/java/org/apache/felix/webconsole/plugins/upnp/internal/ControlServlet.java
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole-plugins/upnp/src/main/java/org/apache/felix/webconsole/plugins/upnp/internal/ControlServlet.java?rev=1464973&r1=1464972&r2=1464973&view=diff
==============================================================================
--- felix/trunk/webconsole-plugins/upnp/src/main/java/org/apache/felix/webconsole/plugins/upnp/internal/ControlServlet.java (original)
+++ felix/trunk/webconsole-plugins/upnp/src/main/java/org/apache/felix/webconsole/plugins/upnp/internal/ControlServlet.java Fri Apr  5 13:28:50 2013
@@ -321,16 +321,8 @@ public class ControlServlet extends Http
             if (value == null)
                 value = "---"; //$NON-NLS-1$
 
-            json.append("variables", new JSONObject() // //$NON-NLS-1$
-            .put("name", vars[i].getName()) // //$NON-NLS-1$
-            .put("value", value) // //$NON-NLS-1$
-            .put("defalt", vars[i].getDefaultValue()) // //$NON-NLS-1$
-            .put("min", vars[i].getMinimum()) // //$NON-NLS-1$
-            .put("max", vars[i].getMaximum()) // //$NON-NLS-1$
-            .put("step", vars[i].getStep()) // //$NON-NLS-1$
-            .put("allowed", vars[i].getAllowedValues()) // //$NON-NLS-1$
-            .put("sendsEvents", vars[i].sendsEvents()) // //$NON-NLS-1$
-            );
+            json.append("variables", variableToJSON(vars[i], vars[i].getName()) //$NON-NLS-1$
+                .put("value", value));// //$NON-NLS-1$
         }
 
         // add actions
@@ -342,6 +334,20 @@ public class ControlServlet extends Http
 
         return json;
     }
+    
+    private static final JSONObject variableToJSON(final UPnPStateVariable var, final String name)
+        throws JSONException
+    {
+        return new JSONObject()//
+        .put("name", name) // //$NON-NLS-1$
+        .put("default", var.getDefaultValue()) // //$NON-NLS-1$
+        .put("min", var.getMinimum()) //$NON-NLS-1$
+        .put("max", var.getMaximum()) //$NON-NLS-1$
+        .put("step", var.getStep()) //$NON-NLS-1$
+        .put("allowed", var.getAllowedValues()) //$NON-NLS-1$
+        .put("sendsEvents", var.sendsEvents()) //$NON-NLS-1$
+        .put("type", var.getUPnPDataType()); //$NON-NLS-1$
+    }
 
     private static final JSONObject actionToJSON(UPnPAction action) throws JSONException
     {
@@ -351,9 +357,7 @@ public class ControlServlet extends Http
         for (int i = 0; names != null && i < names.length; i++)
         {
             UPnPStateVariable variable = action.getStateVariable(names[i]);
-            json.append("inVars", new JSONObject()// //$NON-NLS-1$
-            .put("name", names[i])// //$NON-NLS-1$
-            .put("type", variable.getUPnPDataType())); //$NON-NLS-1$
+            json.append("inVars", variableToJSON(variable, names[i]));  //$NON-NLS-1$
         }
 
         return json;

Modified: felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.css
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.css?rev=1464973&r1=1464972&r2=1464973&view=diff
==============================================================================
--- felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.css (original)
+++ felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.css Fri Apr  5 13:28:50 2013
@@ -37,3 +37,6 @@ img.icon { /* force image size */
 	margin: 0;
 	padding: 0;
 }
+div.info {
+	font-size: 75%;
+}

Modified: felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.html
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.html?rev=1464973&r1=1464972&r2=1464973&view=diff
==============================================================================
--- felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.html (original)
+++ felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.html Fri Apr  5 13:28:50 2013
@@ -93,7 +93,7 @@ var i18n = {
 					<h3>${actions.title}</h3>
 					<div class="ui-widget-header ui-corner-top buttonGroup">
 						${actions.select}
-						<select name="c">
+						<select name="c" class="ui-state-default">
 							<option value="---">---</option>
 						</select>
 						<button title="${actions.invoke.title}"><span class="ui-icon ui-icon-play">&nbsp;</span></button>

Modified: felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.js
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.js?rev=1464973&r1=1464972&r2=1464973&view=diff
==============================================================================
--- felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.js (original)
+++ felix/trunk/webconsole-plugins/upnp/src/main/resources/res/upnp.js Fri Apr  5 13:28:50 2013
@@ -219,8 +219,24 @@ function actionSelected(udn, urn, action
 			var _tr = actionsTableRow.clone().appendTo(actionsTableBody);
 			_tr.find('td:eq(0)').text(_arg.name);
 			_tr.find('td:eq(1)').text(_arg.type);
-			var _el = _tr.find('input').attr('id', 'arg'+i);
-			_arg['element'] = _el;
+			var _el = false;
+			if (_arg.allowed) {
+				var selectData = '<select class="ui-state-default">';
+				for(var s in _arg.allowed) selectData += '<option>' + _arg.allowed[s] + '</option>';
+				_el = $(selectData + '</select>').appendTo( _tr.find('td:eq(2)').empty() );
+			} else {
+				_el = _tr.find('input');
+			}
+			_arg['element'] = _el.attr('id', 'arg'+i);
+			var infoData = false;
+			if (_arg.min || _arg.max || _arg.step) {
+				infoData = '<div class="info">';
+				if (_arg.min || _arg.max) infoData += '[' + _arg.min + ', ' + _arg.max + ']';
+				if (_arg.step) infoData += '/' + _arg.step;
+				infoData += '</div>';
+			}
+			if (infoData) _el.after(infoData);
+			if (_arg['default']) _el.val(_arg['default']);
 		}
 		actionsTable.removeClass('ui-helper-hidden');
 	} else {