[jboss-cvs] JBossAS SVN: r66968 - in projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted: commandLineClient/src/main/config and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Nov 12 13:11:53 EST 2007


Author: newtonm
Date: 2007-11-12 13:11:52 -0500 (Mon, 12 Nov 2007)
New Revision: 66968

Modified:
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/auditAspect/src/main/java/org/jboss/example/aspect/AuditAspect.java
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/commandLineClient/src/main/config/aop-beans.xml
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/commandLineClient/src/main/java/org/jboss/example/client/Client.java
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/humanResourcesService/src/main/java/org/jboss/example/service/Employee.java
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/humanResourcesService/src/main/java/org/jboss/example/service/util/AgeBasedSalaryStrategy.java
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/humanResourcesService/src/main/java/org/jboss/example/service/util/LocationBasedSalaryStrategy.java
Log:
Finished auditAspect example.

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/auditAspect/src/main/java/org/jboss/example/aspect/AuditAspect.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/auditAspect/src/main/java/org/jboss/example/aspect/AuditAspect.java	2007-11-12 17:20:56 UTC (rev 66967)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/auditAspect/src/main/java/org/jboss/example/aspect/AuditAspect.java	2007-11-12 18:11:52 UTC (rev 66968)
@@ -1,7 +1,13 @@
 package org.jboss.example.aspect;
 
-import org.jboss.aop.joinpoint.Invocation;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.util.Calendar;
 
+import org.jboss.aop.joinpoint.ConstructorInvocation;
+import org.jboss.aop.joinpoint.MethodInvocation;
+
 /**
  * An auditing aspect to keep track of all invocations made to
  * methods on an object. A log file is used to store the audit
@@ -11,8 +17,61 @@
  */
 public class AuditAspect {
 
-	public Object audit(Invocation inv) throws Throwable {
-		System.out.println("Audit Aspect !!!");
-		return inv.invokeNext();
+	private String logDir;
+	private BufferedWriter out;
+	
+	public AuditAspect() {
+		logDir = System.getProperty("user.dir") + "/log";
+		
+		File directory = new File(logDir);
+		if (!directory.exists()) {
+			directory.mkdir();
+		}
 	}
+	
+	public Object audit(ConstructorInvocation inv) throws Throwable {
+		File auditLog = new File(logDir + "/" + createFilename());
+		auditLog.createNewFile();
+		out = new BufferedWriter(new FileWriter(auditLog));
+		return inv.invokeNext();		
+	}
+	
+	public Object audit(MethodInvocation inv) throws Throwable {		
+		String name = inv.getMethod().getName();
+		Object[] args = inv.getArguments();
+		Object retVal = inv.invokeNext();
+		
+		StringBuffer buffer = new StringBuffer();
+		for (int i=0; i < args.length; i++) {
+			if (i > 0) {
+				buffer.append(", ");
+			}
+			buffer.append(args[i].toString());
+		}
+		
+		if (out != null) {
+			out.write("Method: " + name);
+			if (buffer.length() > 0) {
+				out.write(" Args: " + buffer.toString());
+			}
+			if (retVal != null) {
+				 out.write(" Return: " + retVal.toString());
+			}
+			out.write("\n");
+			out.flush();
+		}
+		return retVal;
+	}
+	
+	private String createFilename() {
+		Calendar now = Calendar.getInstance();
+		String year = Integer.toString(now.get(Calendar.YEAR));
+		String month = Integer.toString(now.get(Calendar.MONTH));
+		String day = Integer.toString(now.get(Calendar.DAY_OF_MONTH));
+		String hour = Integer.toString(now.get(Calendar.HOUR_OF_DAY));
+		String min = Integer.toString(now.get(Calendar.MINUTE));
+		String sec = Integer.toString(now.get(Calendar.SECOND));
+		
+		return "auditLog-" + day + month + year + "-" + hour + min + sec;			
+	}
 }

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/commandLineClient/src/main/config/aop-beans.xml
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/commandLineClient/src/main/config/aop-beans.xml	2007-11-12 17:20:56 UTC (rev 66967)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/commandLineClient/src/main/config/aop-beans.xml	2007-11-12 18:11:52 UTC (rev 66968)
@@ -10,9 +10,10 @@
    
    <aop:aspect xmlns:aop="urn:jboss:aop-beans:1.0"
                name="AuditAspect" class="org.jboss.example.aspect.AuditAspect"
-               method="audit" pointcut="execution(public * org.jboss.example.service.HRManager->*(..))">
+               method="audit" pointcut="execution(public org.jboss.example.service.HRManager->new(..)) OR
+                                        execution(public * org.jboss.example.service.HRManager->*(..))">
    </aop:aspect>
-     
+
    <bean name="HRService" class="org.jboss.example.service.HRManager">
      <!-- <property name="hiringFreeze">true</property>    
      <property name="salaryStrategy"><inject bean="AgeBasedSalary"/></property> -->

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/commandLineClient/src/main/java/org/jboss/example/client/Client.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/commandLineClient/src/main/java/org/jboss/example/client/Client.java	2007-11-12 17:20:56 UTC (rev 66967)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/commandLineClient/src/main/java/org/jboss/example/client/Client.java	2007-11-12 18:11:52 UTC (rev 66968)
@@ -172,17 +172,14 @@
 			salaryStrategy = manager.getSalaryStrategy();		
 		}	
 		
