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 2014/10/20 09:48:07 UTC
svn commit: r1633064 - in /felix/trunk/webconsole/src/main:
java/org/apache/felix/webconsole/internal/configuration/ConfigAdminSupport.java
resources/res/ui/config.js
Author: vvalchev
Date: Mon Oct 20 07:48:07 2014
New Revision: 1633064
URL: http://svn.apache.org/r1633064
Log:
Fixed FELIX-3817 : Form parameters might clash with configuration parameters
https://issues.apache.org/jira/browse/FELIX-3817
Modified:
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigAdminSupport.java
felix/trunk/webconsole/src/main/resources/res/ui/config.js
Modified: felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigAdminSupport.java
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigAdminSupport.java?rev=1633064&r1=1633063&r2=1633064&view=diff
==============================================================================
--- felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigAdminSupport.java (original)
+++ felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigAdminSupport.java Mon Oct 20 07:48:07 2014
@@ -186,6 +186,12 @@ class ConfigAdminSupport
while ( propTokens.hasMoreTokens() )
{
String propName = propTokens.nextToken();
+ String paramName = "action".equals(propName) //$NON-NLS-1$
+ || ConfigManager.ACTION_DELETE.equals(propName)
+ || ConfigManager.ACTION_APPLY.equals(propName)
+ || ConfigManager.PROPERTY_LIST.equals(propName)
+ ? '$' + propName : propName;
+
PropertyDescriptor ad = (PropertyDescriptor) adMap.get( propName );
// try to derive from current value
@@ -199,7 +205,7 @@ class ConfigAdminSupport
if ( ad == null
|| ( ad.getCardinality() == 0 && ( attributeType == AttributeDefinition.STRING || attributeType == MetaTypeServiceSupport.ATTRIBUTE_TYPE_PASSWORD ) ) )
{
- String prop = request.getParameter( propName );
+ String prop = request.getParameter( paramName );
if ( prop != null
&& ( attributeType != MetaTypeSupport.ATTRIBUTE_TYPE_PASSWORD || !MetaTypeSupport.PASSWORD_PLACEHOLDER_VALUE.equals( prop ) ) )
{
@@ -209,7 +215,7 @@ class ConfigAdminSupport
else if ( ad.getCardinality() == 0 )
{
// scalar of non-string
- String prop = request.getParameter( propName );
+ String prop = request.getParameter( paramName );
if ( prop != null )
{
try
@@ -227,7 +233,7 @@ class ConfigAdminSupport
// array or vector of any type
Vector vec = new Vector();
- String[] properties = request.getParameterValues( propName );
+ String[] properties = request.getParameterValues( paramName );
if ( properties != null )
{
if ( attributeType == MetaTypeSupport.ATTRIBUTE_TYPE_PASSWORD )
Modified: felix/trunk/webconsole/src/main/resources/res/ui/config.js
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole/src/main/resources/res/ui/config.js?rev=1633064&r1=1633063&r2=1633064&view=diff
==============================================================================
--- felix/trunk/webconsole/src/main/resources/res/ui/config.js (original)
+++ felix/trunk/webconsole/src/main/resources/res/ui/config.js Mon Oct 20 07:48:07 2014
@@ -151,7 +151,8 @@ function printForm( /* Element */ parent
if (attr.value != undefined)
{
// check is required to also handle empty strings, 0 and false
- tdEl.appendChild( createInput( prop, attr.value, attr.type, '99%' ) );
+ var inputName = (prop == "action" || prop == "propertylist" || prop == "apply" || prop == "delete") ? '$' + prop : prop;
+ tdEl.appendChild( createInput( inputName, attr.value, attr.type, '99%' ) );
tdEl.appendChild( createElement( "br" ) );
}
else if (typeof(attr.type) == 'object')