Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
   *
  *   http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 package org.apache.felix.webconsole.internal.servlet;
 
 
 
 import  org.osgi.framework.Constants;
 import  org.osgi.framework.ServiceRegistration;
 import  org.osgi.service.cm.ManagedService;
 import  org.osgi.service.metatype.AttributeDefinition;
 import  org.osgi.service.metatype.MetaTypeProvider;
 import  org.osgi.service.metatype.ObjectClassDefinition;
 
 
 class ConfigurationListener implements ManagedService, MetaTypeProvider
 {
 
     private final String pid;
 
     private final OsgiManager osgiManager;
 
     private ObjectClassDefinition ocd;
 
 
     static ServiceRegistration createOsgiManager osgiManager )
     {
         ConfigurationListener cl = new ConfigurationListenerosgiManager );
 
         Dictionary props = new Hashtable();
         props.put( Constants.SERVICE_VENDOR, "The Apache Software Foundation" );
         props.put( Constants.SERVICE_DESCRIPTION, "OSGi Management Console Configuration Receiver" );
         props.put( Constants.SERVICE_PID, cl.pid );
 
         return osgiManager.getBundleContext().registerService( new String[]
             { ManagedService.class.getName(), MetaTypeProvider.class.getName() }, clprops );
     }
 
 
     private ConfigurationListenerOsgiManager osgiManager )
     {
         this. = osgiManager;
         this. = osgiManager.getClass().getName();
     }
 
 
     //---------- ManagedService
 
     public void updatedDictionary config )
     {
         .updateConfigurationconfig );
     }
 
 
     //---------- MetaTypeProvider
 
     public String[] getLocales()
     {
         // there is no locale support here
         return null;
     }
 
 
     public ObjectClassDefinition getObjectClassDefinitionString idString locale )
     {
         if ( !.equalsid ) )
         {
             return null;
         }
 
         if (  == null )
         {
 
             final ArrayList adList = new ArrayList();
             adList.addnew AttributeDefinitionImpl."Root URI",
                 "The root path to the OSGi Management Console.". ) );
             adList.addnew AttributeDefinitionImpl."Default Page",
                 "The name of the default configuration page when invoking the OSGi Management console.",
                . ) );
            adList.addnew AttributeDefinitionImpl."Realm",
                "The name of the HTTP Authentication Realm.". ) );
            adList
                .addnew AttributeDefinitionImpl(
                    .,
                    "User Name",
                    "The name of the user allowed to access the OSGi Management Console. To disable authentication clear this value.",
                    . ) );
            adList.addnew AttributeDefinitionImpl."Password",
                "The password for the user allowed to access the OSGi Management Console.",
                . ) );
            final LinkedHashMap namesByClassName = new LinkedHashMap();
            final ClassLoader loader = getClass().getClassLoader();
            final String[] defaultPluginsClasses = .;
            for ( int i = 0; i < defaultPluginsClasses.lengthi++ )
            {
                try
                {
                    final Object plugin = loader.loadClassdefaultPluginsClasses[i] ).newInstance();
                    if ( plugin instanceof AbstractWebConsolePlugin )
                    {
                        final String name = ( ( AbstractWebConsolePlugin ) plugin ).getTitle();
                        namesByClassName.putdefaultPluginsClasses[i], name );
                    }
                }
                catch ( Throwable t )
                {
                    // ignore
                }
            }
            final String[] classes = ( String[] ) namesByClassName.keySet().toArray(
                new String[namesByClassName.size()] );
            final String[] names = ( String[] ) namesByClassName.values().toArraynew String[namesByClassName.size()] );
            adList.addnew AttributeDefinitionImpl."Plugins",
                "Select active plugins", AttributeDefinition.STRING, classes.namesclasses ) );
             = new ObjectClassDefinition()
            {
                private final AttributeDefinition[] attrs = ( AttributeDefinition[] ) adList
                    .toArraynew AttributeDefinition[adList.size()] );
                public String getName()
                {
                    return "Apache Felix OSGi Management Console";
                }
                public InputStream getIconint arg0 )
                {
                    return null;
                }
                public String getID()
                {
                    return ;
                }
                public String getDescription()
                {
                    return "Configuration of the Apache Felix OSGi Management Console.";
                }
                public AttributeDefinition[] getAttributeDefinitionsint filter )
                {
                    return ( filter == OPTIONAL ) ? null : ;
                }
            };
        }
        return ;
    }
    private static class AttributeDefinitionImpl implements AttributeDefinition
    {
        private final String id;
        private final String name;
        private final String description;
        private final int type;
        private final String[] defaultValues;
        private final int cardinality;
        private final String[] optionLabels;
        private final String[] optionValues;
        AttributeDefinitionImplfinal String idfinal String namefinal String descriptionfinal String defaultValue )
        {
            thisidnamedescription, STRING, new String[]
                { defaultValue }, 0, nullnull );
        }
        AttributeDefinitionImplfinal String idfinal String namefinal String descriptionfinal int type,
            final String[] defaultValuesfinal int cardinalityfinal String[] optionLabels,
            final String[] optionValues )
        {
            this. = id;
            this. = name;
            this. = description;
            this. = type;
            this. = defaultValues;
            this. = cardinality;
            this. = optionLabels;
            this. = optionValues;
        }
        public int getCardinality()
        {
            return ;
        }
        public String[] getDefaultValue()
        {
            return ;
        }
        public String getDescription()
        {
            return ;
        }
        public String getID()
        {
            return ;
        }
        public String getName()
        {
            return ;
        }
        public String[] getOptionLabels()
        {
            return ;
        }
        public String[] getOptionValues()
        {
            return ;
        }
        public int getType()
        {
            return ;
        }
        public String validateString arg0 )
        {
            return null;
        }
    }
New to GrepCode? Check out our FAQ X