-		String strategy = "Unknown";
-		if (salaryStrategy == null) { strategy = "None"; }
-		else if (salaryStrategy instanceof AgeBasedSalaryStrategy ) { strategy = "AgeBased"; }
-		else if (salaryStrategy instanceof LocationBasedSalaryStrategy ) { strategy = "LocationBased"; }
-		
 		StringBuffer buffer = new StringBuffer();
 		buffer.append("Total number of employees: " + totalEmployees);
 		buffer.append("\nHiring Freeze: " + hiringFreeze);	
-		buffer.append("\nSalary Strategy: " + strategy);
-		if (salaryStrategy != null) {
-			buffer.append(" - MinSalary: " + salaryStrategy.getMinSalary() + " MaxSalary: " + salaryStrategy.getMaxSalary());
+		buffer.append("\nSalary Strategy: ");
+		if (salaryStrategy == null) {
+			buffer.append("None");
+		} else {
+			buffer.append(salaryStrategy.toString());
 		}
 		return buffer.toString();
 	}

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/humanResourcesService/src/main/java/org/jboss/example/service/Employee.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/humanResourcesService/src/main/java/org/jboss/example/service/Employee.java	2007-11-12 17:20:56 UTC (rev 66967)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/humanResourcesService/src/main/java/org/jboss/example/service/Employee.java	2007-11-12 18:11:52 UTC (rev 66968)
@@ -84,7 +84,12 @@
 		StringBuffer buffer = new StringBuffer();
 		
 		buffer.append("(" + firstName + " " + lastName + ", ");
-		buffer.append(address + " - " + formatter.format(dateOfBirth) + ")");
+		buffer.append(address + " - ");
+		if (dateOfBirth == null) {
+			buffer.append("Birth date unknown" + ")");
+		} else {
+			buffer.append(formatter.format(dateOfBirth) + ")");
+		}
 		
 		return buffer.toString();
 	}

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/humanResourcesService/src/main/java/org/jboss/example/service/util/AgeBasedSalaryStrategy.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/humanResourcesService/src/main/java/org/jboss/example/service/util/AgeBasedSalaryStrategy.java	2007-11-12 17:20:56 UTC (rev 66967)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/humanResourcesService/src/main/java/org/jboss/example/service/util/AgeBasedSalaryStrategy.java	2007-11-12 18:11:52 UTC (rev 66968)
@@ -75,4 +75,9 @@
 	public void setMaxSalary(int maxSalary) {
 		this.maxSalary = maxSalary;
 	}
+	
+	@Override
+	public String toString() {
+		return "AgeBased - MinSalary: " + minSalary + " MaxSalary: " + maxSalary;
+	}
 }

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/humanResourcesService/src/main/java/org/jboss/example/service/util/LocationBasedSalaryStrategy.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/humanResourcesService/src/main/java/org/jboss/example/service/util/LocationBasedSalaryStrategy.java	2007-11-12 17:20:56 UTC (rev 66967)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/humanResourcesService/src/main/java/org/jboss/example/service/util/LocationBasedSalaryStrategy.java	2007-11-12 18:11:52 UTC (rev 66968)
@@ -57,4 +57,9 @@
 	public void setMaxSalary(int maxSalary) {
 		this.maxSalary = maxSalary;
 	}
+	
+	@Override
+	public String toString() {
+		return "LocationBased - MinSalary: " + minSalary + " MaxSalary: " + maxSalary;
+	}
 }




More information about the jboss-cvs-commits mailing list