Author: fmeschbe
Date: Wed Dec 5 13:36:57 2007
New Revision: 601539
URL: http://svn.apache.org/viewvc?rev=601539&view=rev
Log:
FELIX-430 Default inherit attribute to true
Default abstract attribute to true for abstract classes
and false for concrete classes
FELIX-429 Generate bind/unbind methods on the class which defines
reference, even if the component is abstract
Modified:
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java
Modified:
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java
URL:
http://svn.apache.org/viewvc/felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java?rev=601539&r1=601538&r2=601539&view=diff
==============================================================================
---
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java
(original)
+++
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java
Wed Dec 5 13:36:57 2007
@@ -239,7 +239,7 @@
final OCD ocd = this.doComponent(componentTag, component, metaData);
- boolean inherited = this.getBoolean(componentTag,
Constants.COMPONENT_INHERIT, false);
+ boolean inherited = this.getBoolean(componentTag,
Constants.COMPONENT_INHERIT, true);
this.doServices(description.getTagsByName(Constants.SERVICE,
inherited), component, description);
// collect properties and references from class tags and fields
@@ -349,7 +349,12 @@
// check if this is an abstract definition
final String abstractType =
tag.getNamedParameter(Constants.COMPONENT_ABSTRACT);
- component.setAbstract((abstractType == null ? false :
"yes".equalsIgnoreCase(abstractType) || "true".equalsIgnoreCase(abstractType)));
+ if (abstractType != null) {
+ component.setAbstract("yes".equalsIgnoreCase(abstractType) ||
"true".equalsIgnoreCase(abstractType));
+ } else {
+ // default true for abstract classes, false otherwise
+ component.setAbstract(tag.getJavaClassDescription().isAbstract());
+ }
// check if this is a definition to ignore
final String ds = tag.getNamedParameter(Constants.COMPONENT_DS);
@@ -633,8 +638,8 @@
}
// if this is a field with a single cardinality,
// we look for the bind/unbind methods
- // and create them if they are not availabe and the component is not
abstract
- if ( !component.isAbstract() && this.generateAccessors ) {
+ // and create them if they are not availabe
+ if ( this.generateAccessors ) {
if ( reference.getField() != null &&
component.getJavaClassDescription() instanceof ModifiableJavaClassDescription )
{
if ( ref.getCardinality().equals("0..1") ||
ref.getCardinality().equals("1..1") ) {
boolean createBind = false;