diff --git a/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java b/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java index 017a371d67c..8c8df9384cf 100644 --- a/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java +++ b/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java @@ -18,10 +18,12 @@ package org.apache.solr.handler.admin; import java.io.IOException; +import java.util.Properties; import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.request.SolrQueryResponse; +import org.apache.solr.util.NamedList; import org.apache.solr.util.SimpleOrderedMap; /** @@ -34,21 +36,29 @@ public class PropertiesRequestHandler extends RequestHandlerBase @Override public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws IOException { - SimpleOrderedMap props = new SimpleOrderedMap(); + NamedList props = null; String name = req.getParams().get( "name" ); if( name != null ) { + props = new SimpleOrderedMap(); props.add( name, System.getProperty(name) ); } else { - java.util.Enumeration e = System.getProperties().propertyNames(); - while(e.hasMoreElements()) { - String prop = (String)e.nextElement(); - props.add( prop, System.getProperty(prop) ); - } + props = toNamedList( System.getProperties() ); } rsp.add( "system.properties", props ); } + public static NamedList toNamedList( Properties p ) + { + NamedList props = new SimpleOrderedMap(); + java.util.Enumeration e = p.propertyNames(); + while(e.hasMoreElements()) { + String prop = (String)e.nextElement(); + props.add( prop, p.getProperty(prop) ); + } + return props; + } + //////////////////////// SolrInfoMBeans methods ////////////////////// @Override