- String executionName = ci.nextArgument();
-
- launch(firstArg, executionName);
- /*
- * String moduleName = null;
- *
- * // First check whether we have a bundleId Long bundleId = null; try {
- * bundleId = Long.parseLong(firstArg); } catch (NumberFormatException
- * e) { // silent }
- *
- * // Look for bundle names containing pattern Bundle bundle = null; if
- * (bundleId != null) { bundle = bundleContext.getBundle(bundleId); }
- * else { for (Bundle b : bundleContext.getBundles()) { if
- * (b.getSymbolicName().contains(firstArg)) { bundle = b; break; } } }
- *
- * if (bundle != null) { moduleName = bundle.getSymbolicName();
- * lastModuleName = moduleName; lastExecutionName = executionName; }
- * else { log
- * .warn("Could not find any execution module matching these requirements."
- * ); return null; }
- *
- * // Find module ExecutionModule module = null; ServiceReference
- * serviceRef = null; try { bundlesManager.stopSynchronous(bundle);
- * bundlesManager.updateSynchronous(bundle); // Refresh in case there
- * are fragments bundlesManager.refreshSynchronous(bundle);
- * bundlesManager.startSynchronous(bundle);
- *
- * String filter = "(Bundle-SymbolicName=" + moduleName + ")"; // Wait
- * for application context to be ready
- * bundlesManager.getServiceRefSynchronous(ApplicationContext.class
- * .getName(), filter);
- *
- * if (log.isDebugEnabled()) log.debug("Bundle " +
- * bundle.getSymbolicName() + " ready to be used at latest version.");
- *
- * ServiceReference[] sfs = bundlesManager.getServiceRefSynchronous(
- * ExecutionModule.class.getName(), filter);
- *
- * if (sfs.length > 1) log
- * .warn("More than one execution module service found in module " +
- * moduleName);
- *
- * if (sfs.length > 0) { serviceRef = sfs[0]; module = (ExecutionModule)
- * bundleContext.getService(serviceRef); }
- *
- * if (module != null) { ExecutionFlowDescriptor descriptor = new
- * ExecutionFlowDescriptor(); descriptor.setName(executionName);
- * module.execute(descriptor); log.info("Executed " + executionName +
- * " from " + moduleName); }
- *
- * } catch (Exception e) { throw new
- * SlcException("Cannot find or update module.", e); } finally { if
- * (serviceRef != null) bundleContext.ungetService(serviceRef); }
- */
-
- return "COMMAND COMPLETED";
- }
-
- protected void launch(String firstArg, String executionName) {
- lastLaunch = executionLauncher.findLaunch(firstArg, executionName);
- if (lastLaunch == null)
- throw new SlcException("Cannot find launch for " + firstArg + " "
- + executionName);
-
- executionLauncher.launch(lastLaunch);