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/08/31 09:47:58 UTC
svn commit: r1379338 - in
/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin:
./ helper/ om/metatype/ xml/
Author: cziegeler
Date: Fri Aug 31 07:47:57 2012
New Revision: 1379338
URL: http://svn.apache.org/viewvc?rev=1379338&view=rev
Log:
FELIX-3641 : Option to generate separate descriptor files
Added:
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeAttributeDefinition.java
- copied, changed from r1372268, felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/metatype/AttributeDefinition.java
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeContainer.java
- copied, changed from r1372268, felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/metatype/OCD.java
Removed:
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/metatype/AttributeDefinition.java
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/metatype/Designate.java
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/metatype/OCD.java
Modified:
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/SCRDescriptorGenerator.java
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/ComponentContainer.java
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/MetaTypeIO.java
Modified: felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/SCRDescriptorGenerator.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/SCRDescriptorGenerator.java?rev=1379338&r1=1379337&r2=1379338&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/SCRDescriptorGenerator.java (original)
+++ felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/SCRDescriptorGenerator.java Fri Aug 31 07:47:57 2012
@@ -42,11 +42,10 @@ import org.apache.felix.scrplugin.helper
import org.apache.felix.scrplugin.helper.ComponentContainer;
import org.apache.felix.scrplugin.helper.DescriptionContainer;
import org.apache.felix.scrplugin.helper.IssueLog;
+import org.apache.felix.scrplugin.helper.MetatypeAttributeDefinition;
+import org.apache.felix.scrplugin.helper.MetatypeContainer;
import org.apache.felix.scrplugin.helper.StringUtils;
import org.apache.felix.scrplugin.helper.Validator;
-import org.apache.felix.scrplugin.om.metatype.AttributeDefinition;
-import org.apache.felix.scrplugin.om.metatype.Designate;
-import org.apache.felix.scrplugin.om.metatype.OCD;
import org.apache.felix.scrplugin.xml.ComponentDescriptorIO;
import org.apache.felix.scrplugin.xml.MetaTypeIO;
import org.osgi.service.cm.ConfigurationAdmin;
@@ -289,11 +288,11 @@ public class SCRDescriptorGenerator {
final ComponentContainer container = new ComponentContainer(desc, componentDesc);
// Create metatype (if required)
- final OCD ocd;
+ final MetatypeContainer ocd;
if ( !componentDesc.isAbstract() && componentDesc.isCreateMetatype() ) {
// OCD
- ocd = new OCD();
- container.setOCD( ocd );
+ ocd = new MetatypeContainer();
+ container.setMetatypeContainer( ocd );
ocd.setId( componentDesc.getName() );
if ( componentDesc.getLabel() != null ) {
ocd.setName( componentDesc.getLabel() );
@@ -306,15 +305,10 @@ public class SCRDescriptorGenerator {
ocd.setDescription( "%" + componentDesc.getName() + ".description");
}
- // Designate
- final Designate designate = new Designate();
- container.setDesignate( designate );
- designate.setPid( componentDesc.getName() );
-
// Factory pid
if ( componentDesc.isSetMetatypeFactoryPid() ) {
if ( componentDesc.getFactory() == null ) {
- designate.setFactoryPid( componentDesc.getName() );
+ ocd.setFactoryPid( componentDesc.getName() );
} else {
iLog.addWarning( "Component factory " + componentDesc.getName()
+ " should not set metatype factory pid.", desc.getSource() );
@@ -424,7 +418,7 @@ public class SCRDescriptorGenerator {
private void processProperties(
final ClassDescription current,
final ComponentContainer component,
- final OCD ocd) {
+ final MetatypeContainer ocd) {
for(final PropertyDescription pd : current.getDescriptions(PropertyDescription.class)) {
if ( this.testProperty(current, component.getProperties(), pd, current == component.getClassDescription()) && ocd != null) {
@@ -448,7 +442,7 @@ public class SCRDescriptorGenerator {
}
}
if ( !isPrivate ) {
- final AttributeDefinition ad = new AttributeDefinition();
+ final MetatypeAttributeDefinition ad = new MetatypeAttributeDefinition();
ocd.getProperties().add(ad);
ad.setId(pd.getName());
ad.setType(pd.getType().name());
Modified: felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/ComponentContainer.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/ComponentContainer.java?rev=1379338&r1=1379337&r2=1379338&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/ComponentContainer.java (original)
+++ felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/ComponentContainer.java Fri Aug 31 07:47:57 2012
@@ -26,8 +26,6 @@ import org.apache.felix.scrplugin.descri
import org.apache.felix.scrplugin.description.PropertyDescription;
import org.apache.felix.scrplugin.description.ReferenceDescription;
import org.apache.felix.scrplugin.description.ServiceDescription;
-import org.apache.felix.scrplugin.om.metatype.Designate;
-import org.apache.felix.scrplugin.om.metatype.OCD;
/**
@@ -56,11 +54,8 @@ public class ComponentContainer {
/** All properties. */
private final Map<String, PropertyDescription> allProperties = new LinkedHashMap<String, PropertyDescription>();
- /** Metatype: OCD. */
- private OCD ocd;
-
- /** Metatype: Designate. */
- private Designate designate;
+ /** Metatype container. */
+ private MetatypeContainer metatype;
/**
* Create a new component container
@@ -132,19 +127,11 @@ public class ComponentContainer {
+ allProperties + "]";
}
- public OCD getOCD() {
- return ocd;
- }
-
- public void setOCD(final OCD ocd) {
- this.ocd = ocd;
- }
-
- public Designate getDesignate() {
- return designate;
+ public MetatypeContainer getMetatypeContainer() {
+ return this.metatype;
}
- public void setDesignate(final Designate designate) {
- this.designate = designate;
+ public void setMetatypeContainer(final MetatypeContainer ocd) {
+ this.metatype = ocd;
}
}
Copied: felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeAttributeDefinition.java (from r1372268, felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/metatype/AttributeDefinition.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeAttributeDefinition.java?p2=felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeAttributeDefinition.java&p1=felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/metatype/AttributeDefinition.java&r1=1372268&r2=1379338&rev=1379338&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/metatype/AttributeDefinition.java (original)
+++ felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeAttributeDefinition.java Fri Aug 31 07:47:57 2012
@@ -16,29 +16,29 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.felix.scrplugin.om.metatype;
+package org.apache.felix.scrplugin.helper;
import java.util.Map;
-public class AttributeDefinition {
+public class MetatypeAttributeDefinition {
- public static final String DEFAULT_TYPE = "String";
+ private static final String DEFAULT_TYPE = "String";
- protected String id;
+ private String id;
- protected String type = DEFAULT_TYPE;
+ private String type = DEFAULT_TYPE;
- protected String defaultValue;
+ private String defaultValue;
- protected String name;
+ private String name;
- protected String[] defaultMultiValue;
+ private String[] defaultMultiValue;
- protected String description;
+ private String description;
- protected Integer cardinality;
+ private Integer cardinality;
- protected Map<String, String> options;
+ private Map<String, String> options;
public String getId() {
return this.id;
Copied: felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeContainer.java (from r1372268, felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/metatype/OCD.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeContainer.java?p2=felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeContainer.java&p1=felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/metatype/OCD.java&r1=1372268&r2=1379338&rev=1379338&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/om/metatype/OCD.java (original)
+++ felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeContainer.java Fri Aug 31 07:47:57 2012
@@ -16,20 +16,22 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.felix.scrplugin.om.metatype;
+package org.apache.felix.scrplugin.helper;
import java.util.ArrayList;
import java.util.List;
-public class OCD {
+public class MetatypeContainer {
- protected String id;
+ private String id;
- protected String name;
+ private String name;
- protected String description;
+ private String description;
- protected List<AttributeDefinition> properties = new ArrayList<AttributeDefinition>();
+ private String factoryPid;
+
+ private final List<MetatypeAttributeDefinition> properties = new ArrayList<MetatypeAttributeDefinition>();
public String getId() {
return this.id;
@@ -55,11 +57,15 @@ public class OCD {
this.description = description;
}
- public List<AttributeDefinition> getProperties() {
+ public List<MetatypeAttributeDefinition> getProperties() {
return this.properties;
}
- public void setProperties(List<AttributeDefinition> properties) {
- this.properties = properties;
+ public String getFactoryPid() {
+ return this.factoryPid;
+ }
+
+ public void setFactoryPid(String pid) {
+ this.factoryPid = pid;
}
}
Modified: felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/MetaTypeIO.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/MetaTypeIO.java?rev=1379338&r1=1379337&r2=1379338&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/MetaTypeIO.java (original)
+++ felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/MetaTypeIO.java Fri Aug 31 07:47:57 2012
@@ -29,10 +29,9 @@ import org.apache.felix.scrplugin.Option
import org.apache.felix.scrplugin.SCRDescriptorException;
import org.apache.felix.scrplugin.helper.ComponentContainer;
import org.apache.felix.scrplugin.helper.DescriptionContainer;
+import org.apache.felix.scrplugin.helper.MetatypeAttributeDefinition;
+import org.apache.felix.scrplugin.helper.MetatypeContainer;
import org.apache.felix.scrplugin.helper.StringUtils;
-import org.apache.felix.scrplugin.om.metatype.AttributeDefinition;
-import org.apache.felix.scrplugin.om.metatype.Designate;
-import org.apache.felix.scrplugin.om.metatype.OCD;
import org.osgi.service.metatype.MetaTypeService;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
@@ -77,7 +76,7 @@ public class MetaTypeIO {
throws SCRDescriptorException {
int metatypeCount = 0;
for(final ComponentContainer component : module.getComponents()) {
- if ( component.getOCD() != null ) {
+ if ( component.getMetatypeContainer() != null ) {
metatypeCount++;
}
}
@@ -134,9 +133,9 @@ public class MetaTypeIO {
IOUtils.newline(contentHandler);
for(final ComponentContainer comp : metaData.getComponents()) {
- if ( comp.getOCD() != null ) {
- generateXML(comp.getOCD(), contentHandler);
- generateXML(comp.getDesignate(), contentHandler);
+ if ( comp.getMetatypeContainer() != null ) {
+ generateOCDXML(comp.getMetatypeContainer(), contentHandler);
+ generateDesignateXML(comp.getMetatypeContainer(), contentHandler);
}
}
@@ -147,7 +146,7 @@ public class MetaTypeIO {
contentHandler.endDocument();
}
- private static void generateXML(OCD ocd, ContentHandler contentHandler)
+ private static void generateOCDXML(final MetatypeContainer ocd, final ContentHandler contentHandler)
throws SAXException {
final AttributesImpl ai = new AttributesImpl();
IOUtils.addAttribute(ai, "id", ocd.getId());
@@ -158,10 +157,10 @@ public class MetaTypeIO {
if ( ocd.getProperties().size() > 0 ) {
IOUtils.newline(contentHandler);
- final Iterator<AttributeDefinition> i = ocd.getProperties().iterator();
+ final Iterator<MetatypeAttributeDefinition> i = ocd.getProperties().iterator();
while ( i.hasNext() ) {
- final AttributeDefinition ad = i.next();
- generateXML(ad, contentHandler);
+ final MetatypeAttributeDefinition ad = i.next();
+ generateAttributeXML(ad, contentHandler);
}
IOUtils.indent(contentHandler, 1);
}
@@ -170,7 +169,7 @@ public class MetaTypeIO {
IOUtils.newline(contentHandler);
}
- private static void generateXML(AttributeDefinition ad, ContentHandler contentHandler)
+ private static void generateAttributeXML(final MetatypeAttributeDefinition ad, final ContentHandler contentHandler)
throws SAXException {
final AttributesImpl ai = new AttributesImpl();
IOUtils.addAttribute(ai, "id", ad.getId());
@@ -212,10 +211,10 @@ public class MetaTypeIO {
IOUtils.newline(contentHandler);
}
- private static void generateXML(final Designate designate, final ContentHandler contentHandler)
+ private static void generateDesignateXML(final MetatypeContainer designate, final ContentHandler contentHandler)
throws SAXException {
final AttributesImpl ai = new AttributesImpl();
- IOUtils.addAttribute(ai, "pid", designate.getPid());
+ IOUtils.addAttribute(ai, "pid", designate.getId());
IOUtils.addAttribute(ai, "factoryPid", designate.getFactoryPid());
IOUtils.indent(contentHandler, 1);
contentHandler.startElement(INNER_NAMESPACE_URI, DESIGNATE_ELEMENT, DESIGNATE_ELEMENT_QNAME, ai);
@@ -228,10 +227,10 @@ public class MetaTypeIO {
IOUtils.newline(contentHandler);
}
- private static void generateObjectXML(final Designate obj, final ContentHandler contentHandler)
+ private static void generateObjectXML(final MetatypeContainer obj, final ContentHandler contentHandler)
throws SAXException {
final AttributesImpl ai = new AttributesImpl();
- IOUtils.addAttribute(ai, "ocdref", obj.getPid());
+ IOUtils.addAttribute(ai, "ocdref", obj.getId());
IOUtils.indent(contentHandler, 2);
contentHandler.startElement(INNER_NAMESPACE_URI, OBJECT_ELEMENT, OBJECT_ELEMENT_QNAME, ai);
contentHandler.endElement(INNER_NAMESPACE_URI, OBJECT_ELEMENT, OBJECT_ELEMENT_QNAME);