@Override public Collection<ExtensionLicense> getLicenses() { if (this.overwrites.containsKey(Extension.FIELD_LICENSES)) { return (Collection<ExtensionLicense>) this.overwrites.get(Extension.FIELD_LICENSES); } return getWrapped().getLicenses(); }
private void addLicenses(Document document, Element parentElement, Extension extension) { if (extension.getLicenses() != null && !extension.getLicenses().isEmpty()) { Element licensesElement = document.createElement(ELEMENT_LICENSES); parentElement.appendChild(licensesElement); for (ExtensionLicense license : extension.getLicenses()) { Element licenseElement = document.createElement(ELEMENT_LLICENSE); licensesElement.appendChild(licenseElement); addElement(document, licenseElement, ELEMENT_LLNAME, license.getName()); if (this.licenseManager.getLicense(license.getName()) == null && license.getContent() != null) { // Only store content if it's a custom license (license content is pretty big generally) StringWriter content = new StringWriter(); try { IOUtils.writeLines(license.getContent(), IOUtils.LINE_SEPARATOR_UNIX, content); } catch (IOException e) { // That should never happen } addElement(document, licenseElement, ELEMENT_LLCONTENT, content.toString()); } } } }
@Override public void set(Extension extension) { setName(extension.getName()); setDescription(extension.getDescription()); setAuthors(extension.getAuthors()); setWebsite(extension.getWebSite()); setLicenses(extension.getLicenses()); setSummary(extension.getSummary()); setIssueManagement(extension.getIssueManagement()); setScm(extension.getScm()); setCategory(extension.getCategory()); setExtensionFeatures(extension.getExtensionFeatures()); setAllowedNamespaces(extension.getAllowedNamespaces()); setDependencies(extension.getDependencies()); setManagedDependencies(extension.getManagedDependencies()); setRepositories(extension.getRepositories()); setProperties(extension.getProperties()); }