public void resolve(JavaExport javaExport, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException { if (javaExport.getPackage() != null) // Initialize the export resolver javaExport.setModelResolver(new JavaExportModelResolver(javaExport, resolver)); } }
public void write(JavaImport javaImport, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException { // Write <import.java> writer.writeStartElement(IMPORT_JAVA.getNamespaceURI(), IMPORT_JAVA.getLocalPart()); if (javaImport.getPackage() != null) { writer.writeAttribute(PACKAGE, javaImport.getPackage()); } if (javaImport.getLocation() != null) { writer.writeAttribute(LOCATION, javaImport.getLocation()); } writer.writeEndElement(); }
public void write(JavaExport javaExport, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException { // Write <export.java> writer.writeStartElement(EXPORT_JAVA.getNamespaceURI(), EXPORT_JAVA.getLocalPart()); if (javaExport.getPackage() != null) { writer.writeAttribute(PACKAGE, javaExport.getPackage()); } writer.writeEndElement(); }
JavaImport javaImport = this.factory.createJavaImport(); QName element = null; String packageName = reader.getAttributeValue(null, PACKAGE); if (packageName == null) { error(context.getMonitor(), "AttributePackageMissing", reader); javaImport.setPackage(packageName); String location = getURIString(reader, LOCATION); javaImport.setLocation(location); error(context.getMonitor(), "XMLStreamException", reader, ex);
public void configureMetaData(Contribution contribution) { if (contribution.getDeployables() != null) { for (Composite composite : contribution.getDeployables()) { getDeployables().add(composite.getURI()); } } if (contribution.getExports() != null) { for (Export export : contribution.getExports()) { // TODO: Handle these and others in a more extensible way if (export instanceof JavaExport) { getJavaExports().add(((JavaExport)export).getPackage()); } else if (export instanceof NamespaceExport) { getNamespaceExports().add(((NamespaceExport)export).getNamespace()); } } } if (contribution.getImports() != null) { for (Import imprt : contribution.getImports()) { // TODO: Handle these and others in a more extensible way if (imprt instanceof JavaImport) { getJavaImports().add(((JavaImport)imprt).getPackage()); } else if (imprt instanceof NamespaceImport) { getNamespaceImports().add(((NamespaceImport)imprt).getNamespace()); } } } }
/** * Check if a class name matches an import statement. * Class matches if the package name used in <import.java/> matches * * @param name Name of class * @param import_ SCA contribution import * @return true if this is a matching import */ private boolean classNameMatchesImport(String name, Import import_) { if (import_ instanceof JavaImport && name != null && name.lastIndexOf('.') > 0) { JavaImport javaImport = (JavaImport) import_; String packageName = name.substring(0, name.lastIndexOf('.')); if (javaImport.getPackage().endsWith(".*")) { String prefix = javaImport.getPackage().substring(0, javaImport.getPackage().length() -1); if (packageName.startsWith(prefix)) { return true; } } else { return packageName.equals(javaImport.getPackage()); } } return false; }
JavaExport javaExport = this.factory.createJavaExport(); QName element = null; String packageName = reader.getAttributeValue(null, PACKAGE); if (packageName == null) { error(context.getMonitor(), "AttributePackageMissing", reader); javaExport.setPackage(packageName); error(context.getMonitor(), "XMLStreamException", reader, ex);
JavaImport javaImport = this.factory.createJavaImport(); QName element = null; String packageName = reader.getAttributeValue(null, PACKAGE); if (packageName == null) { error(context.getMonitor(), "AttributePackageMissing", reader); javaImport.setPackage(packageName); String location = getURIString(reader, LOCATION); javaImport.setLocation(location); error(context.getMonitor(), "XMLStreamException", reader, ex);
public void configureMetaData(Contribution contribution) { if (contribution.getDeployables() != null) { for (Composite composite : contribution.getDeployables()) { getDeployables().add(composite.getURI()); } } if (contribution.getExports() != null) { for (Export export : contribution.getExports()) { // TODO: Handle these and others in a more extensible way if (export instanceof JavaExport) { getJavaExports().add(((JavaExport)export).getPackage()); } else if (export instanceof NamespaceExport) { getNamespaceExports().add(((NamespaceExport)export).getNamespace()); } } } if (contribution.getImports() != null) { for (Import imprt : contribution.getImports()) { // TODO: Handle these and others in a more extensible way if (imprt instanceof JavaImport) { getJavaImports().add(((JavaImport)imprt).getPackage()); } else if (imprt instanceof NamespaceImport) { getNamespaceImports().add(((NamespaceImport)imprt).getNamespace()); } } } }
/** * Check if a class name matches an import statement. * Class matches if the package name used in <import.java/> matches * * @param name Name of class * @param import_ SCA contribution import * @return true if this is a matching import */ private boolean classNameMatchesImport(String name, Import import_) { if (import_ instanceof JavaImport && name != null && name.lastIndexOf('.') > 0) { JavaImport javaImport = (JavaImport) import_; String packageName = name.substring(0, name.lastIndexOf('.')); if (javaImport.getPackage().endsWith(".*")) { String prefix = javaImport.getPackage().substring(0, javaImport.getPackage().length() -1); if (packageName.startsWith(prefix)) { return true; } } else { return packageName.equals(javaImport.getPackage()); } } return false; }
public void resolve(JavaExport javaExport, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException { if (javaExport.getPackage() != null) // Initialize the export resolver javaExport.setModelResolver(new JavaExportModelResolver(javaExport, resolver)); } }
public void write(JavaImport javaImport, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException { // Write <import.java> writer.writeStartElement(IMPORT_JAVA.getNamespaceURI(), IMPORT_JAVA.getLocalPart()); if (javaImport.getPackage() != null) { writer.writeAttribute(PACKAGE, javaImport.getPackage()); } if (javaImport.getLocation() != null) { writer.writeAttribute(LOCATION, javaImport.getLocation()); } writer.writeEndElement(); }
JavaExport javaExport = this.factory.createJavaExport(); QName element = null; String packageName = reader.getAttributeValue(null, PACKAGE); if (packageName == null) { error(context.getMonitor(), "AttributePackageMissing", reader); javaExport.setPackage(packageName); error(context.getMonitor(), "XMLStreamException", reader, ex);
public void write(JavaExport javaExport, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException { // Write <export.java> writer.writeStartElement(EXPORT_JAVA.getNamespaceURI(), EXPORT_JAVA.getLocalPart()); if (javaExport.getPackage() != null) { writer.writeAttribute(PACKAGE, javaExport.getPackage()); } writer.writeEndElement(); }
JavaImport javaImport = (JavaImport) import_; if (javaImport.getPackage().endsWith(".*")) { String packageName = name.substring(0, name.lastIndexOf('/')).replace('/', '.'); String prefix = javaImport.getPackage().substring(0, javaImport.getPackage().length() -1); if (packageName.startsWith(prefix)) { return true; return packageName.equals(javaImport.getPackage().replaceAll("\\.", "/"));
/** * Match a JavaImport to a given JavaExport based on : * location is not provided * import and export packages match */ public boolean match(Export export) { if(export instanceof JavaExport) { JavaExport javaExport = (JavaExport)export; String exportedPackage = javaExport.getPackage(); if (packageName.equals(exportedPackage)) { return true; } else { if (packageName.endsWith(".*")) { String prefix = packageName.substring(0, packageName.length() - 1); if (exportedPackage.startsWith(prefix)) { return true; } } } } return false; }
JavaImport javaImport = (JavaImport) import_; if (javaImport.getPackage().endsWith(".*")) { String packageName = name.substring(0, name.lastIndexOf('/')).replace('/', '.'); String prefix = javaImport.getPackage().substring(0, javaImport.getPackage().length() -1); if (packageName.startsWith(prefix)) { return true; return packageName.equals(javaImport.getPackage().replaceAll("\\.", "/"));
/** * Match a JavaImport to a given JavaExport based on : * location is not provided * import and export packages match */ public boolean match(Export export) { if(export instanceof JavaExport) { JavaExport javaExport = (JavaExport)export; String exportedPackage = javaExport.getPackage(); if (packageName.equals(exportedPackage)) { return true; } else { if (packageName.endsWith(".*")) { String prefix = packageName.substring(0, packageName.length() - 1); if (exportedPackage.startsWith(prefix)) { return true; } } } } return false; }
public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) { if (!(unresolved instanceof ClassReference)) { return unresolved; } // Filter package name ClassReference classReference = (ClassReference)unresolved; String className = classReference.getClassName(); int d = className.lastIndexOf('.'); String packageName; if (d != -1) { packageName = className.substring(0, d); } else { packageName = ""; } if (export.getPackage().equals(packageName)) { // Package matches the exported package, delegate to the // contribution's resolver return resolver.resolveModel(modelClass, unresolved, context); } else { // Package is not exported, return the unresolved object return unresolved; } }
public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) { if (!(unresolved instanceof ClassReference)) { return unresolved; } // Filter package name ClassReference classReference = (ClassReference)unresolved; String className = classReference.getClassName(); int d = className.lastIndexOf('.'); String packageName; if (d != -1) { packageName = className.substring(0, d); } else { packageName = ""; } if (export.getPackage().equals(packageName)) { // Package matches the exported package, delegate to the // contribution's resolver return resolver.resolveModel(modelClass, unresolved, context); } else { // Package is not exported, return the unresolved object return unresolved; } }