You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Stefan Seifert (JIRA)" <ji...@apache.org> on 2014/11/26 00:40:12 UTC

[jira] [Commented] (FELIX-4677) Web Console Configuration plugin is confusing about default values & optionality of elements

    [ https://issues.apache.org/jira/browse/FELIX-4677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14225400#comment-14225400 ] 

Stefan Seifert commented on FELIX-4677:
---------------------------------------

i get an exception if i try to save a factory configuration (or any configuration) with this change:
{noformat}
java.util.ConcurrentModificationException: null
	at java.util.Hashtable$Enumerator.next(Unknown Source)
	at java.util.Collections$3.nextElement(Unknown Source)
	at org.apache.felix.webconsole.internal.configuration.ConfigAdminSupport.applyConfiguration(ConfigAdminSupport.java:294)
	at org.apache.felix.webconsole.internal.configuration.ConfigManager.doPost(ConfigManager.java:156)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
	at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:555)
	at org.apache.felix.webconsole.internal.servlet.OsgiManager$3.run(OsgiManager.java:459)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:455)
	at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:339)
	at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:300)
	at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:93)
	at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:50)
	at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
	at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:76)
	at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:49)
	at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:769)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
	at org.eclipse.jetty.server.Server.handle(Server.java:497)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539)
	at java.lang.Thread.run(Unknown Source)
{noformat}

if i revert rev. 1640155 saving works again.

the problem seems to be this code:
{code:java}
            // remove the properties that are not specified in the request
            for ( Enumeration e = props.keys(); e.hasMoreElements(); )
            {
                final Object key = e.nextElement();
                if ( !propsToKeep.contains(key) )
                {
                    props.remove(key);
                }
            }
{code}

> Web Console Configuration plugin is confusing about default values & optionality of elements
> --------------------------------------------------------------------------------------------
>
>                 Key: FELIX-4677
>                 URL: https://issues.apache.org/jira/browse/FELIX-4677
>             Project: Felix
>          Issue Type: Improvement
>          Components: Web Console
>    Affects Versions: webconsole-4.2.2
>            Reporter: Valentin Valchev
>            Assignee: Valentin Valchev
>         Attachments: FELIX-4677.jpg, FELIX-4677.patch
>
>
> Currently if you have an empty configuration with metatype, then when the editor is open, the default values from metatype are filled in.
> However, the user cannot determine if the configuration value is set or coming from metatype.
> So there should be an indicator, that the value is the *default* and is not actually stored in the configuration.
> There is also problem with optionality of the elements. In case there is an optional property, there is no way the user to set all other properties, but a selected, optional property.
> So there should be some checkboxes allowing the user to select which properties to save, and which not.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)