Return-Path: X-Original-To: apmail-felix-dev-archive@www.apache.org Delivered-To: apmail-felix-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 49CC910DCB for ; Tue, 25 Nov 2014 23:40:13 +0000 (UTC) Received: (qmail 89483 invoked by uid 500); 25 Nov 2014 23:40:12 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 89329 invoked by uid 500); 25 Nov 2014 23:40:12 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 89146 invoked by uid 99); 25 Nov 2014 23:40:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Nov 2014 23:40:12 +0000 Date: Tue, 25 Nov 2014 23:40:12 +0000 (UTC) From: "Stefan Seifert (JIRA)" To: dev@felix.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (FELIX-4677) Web Console Configuration plugin is confusing about default values & optionality of elements MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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)