@Override public void setInstaller(TaskDefinition installer) { if (installer instanceof TaskDefinitionImpl) { this.installer = (TaskDefinitionImpl) installer; } else { this.installer = new TaskDefinitionImpl(installer.getType(), installer.getRequireRestart()); } }
@Override public Task getUninstallTask() throws PackageException { if (def.getUninstaller() == null) { def.setUninstaller(new TaskDefinitionImpl(service.getDefaultUninstallTaskType(), false)); } else if (def.getUninstaller().getType() == null) { def.getUninstaller().setType(service.getDefaultUninstallTaskType()); } return getTask(def.getUninstaller()); }
@Override public Task getInstallTask() throws PackageException { if (def.getInstaller() == null) { def.setInstaller(new TaskDefinitionImpl(service.getDefaultInstallTaskType(), false)); } else if (def.getInstaller().getType() == null) { def.getInstaller().setType(service.getDefaultInstallTaskType()); } return getTask(def.getInstaller()); }
@Override public void setUninstaller(TaskDefinition uninstaller) { if (uninstaller instanceof TaskDefinitionImpl) { this.uninstaller = (TaskDefinitionImpl) uninstaller; } else { this.uninstaller = new TaskDefinitionImpl(uninstaller.getType(), uninstaller.getRequireRestart()); } }
protected Task getTask(TaskDefinition tdef) throws PackageException { Task task; try { task = (Task) data.loadClass(tdef.getType()).getConstructor(PackageUpdateService.class).newInstance(service); } catch (ReflectiveOperationException e) { throw new PackageException("Could not instantiate custom task " + tdef.getType() + " for package " + getId(), e); } task.initialize(this, tdef.getRequireRestart()); return task; }
attr("class", def.getInstaller().getType()); attr("restart", String.valueOf(def.getInstaller().getRequireRestart())); end(); attr("class", def.getUninstaller().getType()); attr("restart", String.valueOf(def.getUninstaller().getRequireRestart())); end();