Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Aspect generated property naming convention.

Hi all,

We have 2 maven projects (A and B).

A declare some class as a,b,c
We use aspect to inject private properties as

interface i{
}

declare parents: a,b,c implements i;

@annotation
I.p1;

The following illustration is with the same aspect.

Sometimes the names of the properties are :
a.p1 b.p1 c.p1
Sometimes the names of the properties are :
a.ajc$interField$package_aspect$package_aspect$aspect$a

In eclipse when project A is open, the names are a.p1 b.p1 c.p1 in the
point of view B dependencies.
if I close A, names in my dependancies tree are
a.ajc$interField$package_aspect$package_aspect$aspect$p1.

How can I always use a.p1 b.p1 c.p1 form ?

I saw on internet that private properties can change her real name after
aspect compilation, but are there a way to force naming convention ?
In the maven pluggin, I don't see any option about that.
If naming conflicts force the ajc compiler to change naming convention,
how could I see the property cause ?
When the ajc changes the naming strategy ?
Sometime maven (mvn clean install) generate simple name and sometime no.
Have you an idea about some option or parameter we must check for ?

My aspectJ maven compilation configuration for A is :
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>aspectj-maven-plugin</artifactId>
        <version>1.4</version>
        <executions>
          <execution>
            <phase>process-sources</phase>
            <goals>
              <goal>compile</goal>
              <goal>test-compile</goal>
            </goals>
            <configuration>
              <outxml>true</outxml>
              <preserveAllLocals>true</preserveAllLocals>
              <repeat>2</repeat>
              <aspectLibraries>
                <aspectLibrary>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-aspects</artifactId>
                </aspectLibrary>
              </aspectLibraries>
              <source>1.6</source>
              <target>1.6</target>
              <complianceLevel>1.6</complianceLevel>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.6.11</version>
            <scope>compile</scope>
          </dependency>
          <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>1.6.11</version>
            <scope>compile</scope>
          </dependency>
        </dependencies>
        <configuration>
          <outxml>true</outxml>
          <preserveAllLocals>true</preserveAllLocals>
          <repeat>2</repeat>
          <aspectLibraries>
            <aspectLibrary>
              <groupId>org.springframework</groupId>
              <artifactId>spring-aspects</artifactId>
            </aspectLibrary>
          </aspectLibraries>
          <source>1.6</source>
          <target>1.6</target>
          <complianceLevel>1.6</complianceLevel>
        </configuration>
    </plugin>
      <plugin>
        <artifactId>maven-eclipse-plugin</artifactId>
        <version>2.7</version>
        <configuration>
          <downloadSources>true</downloadSources>
          <downloadJavadocs>false</downloadJavadocs>
          <wtpversion>2.0</wtpversion>
          <additionalBuildcommands>
            <buildCommand>
              <name>org.eclipse.ajdt.core.ajbuilder</name>
              <arguments>
                <aspectPath>org.springframework.aspects</aspectPath>
              </arguments>
            </buildCommand>
            <buildCommand>
             
<name>org.springframework.ide.eclipse.core.springbuilder</name>
            </buildCommand>
          </additionalBuildcommands>
          <additionalProjectnatures>
            <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature>
           
<projectnature>com.springsource.sts.roo.core.nature</projectnature>
           
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
          </additionalProjectnatures>
        </configuration>
      </plugin>

Thanks.
begin:vcard
fn:Jean-Jacques Peyronel
n:Peyronel;Jean-Jacques
org:TOWA France;Informatique
adr:Ch de la bastide blanche;;Parc GVIO Bat A5;Vitrolles;;13127;France
email;internet:jjpeyronel@xxxxxxxxxxxxxx
title;quoted-printable:D=C3=A9veloppeur
tel;work:04 42 34 01 37
tel;fax:04 42 34 01 45
url:http://www.towa-france.fr
version:2.1
end:vcard

Attachment: signature.asc
Description: OpenPGP digital signature


Back to the top