Announcement

Collapse
No announcement yet.

Logging mit AspectJ in Eclipse

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Logging mit AspectJ in Eclipse

    Hallo,

    ich arbeite mich gerade in das Thema Aspektorientierung ein. Die Theorie ist soweit klar, aber mein Projekt will einfach nicht laufen, weil ich den Pointcut nicht richtig implementiert bekomme.

    Mein Projekt besteht aus einer Klasse Mitarbeiter, einer ausführenden Klasse Mitarbeiterverwaltung und dem Aspekt. Der Aspekt soll jede Änderung die an einem Objekt Mitarbeiter vorgenommen wird Loggen.
    Vielleicht kann mir ja hier jemand helfen.

    Code:

    Mitarbeiter
    package de.eufh.wi09;

    public class Mitarbeiter {

    private String name;
    private String vorname;
    private int gehalt;
    private String abteilung;

    public Mitarbeiter(String n, String v, int g, String a) {
    this.name = n;
    this.vorname = v;
    this.gehalt = g;
    this.abteilung = a;
    }

    public void MitarbeiterGehaltErhoehen(int Erhoehung) {
    this.gehalt = gehalt + Erhoehung;
    }

    public void MitarbeiterAbteilungWechseln(String NeueAbteilung)
    {
    this.abteilung = NeueAbteilung;
    }

    }




    Mitarbeiterverwaltung

    package de.eufh.wi09;


    public class Mitarbeiterverwaltung {

    public static void main (String [] args)
    {

    // Instanziierung eines Objektes
    Mitarbeiter aKowollik = new Mitarbeiter ("Kowollik","Anna",200000,"CEO");

    // Anwendung der Methode GehaltErhoehen
    aKowollik.GehaltErhoehen(50000);

    // Anwendung der Methode AbteilungWechseln
    aKowollik.AbteilungWechseln("Process Management");
    }

    }





    package de.eufh.wi09;

    public aspect Logging {

    pointcut Log () : call (void GehaltErhoehen(..))
    && call (void AbteilungWechseln(..));


    before (): Log ()
    {
    System.out.println("Erstelle/ Bearbeite Text:");
    }

    after (): Log ()
    {
    System.out.println("Text wurde erstellt/ bearbeitet.");
    }
    }



    Der Aspekt spricht weder die richtigen Methoden an, noch Loggt er die Änderungen.
    Wie muss ich das implementieren?



    Viele Grüße,
    Anna
Working...
X