public ApplicationLink createApplicationLink(final ApplicationType type, final ApplicationLinkDetails linkDetails) throws ManifestNotFoundException { final Manifest manifest = manifestRetriever.getManifest(linkDetails.getRpcUrl(), type); return addApplicationLink(manifest.getId(), type, linkDetails); }
@Override public void validateUpdate(@Nonnull ReadOnlyApplicationLink applink, @Nonnull ApplicationLinkDetails details) throws ValidationException { checkNotNull(applink, "applink"); checkNotNull(details, "details"); ValidationExceptionBuilder validationBuilder = new ValidationExceptionBuilder(i18nResolver); Iterable<ReadOnlyApplicationLink> existingLinks = getExistingLinks(applink.getId()); validateSystemLink(applink, validationBuilder); validateUri("rpcUrl", details.getRpcUrl(), validationBuilder); validateUri("displayUrl", details.getDisplayUrl(), validationBuilder); validateDuplicates(details, existingLinks, validationBuilder); if (validationBuilder.hasErrors()) { throw validationBuilder.origin(details).build(); } }
private void validateDuplicates(ApplicationLinkDetails details, Iterable<ReadOnlyApplicationLink> existingLinks, ValidationExceptionBuilder validationBuilder) { if (toStream(existingLinks).anyMatch(withName(details.getName()))) { validationBuilder.error("name", "applinks.service.error.validation.applink.duplicate.name", details.getName()); } if (toStream(existingLinks).anyMatch(withRpcUrl(details.getRpcUrl()))) { validationBuilder.error("rpcUrl", "applinks.service.error.validation.applink.duplicate.rpcUrl"); } if (toStream(existingLinks).anyMatch(withDisplayUrl(details.getDisplayUrl()))) { validationBuilder.error("displayUrl", "applinks.service.error.validation.applink.duplicate.displayUrl"); } }
applicationLinkProperties.setName(findSuitableName(details.getName())); applicationLinkProperties.setDisplayUrl(details.getDisplayUrl()); applicationLinkProperties.setRpcUrl(details.getRpcUrl());
public void update(final ApplicationLinkDetails details) { applicationLinkProperties.setName(details.getName()); applicationLinkProperties.setDisplayUrl(details.getDisplayUrl()); //TODO: Do we support to change the RPC URL at all? applicationLinkProperties.setRpcUrl(details.getRpcUrl()); eventPublisher.publish(new ApplicationLinkDetailsChangedEvent(this)); }
if (!existing.getRpcUrl().equals(linkDetails.getRpcUrl())) { return RestUtil.badRequest(i18nResolver.getText("applinks.error.cannot.update.rpcurl"));
if (!existing.getRpcUrl().equals(linkDetails.getRpcUrl())) { return badRequest(i18nResolver.getText("applinks.error.cannot.update.rpcurl"));
if (!existing.getRpcUrl().equals(linkDetails.getRpcUrl()))