You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ace.apache.org by ma...@apache.org on 2012/03/16 17:03:13 UTC
svn commit: r1301607 - in /ace/trunk:
ace-log-servlet/src/main/java/org/apache/ace/server/log/servlet/
ace-log-servlet/src/test/java/org/apache/ace/server/log/servlet/
ace-log/src/test/java/org/apache/ace/log/
ace-managementagent/src/main/java/org/apac...
Author: marrs
Date: Fri Mar 16 16:03:13 2012
New Revision: 1301607
URL: http://svn.apache.org/viewvc?rev=1301607&view=rev
Log:
ACE-63 here we go again
Modified:
ace/trunk/ace-log-servlet/src/main/java/org/apache/ace/server/log/servlet/LogServlet.java
ace/trunk/ace-log-servlet/src/test/java/org/apache/ace/server/log/servlet/LogServletTest.java
ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogEventTest.java
ace/trunk/ace-managementagent/src/main/java/org/apache/ace/managementagent/Activator.java
ace/trunk/ace-server-log-store/src/main/java/org/apache/ace/server/log/store/impl/LogStoreImpl.java
Modified: ace/trunk/ace-log-servlet/src/main/java/org/apache/ace/server/log/servlet/LogServlet.java
URL: http://svn.apache.org/viewvc/ace/trunk/ace-log-servlet/src/main/java/org/apache/ace/server/log/servlet/LogServlet.java?rev=1301607&r1=1301606&r2=1301607&view=diff
==============================================================================
--- ace/trunk/ace-log-servlet/src/main/java/org/apache/ace/server/log/servlet/LogServlet.java (original)
+++ ace/trunk/ace-log-servlet/src/main/java/org/apache/ace/server/log/servlet/LogServlet.java Fri Mar 16 16:03:13 2012
@@ -43,15 +43,15 @@ import org.osgi.service.log.LogService;
*
* Querying existing audit log event id's:
* http://host:port/auditlog/query - Return all known event ranges
- * http://host:port/auditlog/query?gwid=myid&logid=123712636323 - Return the event range belonging to the specified gateway and log id
+ * http://host:port/auditlog/query?tid=myid&logid=123712636323 - Return the event range belonging to the specified target and log id
*
* Accepting new audit log events:
* http://host:port/auditlog/send - Gets a new log event and puts it in the store, the event is inside the request and should be a formatted as done in <code>LogEvent.toRepresentation()</code>.
*
* Querying existing audit log events:
* http://host:port/auditlog/receive - Return all known events
- * http://host:port/auditlog/receive?gwid=myid - Return all known events belonging to the specified gateway ID
- * http://host:port/auditlog/receive?gwid=myid&logid=2374623874 - Return all known events belonging to the specified gateway ID
+ * http://host:port/auditlog/receive?tid=myid - Return all known events belonging to the specified target ID
+ * http://host:port/auditlog/receive?tid=myid&logid=2374623874 - Return all known events belonging to the specified target ID
*
* If the request is not correctly formatted or other problems arise error code <code>HttpServletResponse.SC_NOT_FOUND</code> will be sent in the response.
*/
@@ -68,7 +68,7 @@ public class LogServlet extends HttpServ
private static final String RECEIVE = "/receive";
// url parameter keys
- private static final String GWID_KEY = "gwid";
+ private static final String TARGETID_KEY = "tid";
private static final String FILTER_KEY = "filter";
private static final String LOGID_KEY = "logid";
private static final String RANGE_KEY = "range";
@@ -102,21 +102,21 @@ public class LogServlet extends HttpServ
// 'query' and 'receive' calls are GET calls
String path = request.getPathInfo();
- String gatewayID = request.getParameter(GWID_KEY);
+ String targetID = request.getParameter(TARGETID_KEY);
String logID = request.getParameter(LOGID_KEY);
String filter = request.getParameter(FILTER_KEY);
String range = request.getParameter(RANGE_KEY);
- m_log.log(LogService.LOG_DEBUG, "Log servlet called: path(" + path + ") gatewayID(" + gatewayID + ") logID(" + logID + ") range( " + range + ") filter(" + filter +")");
+ m_log.log(LogService.LOG_DEBUG, "Log servlet called: path(" + path + ") targetID(" + targetID + ") logID(" + logID + ") range( " + range + ") filter(" + filter +")");
response.setContentType(TEXT_MIMETYPE);
ServletOutputStream output = null;
try {
output = response.getOutputStream();
- if (QUERY.equals(path) && !handleQuery(gatewayID, logID, filter, output)) {
+ if (QUERY.equals(path) && !handleQuery(targetID, logID, filter, output)) {
sendError(response, HttpServletResponse.SC_BAD_REQUEST, "Unable to interpret query");
}
- else if (RECEIVE.equals(path) && !handleReceive(gatewayID, logID, range, filter, output)) {
+ else if (RECEIVE.equals(path) && !handleReceive(targetID, logID, range, filter, output)) {
sendError(response, HttpServletResponse.SC_BAD_REQUEST, "Unable to interpret receive query");
}
}
@@ -136,15 +136,15 @@ public class LogServlet extends HttpServ
}
// Handle a call to the query 'command'
- protected boolean handleQuery(String gatewayID, String logID, String filter, ServletOutputStream output) throws IOException {
- if ((gatewayID != null) && (logID != null)) {
- // gateway and log id are specified, return only the range that matches these id's
- LogDescriptor range = m_store.getDescriptor(gatewayID, Long.parseLong(logID));
+ protected boolean handleQuery(String targetID, String logID, String filter, ServletOutputStream output) throws IOException {
+ if ((targetID != null) && (logID != null)) {
+ // target and log id are specified, return only the range that matches these id's
+ LogDescriptor range = m_store.getDescriptor(targetID, Long.parseLong(logID));
output.print(range.toRepresentation());
return true;
}
- else if ((gatewayID == null) && (logID == null)) {
- // no gateway or log id has been specified, return all ranges
+ else if ((targetID == null) && (logID == null)) {
+ // no target or log id has been specified, return all ranges
List<LogDescriptor> ranges = m_store.getDescriptors();
for (LogDescriptor range : ranges) {
output.print(range.toRepresentation() + "\n");
@@ -155,28 +155,28 @@ public class LogServlet extends HttpServ
}
// Handle a call to the receive 'command'
- protected boolean handleReceive(String gatewayID, String logID, String range, String filter, ServletOutputStream output) throws IOException {
- if ((gatewayID != null) && (logID != null)) {
- // gateway and log id are specified, return only the events that are in the range that matches these id's
+ protected boolean handleReceive(String targetID, String logID, String range, String filter, ServletOutputStream output) throws IOException {
+ if ((targetID != null) && (logID != null)) {
+ // target and log id are specified, return only the events that are in the range that matches these id's
if (range != null) {
- LogDescriptor storeDescriptor = m_store.getDescriptor(gatewayID, Long.parseLong(logID));
+ LogDescriptor storeDescriptor = m_store.getDescriptor(targetID, Long.parseLong(logID));
outputRange(output, new LogDescriptor(storeDescriptor.getTargetID(), storeDescriptor.getLogID(), new SortedRangeSet(range)));
}
else {
- outputRange(output, m_store.getDescriptor(gatewayID, Long.parseLong(logID)));
+ outputRange(output, m_store.getDescriptor(targetID, Long.parseLong(logID)));
}
return true;
}
- else if ((gatewayID != null) && (logID == null)) {
- // gateway id is specified, log id is not, return all events that belong to the specified gateway id
- List<LogDescriptor> descriptors = m_store.getDescriptors(gatewayID);
+ else if ((targetID != null) && (logID == null)) {
+ // target id is specified, log id is not, return all events that belong to the specified target id
+ List<LogDescriptor> descriptors = m_store.getDescriptors(targetID);
for (LogDescriptor descriptor : descriptors) {
outputRange(output, descriptor);
}
return true;
}
- else if ((gatewayID == null) && (logID == null)) {
- // no gateway or log id has been specified, return all events
+ else if ((targetID == null) && (logID == null)) {
+ // no target or log id has been specified, return all events
List<LogDescriptor> descriptors = m_store.getDescriptors();
for (LogDescriptor descriptor : descriptors) {
outputRange(output, descriptor);
Modified: ace/trunk/ace-log-servlet/src/test/java/org/apache/ace/server/log/servlet/LogServletTest.java
URL: http://svn.apache.org/viewvc/ace/trunk/ace-log-servlet/src/test/java/org/apache/ace/server/log/servlet/LogServletTest.java?rev=1301607&r1=1301606&r2=1301607&view=diff
==============================================================================
--- ace/trunk/ace-log-servlet/src/test/java/org/apache/ace/server/log/servlet/LogServletTest.java (original)
+++ ace/trunk/ace-log-servlet/src/test/java/org/apache/ace/server/log/servlet/LogServletTest.java Fri Mar 16 16:03:13 2012
@@ -42,9 +42,9 @@ import org.testng.annotations.Test;
public class LogServletTest {
private LogServlet m_logServlet;
- private LogDescriptor m_range = new LogDescriptor("gwID", 123, new SortedRangeSet("1-3"));
- private LogEvent m_event1 = new LogEvent("gwID", 123, 1, 888888, 1, new Properties());
- private LogEvent m_event2 = new LogEvent("gwID", 123, 2, 888888, 2, new Properties());
+ private LogDescriptor m_range = new LogDescriptor("tID", 123, new SortedRangeSet("1-3"));
+ private LogEvent m_event1 = new LogEvent("tID", 123, 1, 888888, 1, new Properties());
+ private LogEvent m_event2 = new LogEvent("tID", 123, 2, 888888, 2, new Properties());
private MockLogStore m_mockStore;
@BeforeMethod(alwaysRun = true)
@@ -116,7 +116,7 @@ public class LogServletTest {
}
return events;
}
- public List<LogDescriptor> getDescriptors(String gatewayID) {
+ public List<LogDescriptor> getDescriptors(String targetID) {
return null;
}
public List<LogDescriptor> getDescriptors() {
@@ -124,7 +124,7 @@ public class LogServletTest {
ranges.add(m_range);
return ranges;
}
- public LogDescriptor getDescriptor(String gatewayID, long logID) throws IOException {
+ public LogDescriptor getDescriptor(String targetID, long logID) throws IOException {
return m_range;
}
public void put(List<LogEvent> events) throws IOException {
Modified: ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogEventTest.java
URL: http://svn.apache.org/viewvc/ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogEventTest.java?rev=1301607&r1=1301606&r2=1301607&view=diff
==============================================================================
--- ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogEventTest.java (original)
+++ ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogEventTest.java Fri Mar 16 16:03:13 2012
@@ -42,7 +42,7 @@ public class LogEventTest {
@Test(groups = { UNIT })
public void deserializeLogEvent() {
LogEvent e = new LogEvent("gwid$kgwid$n$r$$,1,2,3," + AuditEvent.FRAMEWORK_STARTED + ",a,1,b,2,c,3");
- assert e.getTargetID().equals("gwid,gwid\n\r$") : "Gateway ID is not correctly parsed";
+ assert e.getTargetID().equals("gwid,gwid\n\r$") : "Target ID is not correctly parsed";
assert e.getLogID() == 1 : "Log ID is not correctly parsed";
assert e.getID() == 2 : "ID is not correctly parsed";
assert e.getTime() == 3 : "Time is not correctly parsed";
Modified: ace/trunk/ace-managementagent/src/main/java/org/apache/ace/managementagent/Activator.java
URL: http://svn.apache.org/viewvc/ace/trunk/ace-managementagent/src/main/java/org/apache/ace/managementagent/Activator.java?rev=1301607&r1=1301606&r2=1301607&view=diff
==============================================================================
--- ace/trunk/ace-managementagent/src/main/java/org/apache/ace/managementagent/Activator.java (original)
+++ ace/trunk/ace-managementagent/src/main/java/org/apache/ace/managementagent/Activator.java Fri Mar 16 16:03:13 2012
@@ -60,8 +60,8 @@ public class Activator extends Dependenc
public void start() {
try {
String syncInterval = System.getProperty("syncinterval", "2000");
- configureFactory("org.apache.ace.gateway.log.factory", "name", "auditlog");
- configureFactory("org.apache.ace.gateway.log.store.factory", "name", "auditlog");
+ configureFactory("org.apache.ace.target.log.factory", "name", "auditlog");
+ configureFactory("org.apache.ace.target.log.store.factory", "name", "auditlog");
configure("org.apache.ace.scheduler", "org.apache.ace.deployment.task.DeploymentUpdateTask", syncInterval);
String stopUnaffectedBundles = System.getProperty("org.apache.felix.deploymentadmin.stopunaffectedbundle", "false");
System.setProperty("org.apache.felix.deploymentadmin.stopunaffectedbundle", stopUnaffectedBundles);
@@ -84,12 +84,12 @@ public class Activator extends Dependenc
boolean isFileUrl = "file".equals((new URL(url)).getProtocol());
- configureFactory("org.apache.ace.identification.property.factory", "ma", ma, "gatewayID", id);
+ configureFactory("org.apache.ace.identification.property.factory", "ma", ma, "targetID", id);
configureFactory("org.apache.ace.discovery.property.factory", "ma", ma, "serverURL", url);
// if discovery points to the local filesystem, it's no use trying to sync the audit log
// to a server (we are keeping the local log in case someone wants to retrieve it)
if (!isFileUrl) {
- configureFactory("org.apache.ace.gateway.log.sync.factory", "ma", ma, "name", "auditlog");
+ configureFactory("org.apache.ace.target.log.sync.factory", "ma", ma, "name", "auditlog");
}
configureFactory("org.apache.ace.deployment.factory", "ma", ma);
configure("org.apache.ace.scheduler", "ma=" + ma + ";name=auditlog", syncInterval);
@@ -110,10 +110,10 @@ public class Activator extends Dependenc
String server = System.getProperty("discovery", "http://localhost:8080");
configure("org.apache.ace.discovery.property", "serverURL", server);
boolean isFileUrl = "file".equals((new URL(server)).getProtocol());
- String targetId = System.getProperty("identification", "configuredGatewayID");
- configure("org.apache.ace.identification.property", "gatewayID", targetId);
+ String targetId = System.getProperty("identification", "defaultTargetID");
+ configure("org.apache.ace.identification.property", "targetID", targetId);
if (!isFileUrl) {
- configureFactory("org.apache.ace.gateway.log.sync.factory", "name", "auditlog");
+ configureFactory("org.apache.ace.target.log.sync.factory", "name", "auditlog");
}
configure("org.apache.ace.scheduler", "auditlog", syncInterval);
if (!m_quiet) {
Modified: ace/trunk/ace-server-log-store/src/main/java/org/apache/ace/server/log/store/impl/LogStoreImpl.java
URL: http://svn.apache.org/viewvc/ace/trunk/ace-server-log-store/src/main/java/org/apache/ace/server/log/store/impl/LogStoreImpl.java?rev=1301607&r1=1301606&r2=1301607&view=diff
==============================================================================
--- ace/trunk/ace-server-log-store/src/main/java/org/apache/ace/server/log/store/impl/LogStoreImpl.java (original)
+++ ace/trunk/ace-server-log-store/src/main/java/org/apache/ace/server/log/store/impl/LogStoreImpl.java Fri Mar 16 16:03:13 2012
@@ -77,7 +77,7 @@ public class LogStoreImpl implements Log
BufferedReader in = null;
try {
File log = new File(new File(m_dir,
- gatewayIDToFilename(descriptor.getTargetID())),
+ targetIDToFilename(descriptor.getTargetID())),
String.valueOf(descriptor.getLogID()));
if (!log.isFile()) {
return result;
@@ -122,17 +122,17 @@ public class LogStoreImpl implements Log
/**
* @see org.apache.ace.server.log.store.LogStore#getDescriptor(String, long)
*/
- public synchronized LogDescriptor getDescriptor(String gatewayID, long logID)
+ public synchronized LogDescriptor getDescriptor(String targetID, long logID)
throws IOException {
Long high = m_fileToID.get(new File(new File(m_dir,
- gatewayIDToFilename(gatewayID)), String.valueOf(logID))
+ targetIDToFilename(targetID)), String.valueOf(logID))
.getAbsolutePath());
if (high != null) {
Range r = new Range(1, high);
- return new LogDescriptor(gatewayID, logID, new SortedRangeSet(
+ return new LogDescriptor(targetID, logID, new SortedRangeSet(
r.toRepresentation()));
}
- List<LogEvent> events = get(new LogDescriptor(gatewayID, logID,
+ List<LogEvent> events = get(new LogDescriptor(targetID, logID,
SortedRangeSet.FULL_SET));
long[] idsArray = new long[events.size()];
@@ -140,22 +140,22 @@ public class LogStoreImpl implements Log
for (LogEvent e : events) {
idsArray[i++] = e.getID();
}
- return new LogDescriptor(gatewayID, logID, new SortedRangeSet(idsArray));
+ return new LogDescriptor(targetID, logID, new SortedRangeSet(idsArray));
}
/**
* @see org.apache.ace.server.log.store.LogStore#getDescriptors(String)
*/
- public List<LogDescriptor> getDescriptors(String gatewayID)
+ public List<LogDescriptor> getDescriptors(String targetID)
throws IOException {
- File dir = new File(m_dir, gatewayIDToFilename(gatewayID));
+ File dir = new File(m_dir, targetIDToFilename(targetID));
List<LogDescriptor> result = new ArrayList<LogDescriptor>();
if (!dir.isDirectory()) {
return result;
}
for (String name : notNull(dir.list())) {
- result.add(getDescriptor(gatewayID, Long.parseLong(name)));
+ result.add(getDescriptor(targetID, Long.parseLong(name)));
}
return result;
@@ -167,7 +167,7 @@ public class LogStoreImpl implements Log
public List<LogDescriptor> getDescriptors() throws IOException {
List<LogDescriptor> result = new ArrayList<LogDescriptor>();
for (String name : notNull(m_dir.list())) {
- result.addAll(getDescriptors(filenameToGatewayID(name)));
+ result.addAll(getDescriptors(filenameToTargetID(name)));
}
return result;
}
@@ -177,9 +177,9 @@ public class LogStoreImpl implements Log
*/
public void put(List<LogEvent> events) throws IOException {
Map<String, Map<Long, List<LogEvent>>> sorted = sort(events);
- for (String gatewayID : sorted.keySet()) {
- for (Long logID : sorted.get(gatewayID).keySet()) {
- put(gatewayID, logID, sorted.get(gatewayID).get(logID));
+ for (String targetID : sorted.keySet()) {
+ for (Long logID : sorted.get(targetID).keySet()) {
+ put(targetID, logID, sorted.get(targetID).get(logID));
}
}
}
@@ -187,16 +187,16 @@ public class LogStoreImpl implements Log
/**
* Add a list of events to the log of the given ids.
*
- * @param gatewayID
- * the id of the gateway to append to its log.
+ * @param targetID
+ * the id of the target to append to its log.
* @param logID
- * the id of the given gateway log.
+ * the id of the given target log.
* @param list
* a list of events to store.
* @throws java.io.IOException
* in case of any error.
*/
- protected synchronized void put(String gatewayID, Long logID,
+ protected synchronized void put(String targetID, Long logID,
List<LogEvent> list) throws IOException {
if ((list == null) || (list.size() == 0)) {
// nothing to add, so return
@@ -206,7 +206,7 @@ public class LogStoreImpl implements Log
// 1. we can append events at the end of the existing file
// 2. we need to insert events in the existing file (meaning we have to
// rewrite basically the whole file)
- String file = new File(new File(m_dir, gatewayIDToFilename(gatewayID)),
+ String file = new File(new File(m_dir, targetIDToFilename(targetID)),
String.valueOf(logID)).getAbsolutePath();
Long highest = m_fileToID.get(file);
boolean cached = false;
@@ -217,7 +217,7 @@ public class LogStoreImpl implements Log
}
List<LogEvent> events = null;
if (!cached) {
- events = get(new LogDescriptor(gatewayID, logID,
+ events = get(new LogDescriptor(targetID, logID,
SortedRangeSet.FULL_SET));
// remove duplicates first
@@ -231,7 +231,7 @@ public class LogStoreImpl implements Log
PrintWriter out = null;
try {
- File dir = new File(m_dir, gatewayIDToFilename(gatewayID));
+ File dir = new File(m_dir, targetIDToFilename(targetID));
if (!dir.isDirectory() && !dir.mkdirs()) {
throw new IOException("Unable to create backup store.");
}
@@ -281,29 +281,29 @@ public class LogStoreImpl implements Log
/**
* Sort the given list of events into a map of maps according to the
- * gatewayID and the logID of each event.
+ * targetID and the logID of each event.
*
* @param events
* a list of events to sort.
- * @return a map of maps that maps gateway ids to a map that maps log ids to
+ * @return a map of maps that maps target ids to a map that maps log ids to
* a list of events that have those ids.
*/
@SuppressWarnings("boxing")
protected Map<String, Map<Long, List<LogEvent>>> sort(List<LogEvent> events) {
Map<String, Map<Long, List<LogEvent>>> result = new HashMap<String, Map<Long, List<LogEvent>>>();
for (LogEvent event : events) {
- Map<Long, List<LogEvent>> gateway = result
+ Map<Long, List<LogEvent>> target = result
.get(event.getTargetID());
- if (gateway == null) {
- gateway = new HashMap<Long, List<LogEvent>>();
- result.put(event.getTargetID(), gateway);
+ if (target == null) {
+ target = new HashMap<Long, List<LogEvent>>();
+ result.put(event.getTargetID(), target);
}
- List<LogEvent> list = gateway.get(event.getLogID());
+ List<LogEvent> list = target.get(event.getLogID());
if (list == null) {
list = new ArrayList<LogEvent>();
- gateway.put(event.getLogID(), list);
+ target.put(event.getLogID(), list);
}
list.add(event);
@@ -322,7 +322,7 @@ public class LogStoreImpl implements Log
return target;
}
- private static String filenameToGatewayID(String filename) {
+ private static String filenameToTargetID(String filename) {
byte[] bytes = new byte[filename.length() / 2];
for (int i = 0; i < (filename.length() / 2); i++) {
String hexValue = filename.substring(i * 2, (i + 1) * 2);
@@ -339,11 +339,11 @@ public class LogStoreImpl implements Log
return result;
}
- private static String gatewayIDToFilename(String gatewayID) {
+ private static String targetIDToFilename(String targetID) {
StringBuilder result = new StringBuilder();
try {
- for (Byte b : gatewayID.getBytes("UTF-8")) {
+ for (Byte b : targetID.getBytes("UTF-8")) {
String hexValue = Integer.toHexString(b.intValue());
if (hexValue.length() % 2 == 0) {
result.append(hexValue);