You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2012/05/22 08:04:18 UTC
svn commit: r1341309 [2/2] - in
/felix/sandbox/cziegeler/scrplugin/generator: ./
src/main/java/org/apache/felix/scrplugin/
src/main/java/org/apache/felix/scrplugin/helper/
src/main/java/org/apache/felix/scrplugin/om/
src/main/java/org/apache/felix/scrp...
Modified: felix/sandbox/cziegeler/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/Reference.java
URL: http://svn.apache.org/viewvc/felix/sandbox/cziegeler/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/Reference.java?rev=1341309&r1=1341308&r2=1341309&view=diff
==============================================================================
--- felix/sandbox/cziegeler/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/Reference.java (original)
+++ felix/sandbox/cziegeler/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/Reference.java Tue May 22 06:04:18 2012
@@ -25,7 +25,7 @@ import org.apache.felix.scrplugin.helper
/**
* <code>Reference.java</code>...
- *
+ *
*/
public class Reference extends AbstractObject {
@@ -45,14 +45,14 @@ public class Reference extends AbstractO
* Default constructor.
*/
public Reference() {
- this(null, null, -1);
+ this(null, null);
}
/**
* Constructor from java source.
*/
- public Reference(final String annotationName, final String sourceLocation, final int lineNumber) {
- super(annotationName, sourceLocation, lineNumber);
+ public Reference(final String annotationName, final String sourceLocation) {
+ super(annotationName, sourceLocation);
}
public String getName() {
@@ -119,14 +119,6 @@ public class Reference extends AbstractO
this.updated = updated;
}
- public boolean isChecked() {
- return checked;
- }
-
- public void setChecked(boolean checked) {
- this.checked = checked;
- }
-
/** @since 1.0.9 */
public String getStrategy() {
return strategy;
@@ -147,68 +139,66 @@ public class Reference extends AbstractO
* If errors occur a message is added to the issues list,
* warnings can be added to the warnings list.
*/
- public void validate(final Context context,
- final boolean componentIsAbstract)
- throws SCRDescriptorException {
- final int currentIssueCount = iLog.getNumberOfErrors();
-
+ public void validate(final Context context, final boolean componentIsAbstract) throws SCRDescriptorException {
+ final int currentIssueCount = context.getIssueLog().getNumberOfErrors();
+/*
// validate name
if (StringUtils.isEmpty(this.name)) {
- if ( specVersion < Constants.VERSION_1_1 ) {
- this.logError( iLog, "Reference has no name" );
+ if (specVersion < Constants.VERSION_1_1) {
+ this.logError(iLog, "Reference has no name");
}
}
// validate interface
if (StringUtils.isEmpty(this.interfacename)) {
- this.logError( iLog, "Missing interface name" );
+ this.logError(iLog, "Missing interface name");
}
// validate cardinality
if (this.cardinality == null) {
this.cardinality = "1..1";
- } else if (!"0..1".equals(this.cardinality) && !"1..1".equals(this.cardinality)
- && !"0..n".equals(this.cardinality) && !"1..n".equals(this.cardinality)) {
- this.logError( context.getIssueLog(), "Invalid Cardinality specification " + this.cardinality );
+ } else if (!"0..1".equals(this.cardinality) && !"1..1".equals(this.cardinality) && !"0..n".equals(this.cardinality)
+ && !"1..n".equals(this.cardinality)) {
+ this.logError(context.getIssueLog(), "Invalid Cardinality specification " + this.cardinality);
}
// validate policy
if (this.policy == null) {
this.policy = "static";
} else if (!"static".equals(this.policy) && !"dynamic".equals(this.policy)) {
- this.logError( context.getIssueLog(), "Invalid Policy specification " + this.policy );
+ this.logError(context.getIssueLog(), "Invalid Policy specification " + this.policy);
}
// validate strategy
if (this.strategy == null) {
this.strategy = Constants.REFERENCE_STRATEGY_EVENT;
} else if (!Constants.REFERENCE_STRATEGY_EVENT.equals(this.strategy)
- && !Constants.REFERENCE_STRATEGY_LOOKUP.equals(this.strategy)) {
- this.logError( iLog, "Invalid strategy type " + this.strategy );
+ && !Constants.REFERENCE_STRATEGY_LOOKUP.equals(this.strategy)) {
+ this.logError(iLog, "Invalid strategy type " + this.strategy);
}
// validate bind and unbind methods
if (!isLookupStrategy()) {
// set default values
- if ( this.bind == null ) {
+ if (this.bind == null) {
this.setBind("bind");
}
- if ( this.unbind == null ) {
+ if (this.unbind == null) {
this.setUnbind("unbind");
}
final String oldBind = this.bind;
final String oldUnbind = this.unbind;
this.bind = this.validateMethod(specVersion, this.bind, componentIsAbstract, iLog);
this.unbind = this.validateMethod(specVersion, this.unbind, componentIsAbstract, iLog);
- if ( context.getIssueLog().getNumberOfErrors() == currentIssueCount ) {
- if ( this.bind != null && this.unbind != null ) {
+ if (context.getIssueLog().getNumberOfErrors() == currentIssueCount) {
+ if (this.bind != null && this.unbind != null) {
// no errors, so we're checked
this.checked = true;
} else {
- if ( this.bind == null ) {
+ if (this.bind == null) {
this.bind = oldBind;
}
- if ( this.unbind == null ) {
+ if (this.unbind == null) {
this.unbind = oldUnbind;
}
}
@@ -219,55 +209,52 @@ public class Reference extends AbstractO
}
// validate updated method
- if ( this.updated != null ) {
- if ( specVersion < Constants.VERSION_1_1_FELIX ) {
- this.logError( iLog, "Updated method declaration requires namespace "
- + Constants.COMPONENT_DS_SPEC_VERSION_11_FELIX + " or newer" );
+ if (this.updated != null) {
+ if (specVersion < Constants.VERSION_1_1_FELIX) {
+ this.logError(iLog, "Updated method declaration requires namespace "
+ + Constants.COMPONENT_DS_SPEC_VERSION_11_FELIX + " or newer");
}
}
}
- protected String validateMethod(final int specVersion,
- final String methodName,
- final boolean componentIsAbstract,
- final IssueLog iLog)
- throws SCRDescriptorException {
+ protected String validateMethod(final int specVersion, final String methodName, final boolean componentIsAbstract,
+ final IssueLog iLog) throws SCRDescriptorException {
final JavaMethod method = this.findMethod(specVersion, methodName);
if (method == null) {
- if ( !componentIsAbstract ) {
- this.logError( iLog, "Missing method " + methodName + " for reference " + (this.getName() == null ? "" : this.getName()));
+ if (!componentIsAbstract) {
+ this.logError(iLog,
+ "Missing method " + methodName + " for reference "
+ + (this.getName() == null ? "" : this.getName()));
}
return null;
}
// method needs to be protected for 1.0
- if ( specVersion == Constants.VERSION_1_0 ) {
+ if (specVersion == Constants.VERSION_1_0) {
if (method.isPublic()) {
- this.logWarn( iLog, "Method " + method.getName() + " should be declared protected" );
+ this.logWarn(iLog, "Method " + method.getName() + " should be declared protected");
} else if (!method.isProtected()) {
- this.logError( iLog, "Method " + method.getName() + " has wrong qualifier, public or protected required" );
+ this.logError(iLog, "Method " + method.getName() + " has wrong qualifier, public or protected required");
return null;
}
}
- return method.getName();
+ return method.getName();*/
}
private static final String TYPE_SERVICE_REFERENCE = "org.osgi.framework.ServiceReference";
private static final String TYPE_MAP = "java.util.Map";
-
- public JavaMethod findMethod(final int specVersion,
- final String methodName)
- throws SCRDescriptorException {
- final String[] sig = new String[]{ TYPE_SERVICE_REFERENCE };
- final String[] sig2 = new String[]{ this.getInterfacename() };
- final String[] sig3 = new String[]{ this.getInterfacename(), TYPE_MAP};
+/*
+ public JavaMethod findMethod(final int specVersion, final String methodName) throws SCRDescriptorException {
+ final String[] sig = new String[] { TYPE_SERVICE_REFERENCE };
+ final String[] sig2 = new String[] { this.getInterfacename() };
+ final String[] sig3 = new String[] { this.getInterfacename(), TYPE_MAP };
// service interface or ServiceReference first
String realMethodName = methodName;
JavaMethod method = this.javaClassDescription.getMethodBySignature(realMethodName, sig);
if (method == null) {
method = this.javaClassDescription.getMethodBySignature(realMethodName, sig2);
- if ( specVersion >= Constants.VERSION_1_1 && method == null ) {
+ if (specVersion >= Constants.VERSION_1_1 && method == null) {
method = this.javaClassDescription.getMethodBySignature(realMethodName, sig3);
}
}
@@ -288,7 +275,7 @@ public class Reference extends AbstractO
}
if (method == null) {
method = this.javaClassDescription.getMethodBySignature(realMethodName, sig2);
- if ( specVersion >= Constants.VERSION_1_1 && method == null ) {
+ if (specVersion >= Constants.VERSION_1_1 && method == null) {
method = this.javaClassDescription.getMethodBySignature(realMethodName, sig3);
}
}
@@ -296,18 +283,17 @@ public class Reference extends AbstractO
// append type name with service interface and ServiceReference
if (method == null) {
int lastDot = this.getInterfacename().lastIndexOf('.');
- realMethodName = methodName
- + this.getInterfacename().substring(lastDot + 1);
+ realMethodName = methodName + this.getInterfacename().substring(lastDot + 1);
method = this.javaClassDescription.getMethodBySignature(realMethodName, sig);
}
if (method == null) {
method = this.javaClassDescription.getMethodBySignature(realMethodName, sig2);
- if ( specVersion >= Constants.VERSION_1_1 && method == null ) {
+ if (specVersion >= Constants.VERSION_1_1 && method == null) {
method = this.javaClassDescription.getMethodBySignature(realMethodName, sig3);
}
}
return method;
}
-
+*/
}
Modified: felix/sandbox/cziegeler/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/Service.java
URL: http://svn.apache.org/viewvc/felix/sandbox/cziegeler/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/Service.java?rev=1341309&r1=1341308&r2=1341309&view=diff
==============================================================================
--- felix/sandbox/cziegeler/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/Service.java (original)
+++ felix/sandbox/cziegeler/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/Service.java Tue May 22 06:04:18 2012
@@ -26,7 +26,7 @@ import org.apache.felix.scrplugin.SCRDes
/**
* <code>Service</code>
- *
+ *
* contains all service information of a component.
*/
public class Service {
@@ -47,7 +47,7 @@ public class Service {
/**
* Set the service factory flag.
*/
- public void setServicefactory(final boolean flag) {
+ public void setServiceFactory(final boolean flag) {
this.isServiceFactory = flag;
}
@@ -60,14 +60,16 @@ public class Service {
/**
* Search for an implemented interface.
- * @param name The name of the interface.
+ *
+ * @param name
+ * The name of the interface.
* @return The interface if it is implemented by this service or null.
*/
public Interface findInterface(final String name) {
final Iterator<Interface> i = this.getInterfaces().iterator();
- while ( i.hasNext() ) {
+ while (i.hasNext()) {
final Interface current = i.next();
- if ( current.getInterfaceName().equals(name) ) {
+ if (current.getInterfaceName().equals(name)) {
return current;
}
}
@@ -76,11 +78,13 @@ public class Service {
/**
* Add an interface to the list of interfaces.
- * @param interf The interface.
+ *
+ * @param interf
+ * The interface.
*/
public void addInterface(final Interface interf) {
// add interface only once
- if ( this.findInterface(interf.getInterfaceName()) == null ) {
+ if (this.findInterface(interf.getInterfaceName()) == null) {
this.interfaces.add(interf);
}
}
@@ -90,9 +94,8 @@ public class Service {
* If errors occur a message is added to the issues list,
* warnings can be added to the warnings list.
*/
- public void validate(final Context context)
- throws SCRDescriptorException {
- for(final Interface interf : this.getInterfaces()) {
+ public void validate(final Context context) throws SCRDescriptorException {
+ for (final Interface interf : this.getInterfaces()) {
interf.validate(context);
}
}
Modified: felix/sandbox/cziegeler/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/ComponentDescriptorIO.java
URL: http://svn.apache.org/viewvc/felix/sandbox/cziegeler/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/ComponentDescriptorIO.java?rev=1341309&r1=1341308&r2=1341309&view=diff
==============================================================================
--- felix/sandbox/cziegeler/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/ComponentDescriptorIO.java (original)
+++ felix/sandbox/cziegeler/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/ComponentDescriptorIO.java Tue May 22 06:04:18 2012
@@ -42,9 +42,9 @@ import org.xml.sax.helpers.DefaultHandle
/**
* <code>ComponentDescriptorIO</code>
- *
+ *
* is a helper class to read and write component descriptor files.
- *
+ *
*/
public class ComponentDescriptorIO {
@@ -116,27 +116,26 @@ public class ComponentDescriptorIO {
private static final String INTERFACE_QNAME = INTERFACE;
- public static Components read(InputStream file)
- throws SCRDescriptorException {
+ public static Components read(InputStream file) throws SCRDescriptorException {
try {
final XmlHandler xmlHandler = new XmlHandler();
IOUtils.parse(file, xmlHandler);
return xmlHandler.components;
} catch (TransformerException e) {
- throw new SCRDescriptorException( "Unable to read xml", "[stream]", 0, e );
+ throw new SCRDescriptorException("Unable to read xml", "[stream]", 0, e);
}
}
/**
* Write the component descriptors to the file.
+ *
* @param components
* @param file
* @throws SCRDescriptorException
*/
- public static void write(Components components, File file, boolean isScrPrivateFile)
- throws SCRDescriptorException {
+ public static void write(Components components, File file) throws SCRDescriptorException {
try {
- generateXML(components, IOUtils.getSerializer(file), isScrPrivateFile);
+ generateXML(components, IOUtils.getSerializer(file));
} catch (TransformerException e) {
throw new SCRDescriptorException("Unable to write xml", file.toString(), 0, e);
} catch (SAXException e) {
@@ -149,17 +148,17 @@ public class ComponentDescriptorIO {
/**
* Generate the xml top level element and start streaming
* the components.
+ *
* @param components
* @param contentHandler
* @throws SAXException
*/
- protected static void generateXML(Components components, ContentHandler contentHandler, boolean isScrPrivateFile)
- throws SAXException {
+ protected static void generateXML(Components components, ContentHandler contentHandler) throws SAXException {
// detect namespace to use
final String namespace;
- if ( components.getSpecVersion() == SpecVersion.VERSION_1_0 ) {
+ if (components.getSpecVersion() == SpecVersion.VERSION_1_0) {
namespace = NAMESPACE_URI_1_0;
- } else if ( components.getSpecVersion() == SpecVersion.VERSION_1_1 ) {
+ } else if (components.getSpecVersion() == SpecVersion.VERSION_1_1) {
namespace = NAMESPACE_URI_1_1;
} else {
namespace = NAMESPACE_URI_1_1_FELIX;
@@ -171,9 +170,9 @@ public class ComponentDescriptorIO {
contentHandler.startElement("", ComponentDescriptorIO.COMPONENTS, ComponentDescriptorIO.COMPONENTS, new AttributesImpl());
IOUtils.newline(contentHandler);
- for(final Component component : components.getComponents()) {
- if ( component.isDs() ) {
- generateXML(namespace, component, contentHandler, isScrPrivateFile);
+ for (final Component component : components.getComponents()) {
+ if (component.isDs()) {
+ generateXML(namespace, component, contentHandler);
}
}
// end wrapper element
@@ -185,23 +184,21 @@ public class ComponentDescriptorIO {
/**
* Write the xml for a {@link Component}.
+ *
* @param component
* @param contentHandler
* @throws SAXException
*/
- protected static void generateXML(final String namespace,
- final Component component,
- final ContentHandler contentHandler,
- final boolean isScrPrivateFile)
- throws SAXException {
+ protected static void generateXML(final String namespace, final Component component, final ContentHandler contentHandler)
+ throws SAXException {
final AttributesImpl ai = new AttributesImpl();
IOUtils.addAttribute(ai, COMPONENT_ATTR_ENABLED, component.isEnabled());
- IOUtils.addAttribute(ai, COMPONENT_ATTR_IMMEDIATE,component.isImmediate());
+ IOUtils.addAttribute(ai, COMPONENT_ATTR_IMMEDIATE, component.isImmediate());
IOUtils.addAttribute(ai, COMPONENT_ATTR_NAME, component.getName());
IOUtils.addAttribute(ai, COMPONENT_ATTR_FACTORY, component.getFactory());
// attributes new in 1.1
- if ( NAMESPACE_URI_1_1.equals( namespace ) || NAMESPACE_URI_1_1_FELIX.equals( namespace ) ) {
+ if (NAMESPACE_URI_1_1.equals(namespace) || NAMESPACE_URI_1_1_FELIX.equals(namespace)) {
IOUtils.addAttribute(ai, COMPONENT_ATTR_POLICY, component.getConfigurationPolicy());
IOUtils.addAttribute(ai, COMPONENT_ATTR_ACTIVATE, component.getActivate());
IOUtils.addAttribute(ai, COMPONENT_ATTR_DEACTIVATE, component.getDeactivate());
@@ -212,17 +209,17 @@ public class ComponentDescriptorIO {
contentHandler.startElement(namespace, ComponentDescriptorIO.COMPONENT, ComponentDescriptorIO.COMPONENT_QNAME, ai);
IOUtils.newline(contentHandler);
generateXML(component.getImplementation(), contentHandler);
- if ( component.getService() != null ) {
+ if (component.getService() != null) {
generateXML(component.getService(), contentHandler);
}
- if ( component.getProperties() != null ) {
- for(final Property property : component.getProperties()) {
- generateXML(property, contentHandler, isScrPrivateFile);
+ if (component.getProperties() != null) {
+ for (final Property property : component.getProperties()) {
+ generateXML(property, contentHandler);
}
}
- if ( component.getReferences() != null ) {
- for(final Reference reference : component.getReferences()) {
- generateXML(namespace, reference, contentHandler, isScrPrivateFile);
+ if (component.getReferences() != null) {
+ for (final Reference reference : component.getReferences()) {
+ generateXML(namespace, reference, contentHandler);
}
}
IOUtils.indent(contentHandler, 1);
@@ -232,35 +229,37 @@ public class ComponentDescriptorIO {
/**
* Write the xml for a {@link Implementation}.
+ *
* @param implementation
* @param contentHandler
* @throws SAXException
*/
- protected static void generateXML(Implementation implementation, ContentHandler contentHandler)
- throws SAXException {
+ protected static void generateXML(Implementation implementation, ContentHandler contentHandler) throws SAXException {
final AttributesImpl ai = new AttributesImpl();
- IOUtils.addAttribute(ai, "class", implementation.getClassame());
+ IOUtils.addAttribute(ai, "class", implementation.getClassName());
IOUtils.indent(contentHandler, 2);
- contentHandler.startElement(INNER_NAMESPACE_URI, ComponentDescriptorIO.IMPLEMENTATION, ComponentDescriptorIO.IMPLEMENTATION_QNAME, ai);
- contentHandler.endElement(INNER_NAMESPACE_URI, ComponentDescriptorIO.IMPLEMENTATION, ComponentDescriptorIO.IMPLEMENTATION_QNAME);
+ contentHandler.startElement(INNER_NAMESPACE_URI, ComponentDescriptorIO.IMPLEMENTATION,
+ ComponentDescriptorIO.IMPLEMENTATION_QNAME, ai);
+ contentHandler.endElement(INNER_NAMESPACE_URI, ComponentDescriptorIO.IMPLEMENTATION,
+ ComponentDescriptorIO.IMPLEMENTATION_QNAME);
IOUtils.newline(contentHandler);
}
/**
* Write the xml for a {@link Service}.
+ *
* @param service
* @param contentHandler
* @throws SAXException
*/
- protected static void generateXML(Service service, ContentHandler contentHandler)
- throws SAXException {
+ protected static void generateXML(Service service, ContentHandler contentHandler) throws SAXException {
final AttributesImpl ai = new AttributesImpl();
- IOUtils.addAttribute(ai, "servicefactory", String.valueOf(service.isServicefactory()));
+ IOUtils.addAttribute(ai, "servicefactory", String.valueOf(service.isServiceFactory()));
IOUtils.indent(contentHandler, 2);
contentHandler.startElement(INNER_NAMESPACE_URI, ComponentDescriptorIO.SERVICE, ComponentDescriptorIO.SERVICE_QNAME, ai);
- if ( service.getInterfaces() != null && service.getInterfaces().size() > 0 ) {
+ if (service.getInterfaces() != null && service.getInterfaces().size() > 0) {
IOUtils.newline(contentHandler);
- for(final Interface interf : service.getInterfaces()) {
+ for (final Interface interf : service.getInterfaces()) {
generateXML(interf, contentHandler);
}
IOUtils.indent(contentHandler, 2);
@@ -271,51 +270,40 @@ public class ComponentDescriptorIO {
/**
* Write the xml for a {@link Interface}.
+ *
* @param interf
* @param contentHandler
* @throws SAXException
*/
- protected static void generateXML(Interface interf, ContentHandler contentHandler)
- throws SAXException {
+ protected static void generateXML(Interface interf, ContentHandler contentHandler) throws SAXException {
final AttributesImpl ai = new AttributesImpl();
- IOUtils.addAttribute(ai, "interface", interf.getInterfacename());
+ IOUtils.addAttribute(ai, "interface", interf.getInterfaceName());
IOUtils.indent(contentHandler, 3);
- contentHandler.startElement(INNER_NAMESPACE_URI, ComponentDescriptorIO.INTERFACE, ComponentDescriptorIO.INTERFACE_QNAME, ai);
+ contentHandler.startElement(INNER_NAMESPACE_URI, ComponentDescriptorIO.INTERFACE, ComponentDescriptorIO.INTERFACE_QNAME,
+ ai);
contentHandler.endElement(INNER_NAMESPACE_URI, ComponentDescriptorIO.INTERFACE, ComponentDescriptorIO.INTERFACE_QNAME);
IOUtils.newline(contentHandler);
}
/**
* Write the xml for a {@link Property}.
+ *
* @param property
* @param contentHandler
* @throws SAXException
*/
- protected static void generateXML(Property property, ContentHandler contentHandler, boolean isScrPrivateFile)
- throws SAXException {
+ protected static void generateXML(Property property, ContentHandler contentHandler) throws SAXException {
final AttributesImpl ai = new AttributesImpl();
IOUtils.addAttribute(ai, "name", property.getName());
IOUtils.addAttribute(ai, "type", property.getType());
IOUtils.addAttribute(ai, "value", property.getValue());
- // we have to write more information if this is our scr private file
- if ( isScrPrivateFile ) {
- IOUtils.addAttribute(ai, "private", String.valueOf(property.isPrivate()));
- if ( property.getLabel() != null ) {
- IOUtils.addAttribute(ai, "label", String.valueOf(property.getLabel()));
- }
- if ( property.getDescription() != null ) {
- IOUtils.addAttribute(ai, "description", String.valueOf(property.getDescription()));
- }
- if ( property.getCardinality() != null ) {
- IOUtils.addAttribute(ai, "cardinality", String.valueOf(property.getCardinality()));
- }
- }
+
IOUtils.indent(contentHandler, 2);
contentHandler.startElement(INNER_NAMESPACE_URI, ComponentDescriptorIO.PROPERTY, ComponentDescriptorIO.PROPERTY_QNAME, ai);
- if ( property.getMultiValue() != null && property.getMultiValue().length > 0 ) {
+ if (property.getMultiValue() != null && property.getMultiValue().length > 0) {
// generate a new line first
IOUtils.text(contentHandler, "\n");
- for(int i=0; i<property.getMultiValue().length; i++) {
+ for (int i = 0; i < property.getMultiValue().length; i++) {
IOUtils.indent(contentHandler, 3);
IOUtils.text(contentHandler, property.getMultiValue()[i]);
IOUtils.newline(contentHandler);
@@ -328,12 +316,13 @@ public class ComponentDescriptorIO {
/**
* Write the xml for a {@link Reference}.
+ *
* @param reference
* @param contentHandler
* @throws SAXException
*/
- protected static void generateXML(final String namespace,Reference reference, ContentHandler contentHandler, boolean isScrPrivateFile)
- throws SAXException {
+ protected static void generateXML(final String namespace, Reference reference, ContentHandler contentHandler)
+ throws SAXException {
final AttributesImpl ai = new AttributesImpl();
IOUtils.addAttribute(ai, "name", reference.getName());
IOUtils.addAttribute(ai, "interface", reference.getInterfacename());
@@ -344,23 +333,20 @@ public class ComponentDescriptorIO {
IOUtils.addAttribute(ai, "unbind", reference.getUnbind());
// attributes new in 1.1-felix (FELIX-1893)
- if ( NAMESPACE_URI_1_1_FELIX.equals( namespace ) ) {
+ if (NAMESPACE_URI_1_1_FELIX.equals(namespace)) {
IOUtils.addAttribute(ai, "updated", reference.getUpdated());
}
- if ( isScrPrivateFile ) {
- IOUtils.addAttribute(ai, "checked", String.valueOf(reference.isChecked()));
- IOUtils.addAttribute(ai, "strategy", reference.getStrategy());
- }
IOUtils.indent(contentHandler, 2);
- contentHandler.startElement(INNER_NAMESPACE_URI, ComponentDescriptorIO.REFERENCE, ComponentDescriptorIO.REFERENCE_QNAME, ai);
+ contentHandler.startElement(INNER_NAMESPACE_URI, ComponentDescriptorIO.REFERENCE, ComponentDescriptorIO.REFERENCE_QNAME,
+ ai);
contentHandler.endElement(INNER_NAMESPACE_URI, ComponentDescriptorIO.REFERENCE, ComponentDescriptorIO.REFERENCE_QNAME);
IOUtils.newline(contentHandler);
}
/**
* A content handler for parsing the component descriptions.
- *
+ *
*/
protected static final class XmlHandler extends DefaultHandler {
@@ -385,38 +371,36 @@ public class ComponentDescriptorIO {
/** Override namespace. */
protected String overrideNamespace;
- public void startElement(String uri, String localName, String name, Attributes attributes)
- throws SAXException {
+ public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException {
// according to the spec, the elements should have the namespace,
// except when the root element is the "component" element
// So we check this for the first element, we receive.
- if ( this.firstElement ) {
+ if (this.firstElement) {
this.firstElement = false;
- if ( localName.equals(COMPONENT) && "".equals(uri) ) {
+ if (localName.equals(COMPONENT) && "".equals(uri)) {
this.overrideNamespace = NAMESPACE_URI_1_0;
}
}
- if ( this.overrideNamespace != null && "".equals(uri) ) {
+ if (this.overrideNamespace != null && "".equals(uri)) {
uri = this.overrideNamespace;
}
// however the spec also states that the inner elements
// of a component are unqualified, so they don't have
// the namespace - we allow both: with or without namespace!
- if ( this.isComponent && "".equals(uri) ) {
+ if (this.isComponent && "".equals(uri)) {
uri = NAMESPACE_URI_1_0;
}
// from here on, uri has the namespace regardless of the used xml format
- if ( NAMESPACE_URI_1_0.equals( uri ) || NAMESPACE_URI_1_1.equals( uri )
- || NAMESPACE_URI_1_1_FELIX.equals( uri ) ) {
+ if (NAMESPACE_URI_1_0.equals(uri) || NAMESPACE_URI_1_1.equals(uri) || NAMESPACE_URI_1_1_FELIX.equals(uri)) {
- if ( NAMESPACE_URI_1_0.equals(uri) ) {
+ if (NAMESPACE_URI_1_0.equals(uri)) {
components.setSpecVersion(SpecVersion.VERSION_1_0);
- } else if ( NAMESPACE_URI_1_1.equals(uri) ) {
+ } else if (NAMESPACE_URI_1_1.equals(uri)) {
components.setSpecVersion(SpecVersion.VERSION_1_1);
- } else if ( NAMESPACE_URI_1_1_FELIX.equals(uri) ) {
+ } else if (NAMESPACE_URI_1_1_FELIX.equals(uri)) {
components.setSpecVersion(SpecVersion.VERSION_1_1_FELIX);
}
@@ -439,7 +423,8 @@ public class ComponentDescriptorIO {
this.currentComponent.setFactory(attributes.getValue(COMPONENT_ATTR_FACTORY));
// check for version 1.1 attributes
- if ( components.getSpecVersion() == SpecVersion.VERSION_1_1 || components.getSpecVersion() == SpecVersion.VERSION_1_1_FELIX ) {
+ if (components.getSpecVersion() == SpecVersion.VERSION_1_1
+ || components.getSpecVersion() == SpecVersion.VERSION_1_1_FELIX) {
this.currentComponent.setConfigurationPolicy(attributes.getValue(COMPONENT_ATTR_POLICY));
this.currentComponent.setActivate(attributes.getValue(COMPONENT_ATTR_ACTIVATE));
this.currentComponent.setDeactivate(attributes.getValue(COMPONENT_ATTR_DEACTIVATE));
@@ -447,40 +432,34 @@ public class ComponentDescriptorIO {
}
} else if (localName.equals(IMPLEMENTATION)) {
// Set the implementation class name (mandatory)
- final Implementation impl = new Implementation();
+ final Implementation impl = new Implementation(attributes.getValue("class"));
this.currentComponent.setImplementation(impl);
- impl.setClassname(attributes.getValue("class"));
} else if (localName.equals(PROPERTY)) {
// read the property, unless it is the service.pid
// property which must not be inherited
- final String propName = attributes.getValue( "name" );
- if ( !org.osgi.framework.Constants.SERVICE_PID.equals( propName ) )
- {
+ final String propName = attributes.getValue("name");
+ if (!org.osgi.framework.Constants.SERVICE_PID.equals(propName)) {
final Property prop = new Property();
- prop.setName( propName );
- prop.setType( attributes.getValue( "type" ) );
+ prop.setName(propName);
+ prop.setType(attributes.getValue("type"));
- if ( attributes.getValue( "value" ) != null )
- {
- prop.setValue( attributes.getValue( "value" ) );
- this.currentComponent.addProperty( prop );
- }
- else
- {
+ if (attributes.getValue("value") != null) {
+ prop.setValue(attributes.getValue("value"));
+ this.currentComponent.addProperty(prop);
+ } else {
// hold the property pending as we have a multi value
this.pendingProperty = prop;
}
// check for abstract properties
- prop.setLabel( attributes.getValue( "label" ) );
- prop.setDescription( attributes.getValue( "description" ) );
- prop.setCardinality( attributes.getValue( "cardinality" ) );
- final String pValue = attributes.getValue( "private" );
- if ( pValue != null )
- {
- prop.setPrivate( Boolean.valueOf( pValue ).booleanValue() );
+ prop.setLabel(attributes.getValue("label"));
+ prop.setDescription(attributes.getValue("description"));
+ prop.setCardinality(attributes.getValue("cardinality"));
+ final String pValue = attributes.getValue("private");
+ if (pValue != null) {
+ prop.setPrivate(Boolean.valueOf(pValue).booleanValue());
}
}
@@ -492,14 +471,15 @@ public class ComponentDescriptorIO {
this.currentService = new Service();
- this.currentService.setServicefactory(attributes.getValue("servicefactory"));
-
+ if (attributes.getValue("servicefactory") != null) {
+ this.currentService.setServiceFactory(Boolean.valueOf(attributes.getValue("servicefactory")));
+ }
this.currentComponent.setService(this.currentService);
} else if (localName.equals(INTERFACE)) {
final Interface interf = new Interface();
this.currentService.addInterface(interf);
- interf.setInterfacename(attributes.getValue("interface"));
+ interf.setInterfaceName(attributes.getValue("interface"));
} else if (localName.equals(REFERENCE)) {
final Reference ref = new Reference();
@@ -512,10 +492,7 @@ public class ComponentDescriptorIO {
ref.setBind(attributes.getValue("bind"));
ref.setUnbind(attributes.getValue("unbind"));
- if ( attributes.getValue("checked") != null ) {
- ref.setChecked(Boolean.valueOf(attributes.getValue("checked")).booleanValue());
- }
- if ( attributes.getValue("strategy") != null ) {
+ if (attributes.getValue("strategy") != null) {
ref.setStrategy(attributes.getValue("strategy"));
}
@@ -528,29 +505,27 @@ public class ComponentDescriptorIO {
* @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
*/
public void endElement(String uri, String localName, String name) throws SAXException {
- if ( this.overrideNamespace != null && "".equals(uri) ) {
+ if (this.overrideNamespace != null && "".equals(uri)) {
uri = this.overrideNamespace;
}
- if ( this.isComponent && "".equals(uri) ) {
+ if (this.isComponent && "".equals(uri)) {
uri = NAMESPACE_URI_1_0;
}
- if ( NAMESPACE_URI_1_0.equals( uri ) || NAMESPACE_URI_1_1.equals( uri )
- || NAMESPACE_URI_1_1_FELIX.equals( uri ) )
- {
- if (localName.equals(COMPONENT) ) {
+ if (NAMESPACE_URI_1_0.equals(uri) || NAMESPACE_URI_1_1.equals(uri) || NAMESPACE_URI_1_1_FELIX.equals(uri)) {
+ if (localName.equals(COMPONENT)) {
this.components.addComponent(this.currentComponent);
this.currentComponent = null;
this.isComponent = false;
} else if (localName.equals(PROPERTY) && this.pendingProperty != null) {
// now split the value
final String text = this.pendingProperty.getValue();
- if ( text != null ) {
+ if (text != null) {
final StringTokenizer st = new StringTokenizer(text);
final String[] values = new String[st.countTokens()];
int index = 0;
- while ( st.hasMoreTokens() ) {
+ while (st.hasMoreTokens()) {
values[index] = st.nextToken();
index++;
}
@@ -566,9 +541,9 @@ public class ComponentDescriptorIO {
* @see org.xml.sax.helpers.DefaultHandler#characters(char[], int, int)
*/
public void characters(char[] ch, int start, int length) throws SAXException {
- if ( this.pendingProperty != null ) {
+ if (this.pendingProperty != null) {
final String text = new String(ch, start, length);
- if ( this.pendingProperty.getValue() == null ) {
+ if (this.pendingProperty.getValue() == null) {
this.pendingProperty.setValue(text);
} else {
this.pendingProperty.setValue(this.pendingProperty.getValue() + text);