private List<String> findCommonClasses(final Metadata metadata) { final List<String> classList = new ArrayList<String>(); for (MetadataDescriptor descr : metadata.getMetadataDescriptorList()) { if (descr.getCommon() != null) { traverseClasses(metadata, classList, descr.getRootElementType()); } else { if (descr.isGenerateClasses()) { final String packageApi = descr.getPackageApi(); for (MetadataItem item : metadata.getClassList()) { if (packageApi.equals(item.getPackageApi())) { final String type = item.getNamespace() + ":" + item.getName(); if (!classList.contains(type)) { classList.add(type); } } } } } } return classList; }
/** * Copies the optional packageInfo files into the packages. * @param path * @param metadata * @throws IOException */ public static void copyPackageInfo(final MetadataParserPath path, final Metadata metadata, final boolean verbose) throws IOException { for (final MetadataDescriptor descriptor : metadata.getMetadataDescriptorList()) { if (descriptor.getPathToPackageInfoApi() != null) { final File sourceFile = new File(descriptor.getPathToPackageInfoApi()); final String destDirectory = path.pathToApi + File.separatorChar + descriptor.getPackageApi().replace('.', '/'); deleteExistingPackageInfo(destDirectory, verbose); copy(sourceFile, destDirectory, verbose); } if (descriptor.getPathToPackageInfoImpl() != null) { final File sourceFile = new File(descriptor.getPathToPackageInfoImpl()); final String destDirectory = path.pathToImpl + File.separatorChar + descriptor.getPackageImpl().replace('.', '/'); deleteExistingPackageInfo(destDirectory, verbose); copy(sourceFile, destDirectory, verbose); } } }
metadata.setCurrentPackageImpl(metadataConf.getPackageImpl()); final MetadataDescriptor metadataDescriptor = new MetadataDescriptor(metadataConf.getDescriptorName()); metadataDescriptor.setRootElementName(metadataConf.getElementName()); metadataDescriptor.setRootElementType(metadataConf.getElementType()); metadataDescriptor.setSchemaName(metadataConf.getPathToXsd()); metadataDescriptor.setPackageApi(metadataConf.getPackageApi()); metadataDescriptor.setPackageImpl(metadataConf.getPackageImpl()); metadataDescriptor.setNamespace(metadataConf.getNameSpace()); metadataDescriptor.setNamespaces(metadataConf.getNamespaces()); metadataDescriptor.setGenerateClasses(metadataConf.generateClasses); metadataDescriptor.setPathToPackageInfoApi(metadataConf.getPathToPackageInfoApi()); metadataDescriptor.setPathToPackageInfoImpl(metadataConf.getPathToPackageInfoImpl()); metadataDescriptor.setCommon(metadataConf.getCommon()); metadataDescriptor.setCommonRef(metadataConf.getCommonRef()); metadataDescriptor.setGenerateCommonClasses(metadataConf.generateCommonClasses); metadataDescriptor.setCommonImports(metadataConf.getCommonImports());
final List<File> fileList = new ArrayList<File>(); for (final MetadataDescriptor descr : metadata.getMetadataDescriptorList()) { if (descr.getCommon() != null) { final String pathTo = descr.getCommon().getPathToCommonApi(); final String commonApi = descr.getCommon().getCommonApi().replace('.', '/'); commonPathSet.add(pathTo + "/" + commonApi); rootElement.appendChild(commonPackagesElement); for (final MetadataDescriptor descr : metadata.getMetadataDescriptorList()) { if (descr.isGenerateCommonClasses() != null && !descr.isGenerateCommonClasses()) { final Element generateElement = doc.createElement("package"); generateElement.setAttribute("packageApi", descr.getPackageApi()); generateElement.setAttribute("generate", Boolean.toString(descr.isGenerateCommonClasses())); commonPackagesElement.appendChild(generateElement); final Element packageApi = doc.createElement("api"); final Attr packageApiName = doc.createAttribute("name"); packageApiName.setValue(descriptor.getPackageApi()); packageApi.setAttributeNode(packageApiName); schemaNameApi.setValue(descriptor.getSchemaName()); packageApi.setAttributeNode(schemaNameApi); generateClassApi.setValue(Boolean.toString(descriptor.isGenerateClasses())); packageApi.setAttributeNode(generateClassApi); if (descriptor.getPathToPackageInfoApi() != null) { final Attr pathToPackageInfoApi = doc.createAttribute("packageInfo"); pathToPackageInfoApi.setValue(descriptor.getPathToPackageInfoApi());
metadata.setCurrentPackageImpl(metadataConf.getPackageImpl()); final MetadataDescriptor metadataDescriptor = new MetadataDescriptor(metadataConf.getDescriptorName()); metadataDescriptor.setRootElementName(metadataConf.getElementName()); metadataDescriptor.setRootElementType(metadataConf.getElementType()); metadataDescriptor.setSchemaName(metadataConf.getPathToXsd()); metadataDescriptor.setPackageApi(metadataConf.getPackageApi()); metadataDescriptor.setPackageImpl(metadataConf.getPackageImpl()); metadataDescriptor.setNamespace(metadataConf.getNameSpace()); metadataDescriptor.setNamespaces(metadataConf.getNamespaces()); metadataDescriptor.setGenerateClasses(metadataConf.generateClasses); metadataDescriptor.setPathToPackageInfoApi(metadataConf.getPathToPackageInfoApi()); metadataDescriptor.setPathToPackageInfoImpl(metadataConf.getPathToPackageInfoImpl()); metadataDescriptor.setCommon(metadataConf.getCommon()); metadataDescriptor.setCommonRef(metadataConf.getCommonRef()); metadataDescriptor.setGenerateCommonClasses(metadataConf.generateCommonClasses); metadataDescriptor.setCommonImports(metadataConf.getCommonImports());
final List<File> fileList = new ArrayList<File>(); for (final MetadataDescriptor descr : metadata.getMetadataDescriptorList()) { if (descr.getCommon() != null) { final String pathTo = descr.getCommon().getPathToCommonApi(); final String commonApi = descr.getCommon().getCommonApi().replace('.', '/'); commonPathSet.add(pathTo + "/" + commonApi); rootElement.appendChild(commonPackagesElement); for (final MetadataDescriptor descr : metadata.getMetadataDescriptorList()) { if (descr.isGenerateCommonClasses() != null && !descr.isGenerateCommonClasses()) { final Element generateElement = doc.createElement("package"); generateElement.setAttribute("packageApi", descr.getPackageApi()); generateElement.setAttribute("generate", Boolean.toString(descr.isGenerateCommonClasses())); commonPackagesElement.appendChild(generateElement); final Element packageApi = doc.createElement("api"); final Attr packageApiName = doc.createAttribute("name"); packageApiName.setValue(descriptor.getPackageApi()); packageApi.setAttributeNode(packageApiName); schemaNameApi.setValue(descriptor.getSchemaName()); packageApi.setAttributeNode(schemaNameApi); generateClassApi.setValue(Boolean.toString(descriptor.isGenerateClasses())); packageApi.setAttributeNode(generateClassApi); if (descriptor.getPathToPackageInfoApi() != null) { final Attr pathToPackageInfoApi = doc.createAttribute("packageInfo"); pathToPackageInfoApi.setValue(descriptor.getPathToPackageInfoApi());
/** * Copies the optional packageInfo files into the packages. * @param path * @param metadata * @throws IOException */ public static void copyPackageInfo(final MetadataParserPath path, final Metadata metadata, final boolean verbose) throws IOException { for (final MetadataDescriptor descriptor : metadata.getMetadataDescriptorList()) { if (descriptor.getPathToPackageInfoApi() != null) { final File sourceFile = new File(descriptor.getPathToPackageInfoApi()); final String destDirectory = path.pathToApi + File.separatorChar + descriptor.getPackageApi().replace('.', '/'); deleteExistingPackageInfo(destDirectory, verbose); copy(sourceFile, destDirectory, verbose); } if (descriptor.getPathToPackageInfoImpl() != null) { final File sourceFile = new File(descriptor.getPathToPackageInfoImpl()); final String destDirectory = path.pathToImpl + File.separatorChar + descriptor.getPackageImpl().replace('.', '/'); deleteExistingPackageInfo(destDirectory, verbose); copy(sourceFile, destDirectory, verbose); } } }
private List<String> findCommonClasses(final Metadata metadata) { final List<String> classList = new ArrayList<String>(); for (MetadataDescriptor descr : metadata.getMetadataDescriptorList()) { if (descr.getCommon() != null) { traverseClasses(metadata, classList, descr.getRootElementType()); } else { if (descr.isGenerateClasses()) { final String packageApi = descr.getPackageApi(); for (MetadataItem item : metadata.getClassList()) { if (packageApi.equals(item.getPackageApi())) { final String type = item.getNamespace() + ":" + item.getName(); if (!classList.contains(type)) { classList.add(type); } } } } } } return classList; }