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.obr;
 
 
 
 import  org.osgi.service.log.LogService;
 import  org.osgi.service.obr.RepositoryAdmin;
 import  org.osgi.service.obr.Resolver;
 import  org.osgi.service.obr.Resource;
 
 
 public class InstallFromRepoAction extends AbstractObrPlugin implements Action
 {
 
     public static final String NAME = "installFromOBR";
 
 
     public String getName()
     {
         return ;
     }
 
 
     public String getLabel()
     {
         return ;
     }
 
 
     /*
      * (non-Javadoc)
      *
      * @see org.apache.sling.manager.web.internal.Action#performAction(javax.servlet.http.HttpServletRequest,
      *      javax.servlet.http.HttpServletResponse)
      */
     public boolean performActionHttpServletRequest requestHttpServletResponse response )
     {
 
         // check whether we have to do something
         String[] bundles = request.getParameterValues"bundle" );
         if ( bundles == null || bundles.length == 0 )
         {
             getLog().log( LogService.LOG_INFO, "No resources to deploy" );
             return true;
         }
 
         RepositoryAdmin repoAdmin = getRepositoryAdmin();
         if ( repoAdmin != null )
         {
 
             Resolver resolver = repoAdmin.resolver();
 
             // prepare the deployment
             for ( int i = 0; i < bundles.lengthi++ )
             {
                 String bundle = bundles[i];
                 if ( bundle == null || bundle.equals ) )
                 {
                     continue;
                 }
                 
                 int comma = bundle.indexOf',' );
                 String name = ( comma > 0 ) ? bundle.substring( 0, comma ) : bundle;
                 String version = ( comma < bundle.length() - 1 ) ? bundle.substringcomma + 1 ) : null;
 
                 if ( name.length() > 0 )
                 {
                     // no name, ignore this one
                     if ( version == null )
                     {
                         version = "*";
                     }
 
                     String filter = "(&(symbolicname=" + name + ")(version=" + version + "))";
                     Resource[] resources = repoAdmin.discoverResources( filter );
                     if ( resources != null && resources.length > 0 )
                     {
                         resolver.add( resources[0] );
                     }
                 }
 
            }
            // check whether the "deploystart" button was clicked
            boolean start = request.getParameter"deploystart" ) != null;
            DeployerThread dt = new DeployerThreadresolvergetLog(), start );
            dt.start();
        }
        // redirect to bundle list
        return true;
    }
New to GrepCode? Check out our FAQ X