[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