Submitted by: Kev Jackson git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@277732 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002-2004 The Apache Software Foundation | |||||
| * Copyright 2002-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -23,6 +23,8 @@ import java.util.StringTokenizer; | |||||
| import java.util.jar.Attributes; | import java.util.jar.Attributes; | ||||
| import java.util.jar.Manifest; | import java.util.jar.Manifest; | ||||
| import org.apache.tools.ant.util.StringUtils; | |||||
| /** | /** | ||||
| * <p>Utility class that represents either an available "Optional Package" | * <p>Utility class that represents either an available "Optional Package" | ||||
| * (formerly known as "Standard Extension") as described in the manifest | * (formerly known as "Standard Extension") as described in the manifest | ||||
| @@ -489,54 +491,53 @@ public final class Extension { | |||||
| * @return string representation of object. | * @return string representation of object. | ||||
| */ | */ | ||||
| public String toString() { | public String toString() { | ||||
| final String lineSeparator = System.getProperty("line.separator"); | |||||
| final String brace = ": "; | final String brace = ": "; | ||||
| final StringBuffer sb = new StringBuffer(EXTENSION_NAME.toString()); | final StringBuffer sb = new StringBuffer(EXTENSION_NAME.toString()); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(extensionName); | sb.append(extensionName); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| if (null != specificationVersion) { | if (null != specificationVersion) { | ||||
| sb.append(SPECIFICATION_VERSION); | sb.append(SPECIFICATION_VERSION); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(specificationVersion); | sb.append(specificationVersion); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| } | } | ||||
| if (null != specificationVendor) { | if (null != specificationVendor) { | ||||
| sb.append(SPECIFICATION_VENDOR); | sb.append(SPECIFICATION_VENDOR); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(specificationVendor); | sb.append(specificationVendor); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| } | } | ||||
| if (null != implementationVersion) { | if (null != implementationVersion) { | ||||
| sb.append(IMPLEMENTATION_VERSION); | sb.append(IMPLEMENTATION_VERSION); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(implementationVersion); | sb.append(implementationVersion); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| } | } | ||||
| if (null != implementationVendorID) { | if (null != implementationVendorID) { | ||||
| sb.append(IMPLEMENTATION_VENDOR_ID); | sb.append(IMPLEMENTATION_VENDOR_ID); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(implementationVendorID); | sb.append(implementationVendorID); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| } | } | ||||
| if (null != implementationVendor) { | if (null != implementationVendor) { | ||||
| sb.append(IMPLEMENTATION_VENDOR); | sb.append(IMPLEMENTATION_VENDOR); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(implementationVendor); | sb.append(implementationVendor); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| } | } | ||||
| if (null != implementationURL) { | if (null != implementationURL) { | ||||
| sb.append(IMPLEMENTATION_URL); | sb.append(IMPLEMENTATION_URL); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(implementationURL); | sb.append(implementationURL); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| } | } | ||||
| return sb.toString(); | return sb.toString(); | ||||
| @@ -683,10 +684,6 @@ public final class Extension { | |||||
| * @return the trimmed string or null | * @return the trimmed string or null | ||||
| */ | */ | ||||
| private static String getTrimmedString(final String value) { | private static String getTrimmedString(final String value) { | ||||
| if (null == value) { | |||||
| return null; | |||||
| } else { | |||||
| return value.trim(); | |||||
| } | |||||
| return null == value ? null : value.trim(); | |||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002,2004 The Apache Software Foundation | |||||
| * Copyright 2002,2004-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -73,14 +73,14 @@ public class ExtensionSet | |||||
| /** | /** | ||||
| * Extract a set of Extension objects from the ExtensionSet. | * Extract a set of Extension objects from the ExtensionSet. | ||||
| * | * | ||||
| * @param project the project instance. | |||||
| * @param proj the project instance. | |||||
| * @return an array containing the Extensions from this set | * @return an array containing the Extensions from this set | ||||
| * @throws BuildException if an error occurs | * @throws BuildException if an error occurs | ||||
| */ | */ | ||||
| public Extension[] toExtensions(final Project project) | |||||
| public Extension[] toExtensions(final Project proj) | |||||
| throws BuildException { | throws BuildException { | ||||
| final ArrayList extensionsList = ExtensionUtil.toExtensions(extensions); | final ArrayList extensionsList = ExtensionUtil.toExtensions(extensions); | ||||
| ExtensionUtil.extractExtensions(project, extensionsList, extensionsFilesets); | |||||
| ExtensionUtil.extractExtensions(proj, extensionsList, extensionsFilesets); | |||||
| return (Extension[]) extensionsList.toArray(new Extension[extensionsList.size()]); | return (Extension[]) extensionsList.toArray(new Extension[extensionsList.size()]); | ||||
| } | } | ||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002-2004 The Apache Software Foundation | |||||
| * Copyright 2002-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -20,8 +20,10 @@ import java.io.File; | |||||
| import java.io.IOException; | import java.io.IOException; | ||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||
| import java.util.Iterator; | import java.util.Iterator; | ||||
| import java.util.List; | |||||
| import java.util.jar.JarFile; | import java.util.jar.JarFile; | ||||
| import java.util.jar.Manifest; | import java.util.jar.Manifest; | ||||
| import org.apache.tools.ant.BuildException; | import org.apache.tools.ant.BuildException; | ||||
| import org.apache.tools.ant.DirectoryScanner; | import org.apache.tools.ant.DirectoryScanner; | ||||
| import org.apache.tools.ant.Project; | import org.apache.tools.ant.Project; | ||||
| @@ -37,6 +39,7 @@ public class ExtensionUtil { | |||||
| * Class is not meant to be instantiated. | * Class is not meant to be instantiated. | ||||
| */ | */ | ||||
| private ExtensionUtil() { | private ExtensionUtil() { | ||||
| //all methods static | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -45,7 +48,7 @@ public class ExtensionUtil { | |||||
| * @param adapters the list of ExtensionAdapterss to add to convert | * @param adapters the list of ExtensionAdapterss to add to convert | ||||
| * @throws BuildException if an error occurs | * @throws BuildException if an error occurs | ||||
| */ | */ | ||||
| static ArrayList toExtensions(final ArrayList adapters) | |||||
| static ArrayList toExtensions(final List adapters) | |||||
| throws BuildException { | throws BuildException { | ||||
| final ArrayList results = new ArrayList(); | final ArrayList results = new ArrayList(); | ||||
| @@ -63,35 +66,35 @@ public class ExtensionUtil { | |||||
| /** | /** | ||||
| * Generate a list of extensions from a specified fileset. | * Generate a list of extensions from a specified fileset. | ||||
| * | * | ||||
| * @param librarys the list to add extensions to | |||||
| * @param libraries the list to add extensions to | |||||
| * @param fileset the filesets containing librarys | * @param fileset the filesets containing librarys | ||||
| * @throws BuildException if an error occurs | * @throws BuildException if an error occurs | ||||
| */ | */ | ||||
| static void extractExtensions(final Project project, | static void extractExtensions(final Project project, | ||||
| final ArrayList librarys, | |||||
| final ArrayList fileset) | |||||
| final List libraries, | |||||
| final List fileset) | |||||
| throws BuildException { | throws BuildException { | ||||
| if (!fileset.isEmpty()) { | if (!fileset.isEmpty()) { | ||||
| final Extension[] extensions = getExtensions(project, | final Extension[] extensions = getExtensions(project, | ||||
| fileset); | fileset); | ||||
| for (int i = 0; i < extensions.length; i++) { | for (int i = 0; i < extensions.length; i++) { | ||||
| librarys.add(extensions[ i ]); | |||||
| libraries.add(extensions[ i ]); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| /** | /** | ||||
| * Retrieve extensions from the specified librarys. | |||||
| * Retrieve extensions from the specified libraries. | |||||
| * | * | ||||
| * @param librarys the filesets for librarys | |||||
| * @return the extensions contained in librarys | |||||
| * @throws BuildException if failing to scan librarys | |||||
| * @param libraries the filesets for libraries | |||||
| * @return the extensions contained in libraries | |||||
| * @throws BuildException if failing to scan libraries | |||||
| */ | */ | ||||
| private static Extension[] getExtensions(final Project project, | private static Extension[] getExtensions(final Project project, | ||||
| final ArrayList librarys) | |||||
| final List libraries) | |||||
| throws BuildException { | throws BuildException { | ||||
| final ArrayList extensions = new ArrayList(); | final ArrayList extensions = new ArrayList(); | ||||
| final Iterator iterator = librarys.iterator(); | |||||
| final Iterator iterator = libraries.iterator(); | |||||
| while (iterator.hasNext()) { | while (iterator.hasNext()) { | ||||
| final FileSet fileSet = (FileSet) iterator.next(); | final FileSet fileSet = (FileSet) iterator.next(); | ||||
| @@ -123,7 +126,7 @@ public class ExtensionUtil { | |||||
| * @throws BuildException if there is an error | * @throws BuildException if there is an error | ||||
| */ | */ | ||||
| private static void loadExtensions(final File file, | private static void loadExtensions(final File file, | ||||
| final ArrayList extensionList, | |||||
| final List extensionList, | |||||
| final boolean includeImpl, | final boolean includeImpl, | ||||
| final boolean includeURL) | final boolean includeURL) | ||||
| throws BuildException { | throws BuildException { | ||||
| @@ -151,7 +154,7 @@ public class ExtensionUtil { | |||||
| * @param includeImpl false to exclude implementation details | * @param includeImpl false to exclude implementation details | ||||
| * @param includeURL false to exclude implementation URL | * @param includeURL false to exclude implementation URL | ||||
| */ | */ | ||||
| private static void addExtension(final ArrayList extensionList, | |||||
| private static void addExtension(final List extensionList, | |||||
| final Extension originalExtension, | final Extension originalExtension, | ||||
| final boolean includeImpl, | final boolean includeImpl, | ||||
| final boolean includeURL) { | final boolean includeURL) { | ||||
| @@ -189,12 +192,12 @@ public class ExtensionUtil { | |||||
| } | } | ||||
| /** | /** | ||||
| * retrieve manifest for specified file. | |||||
| * Retrieve manifest for specified file. | |||||
| * | * | ||||
| * @param file the file | * @param file the file | ||||
| * @return the manifest | * @return the manifest | ||||
| * @throws BuildException if errror occurs (file not exist, | |||||
| * file not a jar, manifest not exist in file) | |||||
| * @throws BuildException if errror occurs (file doesn't exist, | |||||
| * file not a jar, manifest doesn't exist in file) | |||||
| */ | */ | ||||
| static Manifest getManifest(final File file) | static Manifest getManifest(final File file) | ||||
| throws BuildException { | throws BuildException { | ||||
| @@ -209,4 +212,4 @@ public class ExtensionUtil { | |||||
| throw new BuildException(ioe.getMessage(), ioe); | throw new BuildException(ioe.getMessage(), ioe); | ||||
| } | } | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002-2004 The Apache Software Foundation | |||||
| * Copyright 2002-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -104,9 +104,8 @@ public final class JarLibManifestTask extends Task { | |||||
| final String message = | final String message = | ||||
| "Can not have multiple extensions defined in one library."; | "Can not have multiple extensions defined in one library."; | ||||
| throw new BuildException(message); | throw new BuildException(message); | ||||
| } else { | |||||
| extension = extensionAdapter.toExtension(); | |||||
| } | } | ||||
| extension = extensionAdapter.toExtension(); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -309,4 +308,4 @@ public final class JarLibManifestTask extends Task { | |||||
| return results; | return results; | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002-2004 The Apache Software Foundation | |||||
| * Copyright 2002-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -98,10 +98,10 @@ public class JarLibResolveTask extends Task { | |||||
| * Adds location resolver to look for a library in a location | * Adds location resolver to look for a library in a location | ||||
| * relative to project directory. | * relative to project directory. | ||||
| * | * | ||||
| * @param location the resolver location to search. | |||||
| * @param loc the resolver location to search. | |||||
| */ | */ | ||||
| public void addConfiguredLocation(final LocationResolver location) { | |||||
| resolvers.add(location); | |||||
| public void addConfiguredLocation(final LocationResolver loc) { | |||||
| resolvers.add(loc); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -155,10 +155,9 @@ public class JarLibResolveTask extends Task { | |||||
| final String message = "Property Already set to: " + candidate; | final String message = "Property Already set to: " + candidate; | ||||
| if (failOnError) { | if (failOnError) { | ||||
| throw new BuildException(message); | throw new BuildException(message); | ||||
| } else { | |||||
| getProject().log(message, Project.MSG_ERR); | |||||
| return; | |||||
| } | |||||
| } | |||||
| getProject().log(message, Project.MSG_ERR); | |||||
| return; | |||||
| } | } | ||||
| final int size = resolvers.size(); | final int size = resolvers.size(); | ||||
| @@ -201,9 +200,8 @@ public class JarLibResolveTask extends Task { | |||||
| "Unable to resolve extension to a file"; | "Unable to resolve extension to a file"; | ||||
| if (failOnError) { | if (failOnError) { | ||||
| throw new BuildException(message); | throw new BuildException(message); | ||||
| } else { | |||||
| getProject().log(message, Project.MSG_ERR); | |||||
| } | } | ||||
| getProject().log(message, Project.MSG_ERR); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -283,4 +281,4 @@ public class JarLibResolveTask extends Task { | |||||
| throw new BuildException(message); | throw new BuildException(message); | ||||
| } | } | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002,2004 The Apache Software Foundation | |||||
| * Copyright 2002,2004-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -24,6 +24,8 @@ import java.util.Map; | |||||
| import java.util.jar.Attributes; | import java.util.jar.Attributes; | ||||
| import java.util.jar.Manifest; | import java.util.jar.Manifest; | ||||
| import org.apache.tools.ant.util.StringUtils; | |||||
| /** | /** | ||||
| * <p>Utility class that represents either an available "Optional Package" | * <p>Utility class that represents either an available "Optional Package" | ||||
| * (formerly known as "Standard Extension") as described in the manifest | * (formerly known as "Standard Extension") as described in the manifest | ||||
| @@ -37,6 +39,9 @@ import java.util.jar.Manifest; | |||||
| * @version $Revision$ $Date$ | * @version $Revision$ $Date$ | ||||
| */ | */ | ||||
| public final class Specification { | public final class Specification { | ||||
| private static final String MISSING = "Missing "; | |||||
| /** | /** | ||||
| * Manifest Attribute Name object for SPECIFICATION_TITLE. | * Manifest Attribute Name object for SPECIFICATION_TITLE. | ||||
| */ | */ | ||||
| @@ -320,11 +325,10 @@ public final class Specification { | |||||
| public String[] getSections() { | public String[] getSections() { | ||||
| if (null == sections) { | if (null == sections) { | ||||
| return null; | return null; | ||||
| } else { | |||||
| final String[] newSections = new String[ sections.length ]; | |||||
| System.arraycopy(sections, 0, newSections, 0, sections.length); | |||||
| return newSections; | |||||
| } | |||||
| } | |||||
| final String[] newSections = new String[ sections.length ]; | |||||
| System.arraycopy(sections, 0, newSections, 0, sections.length); | |||||
| return newSections; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -394,48 +398,47 @@ public final class Specification { | |||||
| * @return string representation of object. | * @return string representation of object. | ||||
| */ | */ | ||||
| public String toString() { | public String toString() { | ||||
| final String lineSeparator = System.getProperty("line.separator"); | |||||
| final String brace = ": "; | final String brace = ": "; | ||||
| final StringBuffer sb | final StringBuffer sb | ||||
| = new StringBuffer(SPECIFICATION_TITLE.toString()); | = new StringBuffer(SPECIFICATION_TITLE.toString()); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(specificationTitle); | sb.append(specificationTitle); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| if (null != specificationVersion) { | if (null != specificationVersion) { | ||||
| sb.append(SPECIFICATION_VERSION); | sb.append(SPECIFICATION_VERSION); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(specificationVersion); | sb.append(specificationVersion); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| } | } | ||||
| if (null != specificationVendor) { | if (null != specificationVendor) { | ||||
| sb.append(SPECIFICATION_VENDOR); | sb.append(SPECIFICATION_VENDOR); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(specificationVendor); | sb.append(specificationVendor); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| } | } | ||||
| if (null != implementationTitle) { | if (null != implementationTitle) { | ||||
| sb.append(IMPLEMENTATION_TITLE); | sb.append(IMPLEMENTATION_TITLE); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(implementationTitle); | sb.append(implementationTitle); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| } | } | ||||
| if (null != implementationVersion) { | if (null != implementationVersion) { | ||||
| sb.append(IMPLEMENTATION_VERSION); | sb.append(IMPLEMENTATION_VERSION); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(implementationVersion); | sb.append(implementationVersion); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| } | } | ||||
| if (null != implementationVendor) { | if (null != implementationVendor) { | ||||
| sb.append(IMPLEMENTATION_VENDOR); | sb.append(IMPLEMENTATION_VENDOR); | ||||
| sb.append(brace); | sb.append(brace); | ||||
| sb.append(implementationVendor); | sb.append(implementationVendor); | ||||
| sb.append(lineSeparator); | |||||
| sb.append(StringUtils.LINE_SEP); | |||||
| } | } | ||||
| return sb.toString(); | return sb.toString(); | ||||
| @@ -521,20 +524,19 @@ public final class Specification { | |||||
| final ArrayList sectionsToAdd) { | final ArrayList sectionsToAdd) { | ||||
| if (0 == sectionsToAdd.size()) { | if (0 == sectionsToAdd.size()) { | ||||
| return specification; | return specification; | ||||
| } else { | |||||
| sectionsToAdd.addAll(Arrays.asList(specification.getSections())); | |||||
| final String[] sections = | |||||
| (String[]) sectionsToAdd.toArray(new String[sectionsToAdd.size()]); | |||||
| return new Specification(specification.getSpecificationTitle(), | |||||
| specification.getSpecificationVersion().toString(), | |||||
| specification.getSpecificationVendor(), | |||||
| specification.getImplementationTitle(), | |||||
| specification.getImplementationVersion(), | |||||
| specification.getImplementationVendor(), | |||||
| sections); | |||||
| } | } | ||||
| sectionsToAdd.addAll(Arrays.asList(specification.getSections())); | |||||
| final String[] sections = | |||||
| (String[]) sectionsToAdd.toArray(new String[sectionsToAdd.size()]); | |||||
| return new Specification(specification.getSpecificationTitle(), | |||||
| specification.getSpecificationVersion().toString(), | |||||
| specification.getSpecificationVendor(), | |||||
| specification.getImplementationTitle(), | |||||
| specification.getImplementationVersion(), | |||||
| specification.getImplementationVendor(), | |||||
| sections); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -544,11 +546,7 @@ public final class Specification { | |||||
| * @return the trimmed string or null | * @return the trimmed string or null | ||||
| */ | */ | ||||
| private static String getTrimmedString(final String value) { | private static String getTrimmedString(final String value) { | ||||
| if (null == value) { | |||||
| return null; | |||||
| } else { | |||||
| return value.trim(); | |||||
| } | |||||
| return value == null ? null : value.trim(); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -572,35 +570,35 @@ public final class Specification { | |||||
| final String specVendor | final String specVendor | ||||
| = getTrimmedString(attributes.getValue(SPECIFICATION_VENDOR)); | = getTrimmedString(attributes.getValue(SPECIFICATION_VENDOR)); | ||||
| if (null == specVendor) { | if (null == specVendor) { | ||||
| throw new ParseException("Missing " + SPECIFICATION_VENDOR, 0); | |||||
| throw new ParseException(MISSING + SPECIFICATION_VENDOR, 0); | |||||
| } | } | ||||
| final String specVersion | final String specVersion | ||||
| = getTrimmedString(attributes.getValue(SPECIFICATION_VERSION)); | = getTrimmedString(attributes.getValue(SPECIFICATION_VERSION)); | ||||
| if (null == specVersion) { | if (null == specVersion) { | ||||
| throw new ParseException("Missing " + SPECIFICATION_VERSION, 0); | |||||
| throw new ParseException(MISSING + SPECIFICATION_VERSION, 0); | |||||
| } | } | ||||
| final String impTitle | final String impTitle | ||||
| = getTrimmedString(attributes.getValue(IMPLEMENTATION_TITLE)); | = getTrimmedString(attributes.getValue(IMPLEMENTATION_TITLE)); | ||||
| if (null == impTitle) { | if (null == impTitle) { | ||||
| throw new ParseException("Missing " + IMPLEMENTATION_TITLE, 0); | |||||
| throw new ParseException(MISSING + IMPLEMENTATION_TITLE, 0); | |||||
| } | } | ||||
| final String impVersion | final String impVersion | ||||
| = getTrimmedString(attributes.getValue(IMPLEMENTATION_VERSION)); | = getTrimmedString(attributes.getValue(IMPLEMENTATION_VERSION)); | ||||
| if (null == impVersion) { | if (null == impVersion) { | ||||
| throw new ParseException("Missing " + IMPLEMENTATION_VERSION, 0); | |||||
| throw new ParseException(MISSING + IMPLEMENTATION_VERSION, 0); | |||||
| } | } | ||||
| final String impVendor | final String impVendor | ||||
| = getTrimmedString(attributes.getValue(IMPLEMENTATION_VENDOR)); | = getTrimmedString(attributes.getValue(IMPLEMENTATION_VENDOR)); | ||||
| if (null == impVendor) { | if (null == impVendor) { | ||||
| throw new ParseException("Missing " + IMPLEMENTATION_VENDOR, 0); | |||||
| throw new ParseException(MISSING + IMPLEMENTATION_VENDOR, 0); | |||||
| } | } | ||||
| return new Specification(name, specVersion, specVendor, | return new Specification(name, specVersion, specVendor, | ||||
| impTitle, impVersion, impVendor, | impTitle, impVersion, impVendor, | ||||
| new String[]{section}); | new String[]{section}); | ||||
| } | } | ||||
| } | |||||
| } | |||||