/** * (inheritDoc) * * @param listener * @see org.goko.featuremanager.service.IFeatureManager#install(java.util.List) */ @Override public IStatus install( List<GkInstallableUnit> units, IProgressMonitor monitor, IJobChangeListener listener) throws GkException { // get the repository managers and define our repositories IMetadataRepositoryManager manager = (IMetadataRepositoryManager) getProvisioningAgent().getService(IMetadataRepositoryManager.SERVICE_NAME); List<IInstallableUnit> p2Units = new ArrayList<IInstallableUnit>(); for (GkInstallableUnit gkInstallableUnit : units) { if (!gkInstallableUnit.isInstalled()) { p2Units.add(gkInstallableUnit.getBaseUnit()); } } final InstallOperation installOperation = new InstallOperation(new ProvisioningSession(getProvisioningAgent()), p2Units); LOG.info("installOperation created " + String.valueOf(installOperation)); IStatus operationStatus = installOperation.resolveModal(monitor); LOG.info("operationStatus " + String.valueOf(operationStatus)); if (operationStatus.getSeverity() > IStatus.WARNING) { LOG.error("installOperation detail :" + installOperation.getResolutionDetails()); LOG.error("Install operation failed :" + operationStatus.toString()); if (operationStatus.isMultiStatus()) { for (IStatus status : operationStatus.getChildren()) { LOG.error(" + " + status.getMessage()); } } LOG.error(new CoreException(operationStatus)); return operationStatus; } final ProvisioningJob provisioningJob = installOperation.getProvisioningJob(monitor); LOG.info("ProvisioningJob created " + String.valueOf(provisioningJob)); provisioningJob.schedule(); provisioningJob.addJobChangeListener(listener); LOG.info("Installation of feature done"); return operationStatus; }
/** * Create contents of the view part. * * @throws GkException */ @PostConstruct public void createControls(Composite parent, MPart part) { try { GridLayout gl_parent = new GridLayout(1, false); gl_parent.marginWidth = 0; gl_parent.marginHeight = 0; parent.setLayout(gl_parent); Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); formToolkit.adapt(composite); formToolkit.paintBordersFor(composite); composite.setLayout(new GridLayout(2, false)); lblStatus = formToolkit.createLabel(composite, "Status :", SWT.NONE); lblStatus.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); lblStatus.setBounds(0, 0, 55, 15); Composite composite_3 = formToolkit.createComposite(composite, SWT.NONE); formToolkit.paintBordersFor(composite_3); composite_3.setLayout(new GridLayout(2, false)); lblDisconnected = formToolkit.createLabel(composite_3, "Disconnected", SWT.NONE); lblDisconnected.setImage( ResourceManager.getPluginImage("org.goko.serial", "icons/bullet_red.png")); lblDisconnected_1 = formToolkit.createLabel(composite_3, "Disconnected", SWT.NONE); Label lblSerialPort = new Label(composite, SWT.NONE); lblSerialPort.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); lblSerialPort.setBackground(SWTResourceManager.getColor(SWT.COLOR_WIDGET_BACKGROUND)); formToolkit.adapt(lblSerialPort, true, true); lblSerialPort.setText("Serial port :"); Composite composite_1 = new Composite(composite, SWT.NONE); composite_1.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); formToolkit.adapt(composite_1); formToolkit.paintBordersFor(composite_1); GridLayout gl_composite_1 = new GridLayout(3, false); gl_composite_1.marginWidth = 0; gl_composite_1.marginHeight = 0; composite_1.setLayout(gl_composite_1); comboSerialPort = new GkCombo<LabeledValue>(composite_1, SWT.NONE | SWT.READ_ONLY); Combo combo = comboSerialPort.getCombo(); GridData gd_combo = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_combo.widthHint = 40; combo.setLayoutData(gd_combo); comboBaudrate = new GkCombo<LabeledValue>(composite_1, SWT.NONE | SWT.READ_ONLY); Combo combo_1 = comboBaudrate.getCombo(); GridData gd_combo_1 = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_combo_1.widthHint = 40; combo_1.setLayoutData(gd_combo_1); Button button = formToolkit.createButton(composite_1, "", SWT.NONE); button.addMouseListener( new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { controller.refreshSerialPortList(); } }); button.setImage( ResourceManager.getPluginImage("org.goko.serial", "icons/arrow-circle-double.png")); new Label(composite, SWT.NONE); Composite composite_2 = formToolkit.createComposite(composite, SWT.NONE); formToolkit.paintBordersFor(composite_2); composite_2.setLayout(new GridLayout(2, false)); btnConnect = formToolkit.createButton(composite_2, "Connect", SWT.NONE); btnConnect.addMouseListener( new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { controller.connect(); } }); btnConnect.setEnabled(false); btnDisconnect = formToolkit.createButton(composite_2, "Disconnect", SWT.NONE); btnDisconnect.addMouseListener( new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { controller.disconnect(); } }); btnDisconnect.setEnabled(false); btnDisconnect.setBounds(0, 0, 75, 25); m_bindingContext = initDataBindings(); applyPersistedStates(part); } catch (GkException e) { LOG.error(e); } }