@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 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; }
start("installer"); attr("class", def.getInstaller().getType()); attr("restart", String.valueOf(def.getInstaller().getRequireRestart())); end(); start("uninstaller"); attr("class", def.getUninstaller().getType()); attr("restart", String.valueOf(def.getUninstaller().getRequireRestart())); end();