Return-Path: Delivered-To: apmail-felix-commits-archive@www.apache.org Received: (qmail 98182 invoked from network); 5 Sep 2007 06:42:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 5 Sep 2007 06:42:44 -0000 Received: (qmail 10903 invoked by uid 500); 5 Sep 2007 06:42:38 -0000 Delivered-To: apmail-felix-commits-archive@felix.apache.org Received: (qmail 10842 invoked by uid 500); 5 Sep 2007 06:42:37 -0000 Mailing-List: contact commits-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list commits@felix.apache.org Received: (qmail 10833 invoked by uid 99); 5 Sep 2007 06:42:37 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Sep 2007 23:42:37 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Sep 2007 06:42:41 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 70C711A9832; Tue, 4 Sep 2007 23:42:21 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r572887 - in /felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin: SCRDescriptorMojo.java om/Reference.java Date: Wed, 05 Sep 2007 06:42:20 -0000 To: commits@felix.apache.org From: cziegeler@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20070905064221.70C711A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: cziegeler Date: Tue Sep 4 23:42:20 2007 New Revision: 572887 URL: http://svn.apache.org/viewvc?rev=572887&view=rev Log: Generate bind/unbind only if reference has single cardinality (either optional or required) Modified: felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/om/Reference.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=572887&r1=572886&r2=572887&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 Tue Sep 4 23:42:20 2007 @@ -514,7 +514,13 @@ ref.setName(name); ref.setInterfacename(type); ref.setCardinality(reference.getNamedParameter(Constants.REFERENCE_CARDINALITY)); + if ( ref.getCardinality() == null ) { + ref.setCardinality("1..1"); + } ref.setPolicy(reference.getNamedParameter(Constants.REFERENCE_POLICY)); + if ( ref.getPolicy() == null ) { + ref.setPolicy("static"); + } ref.setTarget(reference.getNamedParameter(Constants.REFERENCE_TARGET)); final String bindValue = reference.getNamedParameter(Constants.REFERENCE_BIND); if ( bindValue != null ) { @@ -524,23 +530,26 @@ if ( unbindValue != null ) { ref.setUnbind(unbindValue); } - // if this is a field we look for the bind/unbind methods + // 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 ) { if ( reference.getField() != null && component.getJavaClassDescription() instanceof ModifiableJavaClassDescription ) { - boolean createBind = false; - boolean createUnbind = false; - // Only create method if no bind name has been specified - if ( bindValue == null && ref.findMethod(ref.getBind()) == null ) { - // create bind method - createBind = true; - } - if ( unbindValue == null && ref.findMethod(ref.getUnbind()) == null ) { - // create unbind method - createUnbind = true; - } - if ( createBind || createUnbind ) { - ((ModifiableJavaClassDescription)component.getJavaClassDescription()).addMethods(name, type, createBind, createUnbind); + if ( ref.getCardinality().equals("0..1") || ref.getCardinality().equals("1..1") ) { + boolean createBind = false; + boolean createUnbind = false; + // Only create method if no bind name has been specified + if ( bindValue == null && ref.findMethod(ref.getBind()) == null ) { + // create bind method + createBind = true; + } + if ( unbindValue == null && ref.findMethod(ref.getUnbind()) == null ) { + // create unbind method + createUnbind = true; + } + if ( createBind || createUnbind ) { + ((ModifiableJavaClassDescription)component.getJavaClassDescription()).addMethods(name, type, createBind, createUnbind); + } } } } Modified: felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/om/Reference.java URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/om/Reference.java?rev=572887&r1=572886&r2=572887&view=diff ============================================================================== --- felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/om/Reference.java (original) +++ felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/om/Reference.java Tue Sep 4 23:42:20 2007 @@ -63,42 +63,55 @@ public String getName() { return this.name; } + public void setName(String name) { this.name = name; } + public String getInterfacename() { return this.interfacename; } + public void setInterfacename(String interfacename) { this.interfacename = interfacename; } + public String getTarget() { return this.target; } + public void setTarget(String target) { this.target = target; } + public String getCardinality() { return this.cardinality; } + public void setCardinality(String cardinality) { this.cardinality = cardinality; } + public String getPolicy() { return this.policy; } + public void setPolicy(String policy) { this.policy = policy; } + public String getBind() { return this.bind; } + public void setBind(String bind) { this.bind = bind; } + public String getUnbind() { return this.unbind; } + public void setUnbind(String unbind) { this.unbind = unbind; }