diff --git a/source/java/org/alfresco/repo/action/ActionTrackingServiceImpl.java b/source/java/org/alfresco/repo/action/ActionTrackingServiceImpl.java index db325c3ed3..33a391857d 100644 --- a/source/java/org/alfresco/repo/action/ActionTrackingServiceImpl.java +++ b/source/java/org/alfresco/repo/action/ActionTrackingServiceImpl.java @@ -18,6 +18,8 @@ */ package org.alfresco.repo.action; +import java.net.InetAddress; +import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Collection; import java.util.Date; @@ -409,16 +411,25 @@ public class ActionTrackingServiceImpl implements ActionTrackingService */ protected static ExecutionDetails buildExecutionDetails(Action action) { - // TODO Where are we? - String machine = "TODO"; + // Where are we running? + if(machineName == null) { + try { + InetAddress localhost = InetAddress.getLocalHost(); + machineName = localhost.getHostAddress() + " : " + + localhost.getHostName(); + } catch(UnknownHostException e) { + machineName = "(machine details unavailable - server IP not known)"; + } + } // Generate return new ExecutionDetails( buildExecutionSummary(action), - action.getNodeRef(), machine, + action.getNodeRef(), machineName, action.getExecutionStartDate(), false ); } + private static String machineName = null; /** * Turns a cache key back into its constituent diff --git a/source/java/org/alfresco/repo/action/ActionTrackingServiceImplTest.java b/source/java/org/alfresco/repo/action/ActionTrackingServiceImplTest.java index ac3649e60a..858b8d25a4 100644 --- a/source/java/org/alfresco/repo/action/ActionTrackingServiceImplTest.java +++ b/source/java/org/alfresco/repo/action/ActionTrackingServiceImplTest.java @@ -20,6 +20,7 @@ package org.alfresco.repo.action; import static org.alfresco.repo.action.ActionServiceImplTest.assertBefore; +import java.net.InetAddress; import java.util.Date; import javax.transaction.UserTransaction; @@ -171,7 +172,12 @@ public class ActionTrackingServiceImplTest extends TestCase assertEquals(null, d.getPersistedActionRef()); assertEquals(null, d.getStartedAt()); - // TODO Check machine details + // Check the machine details + // Should be "IP : Name" + InetAddress localhost = InetAddress.getLocalHost(); + String machineName = localhost.getHostAddress() + " : " + + localhost.getHostName(); + assertEquals(machineName, d.getRunningOn()); } /** Running an action gives it an execution ID */