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"> </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 {