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.core;
 
 
 import java.util.Map;
 
The BundlesConfigurationPrinter prints out the bundle list.
 
 {
 
     private ServiceTracker packageAdminTracker;

    
 
     public void activate(final BundleContext bundleContext)
     {
         super.activate(bundleContext);
         this. = new ServiceTracker(bundleContextPackageAdmin.class.getName(), null);
         this..open();
     }

    
 
     public void deactivate()
     {
         if ( this. != null )
         {
             this..close();
             this. = null;
         }
         super.deactivate();
     }

    
 
     public String getTitle()
     {
         return "Bundlelist";
     }
 
     private String getHeaderValue(final Bundle bfinal String name)
     {
         String val = (String)b.getHeaders().get(name);
         if ( val == null )
         {
             val = "";
         }
         return val;
     }
 
     private String getState(final int state)
     {
         switch (state)
         {
             case . : return "active";
             case . : return "installed";
             case . : return "resolved";
             case . : return "starting";
             case . : return "stopping";
             case . : return "uninstalled";
         }
         return String.valueOf(state);
     }
 
     private final boolean isFragmentBundlefinal Bundle bundle)
     {
    }

    
    public void printConfigurationfinal PrintWriter pw )
    {
        final Bundle[] bundles = BundleContextUtil.getWorkingBundleContext(this.getBundleContext()).getBundles();
        // create a map for sorting first
        final TreeMap bundlesMap = new TreeMap();
        int active = 0, installed = 0, resolved = 0, fragments = 0;
        forint i =0; i<bundles.lengthi++)
        {
            final Bundle bundle = bundles[i];
            final String symbolicName = bundle.getSymbolicName();
            final String version = (String)bundle.getHeaders().get(.);
            // count states and calculate prefix
            switch ( bundle.getState() )
            {
                case .:
                    active++;
                    break;
                case .:
                    installed++;
                    break;
                case .:
                    if ( isFragmentBundlebundle ) )
                    {
                        fragments++;
                    }
                    else
                    {
                        resolved++;
                    }
                    break;
            }
            final String key = symbolicName + ':' + version;
            final String value = MessageFormat.format"{0} ({1}) \"{2}\" [{3}, {4}] {5}"new Object[]
                  { symbolicName,
                    version,
                    getHeaderValue(bundle.),
                    getState(bundle.getState()),
                    String.valueOf(bundle.getBundleId()),
                    isFragmentBundle(bundle) ? "(fragment)" : ""} );
            bundlesMap.put(keyvalue);
        }
        final StringBuffer buffer = new StringBuffer();
        buffer.append("Status: ");
        appendBundleInfoCount(buffer"in total"bundles.length);
        if ( active == bundles.length || active + fragments == bundles.length )
        {
            buffer.append(" - all ");
            appendBundleInfoCount(buffer"active."bundles.length);
        }
        else
        {
            if ( active != 0 )
            {
                buffer.append(", ");
                appendBundleInfoCount(buffer"active"active);
            }
            if ( fragments != 0 )
            {
                buffer.append(", ");
                appendBundleInfoCount(buffer"active fragments"fragments);
            }
            if ( resolved != 0 )
            {
                buffer.append(", ");
                appendBundleInfoCount(buffer"resolved"resolved);
            }
            if ( installed != 0 )
            {
                buffer.append(", ");
                appendBundleInfoCount(buffer"installed"installed);
            }
        }
        pw.println(buffer.toString());
        pw.println();
        final Iterator i = bundlesMap.entrySet().iterator();
        while ( i.hasNext() )
        {
            final Map.Entry entry = (Map.Entry)i.next();
            pw.println(entry.getValue());
        }
    }
    private void appendBundleInfoCountfinal StringBuffer bufString msgint count )
    {
        buf.append(count);
        buf.append(" bundle");
        if ( count != 1 )
            buf.append's' );
        buf.append(' ');
        buf.append(msg);
    }
New to GrepCode? Check out our FAQ X