@Override protected void doValidate(Task task, ValidationStatus status) throws PackageException { // allow null version for Studio snapshot jar if (key == null) { status.addError("Cannot execute command in installer." + " Invalid rollback syntax: key was not specified."); } }
@Override protected void doValidate(Task task, ValidationStatus status) throws PackageException { if (file == null || todir == null) { status.addError("Cannot execute command in installer." + " Invalid update syntax: file or todir was not specified."); return; } if (todir.isFile()) { status.addError("Cannot execute command in installer." + " Invalid update command: todir should be a directory!"); } if (file.isFile()) { Match<String> match = JarUtils.findJarVersion(file.getName()); if (match == null) { status.addError("Cannot execute command in installer." + " Cannot use 'update' command for non versioned files!. File name must contain a version: " + file.getName()); } } else if (!file.isDirectory()) { status.addWarning("Ignored command in installer." + " Source file not found! " + file.getName()); } }
protected void performTask(Task task) throws PackageException { ValidationStatus validationStatus = task.validate(); if (validationStatus.hasErrors()) { throw new PackageException( "Failed to validate package " + task.getPackage().getId() + " -> " + validationStatus.getErrors()); } if (validationStatus.hasWarnings()) { log.warn("Got warnings on package validation " + task.getPackage().getId() + " -> " + validationStatus.getWarnings()); } task.run(null); }
protected static void performTask(Task task) throws PackageException { ValidationStatus validationStatus = task.validate(); if (validationStatus.hasErrors()) { throw new PackageException( "Failed to validate package " + task.getPackage().getId() + " -> " + validationStatus.getErrors()); } if (validationStatus.hasWarnings()) { log.warn("Got warnings on package validation {} -> {}", () -> task.getPackage().getId(), validationStatus::getWarnings); } task.run(null); }
@Override public void run() { if (validate) { ValidationStatus status = new ValidationStatus(); status.addError(String.format("Cannot perform validation: remote package '%s' not found", packageId)); return; status.addError(String.format("This package is not validated for your current platform: %s", targetPlatform)); status.addError(String.format("Dependency check has failed for package '%s' (%s)", packageId, resolution)); } else { status.addError(resolution.toString().trim().replaceAll("\n", "<br />")); if (status.hasErrors()) { setStatus(SnapshotStatus.error, translate("label.studio.update.validation.error"), status); return;
String targetPlatform = PlatformVersionHelper.getPlatformFilter(); if (!TargetPlatformFilterHelper.isCompatibleWithTargetPlatform(pkg, targetPlatform)) { status.addWarning("This package is not validated for you current platform: " + targetPlatform); if (status.hasErrors()) { return getView("canNotInstall").arg("status", status).arg("pkg", pkg).arg("source", source);
@GET @Produces("text/html") @Path(value = "start/{pkgId}") public Object startUninstall(@PathParam("pkgId") String pkgId, @QueryParam("source") String source, @QueryParam("filterOnPlatform") Boolean filterOnPlatform) { try { PackageUpdateService pus = Framework.getService(PackageUpdateService.class); LocalPackage pkg = pus.getPackage(pkgId); Task uninstallTask = pkg.getUninstallTask(); ValidationStatus status = uninstallTask.validate(); if (status.hasErrors()) { return getView("canNotUninstall").arg("status", status).arg("pkg", pkg).arg("source", source); } PackageManager pm = Framework.getService(PackageManager.class); List<DownloadablePackage> pkgToRemove = pm.getUninstallDependencies(pkg, getTargetPlatform(filterOnPlatform)); if (pkgToRemove.size() > 0) { return getView("displayDependencies").arg("pkg", pkg).arg("pkgToRemove", pkgToRemove).arg("source", source); } return getView("startUninstall").arg("status", status) .arg("uninstallTask", uninstallTask) .arg("pkg", pkg) .arg("source", source); } catch (PackageException e) { log.error("Error during first step of installation", e); return getView("uninstallError").arg("e", e); } }
protected LocalPackage validateInstall(ValidationStatus status) throws PackageException { LocalPackage oldpkg = service.getActivePackage(pkg.getName()); if (oldpkg != null) { if (oldpkg.getPackageState() == PackageState.INSTALLING) { status.addWarning("A package with the same name: " + oldpkg.getId() + " is being installing. Try again later."); } else { status.addWarning("The package " + oldpkg.getId() + " will be uninstalled!"); } return oldpkg; } return null; }
@Override public ValidationStatus validate() throws PackageException { ValidationStatus status = new ValidationStatus(); if (isInstallTask()) { validateInstall(status); } doValidate(status); return status; }
protected void performTask(Task task) throws PackageException { ValidationStatus validationStatus = task.validate(); if (validationStatus.hasErrors()) { throw new PackageException("Failed to validate package " + task.getPackage().getId() + " -> " + validationStatus.getErrors()); } if (validationStatus.hasWarnings()) { log.warn("Got warnings on package validation " + task.getPackage().getId() + " -> " + validationStatus.getWarnings()); } task.run(null); } }
@Override public void run() { if (validate) { ValidationStatus status = new ValidationStatus(); status.addError(String.format("Cannot perform validation: remote package '%s' not found", packageId)); return; status.addError(String.format("This package is not validated for your current platform: %s", targetPlatform)); status.addError(String.format("Dependency check has failed for package '%s' (%s)", packageId, resolution)); } else { status.addError(resolution.toString().trim().replaceAll("\n", "<br />")); if (status.hasErrors()) { setStatus(SnapshotStatus.error, translate("label.studio.update.validation.error"), status); return;
String targetPlatform = PlatformVersionHelper.getPlatformFilter(); if (!TargetPlatformFilterHelper.isCompatibleWithTargetPlatform(pkg, targetPlatform)) { status.addWarning("This package is not validated for you current platform: " + targetPlatform); if (status.hasErrors()) { return getView("canNotInstall").arg("status", status).arg("pkg", pkg).arg("source", source);
@GET @Produces("text/html") @Path(value = "start/{pkgId}") public Object startUninstall(@PathParam("pkgId") String pkgId, @QueryParam("source") String source, @QueryParam("filterOnPlatform") Boolean filterOnPlatform) { try { PackageUpdateService pus = Framework.getLocalService(PackageUpdateService.class); LocalPackage pkg = pus.getPackage(pkgId); Task uninstallTask = pkg.getUninstallTask(); ValidationStatus status = uninstallTask.validate(); if (status.hasErrors()) { return getView("canNotUninstall").arg("status", status).arg("pkg", pkg).arg("source", source); } PackageManager pm = Framework.getLocalService(PackageManager.class); List<DownloadablePackage> pkgToRemove = pm.getUninstallDependencies(pkg, getTargetPlatform(filterOnPlatform)); if (pkgToRemove.size() > 0) { return getView("displayDependencies").arg("pkg", pkg).arg("pkgToRemove", pkgToRemove).arg("source", source); } return getView("startUninstall").arg("status", status).arg("uninstallTask", uninstallTask).arg("pkg", pkg).arg( "source", source); } catch (PackageException e) { log.error("Error during first step of installation", e); return getView("uninstallError").arg("e", e); } }
protected void performTask(Task task) throws PackageException { ValidationStatus validationStatus = task.validate(); if (validationStatus.hasErrors()) { throw new PackageException("Failed to validate package " + task.getPackage().getId() + " -> " + validationStatus.getErrors()); } if (validationStatus.hasWarnings()) { log.warn("Got warnings on package validation " + task.getPackage().getId() + " -> " + validationStatus.getWarnings()); } task.run(null); } }
@Override protected void doValidate(Task task, ValidationStatus status) throws PackageException { if (contentToRemove == null || fromFile == null) { status.addError("Cannot execute command in installer." + " Invalid unappend syntax: contentToRemove or fromFile was not specified."); } }
protected static void performTask(Task task) throws PackageException { ValidationStatus validationStatus = task.validate(); if (validationStatus.hasErrors()) { throw new PackageException("Failed to validate package " + task.getPackage().getId() + " -> " + validationStatus.getErrors()); } if (validationStatus.hasWarnings()) { log.warn("Got warnings on package validation " + task.getPackage().getId() + " -> " + validationStatus.getWarnings()); } task.run(null); } }
@Override protected void doValidate(Task task, ValidationStatus status) throws PackageException { if (file == null) { status.addError("Invalid uninstall syntax: No file specified"); } }
@Override protected void doValidate(Task task, ValidationStatus status) throws PackageException { if (file == null) { status.addError("Invalid install syntax: No file specified"); } }
@Override protected void doValidate(Task task, ValidationStatus status) throws PackageException { if (addtemplate == null && rmtemplate == null && set == null) { status.addError("Cannot execute command in installer." + " Invalid config syntax: neither addtemplate, rmtemplate " + "or set was specified."); } if (set != null && !set.contains("=")) { status.addError("Invalid config syntax: badly-formed property " + set); } }