Update of /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/monitor
In directory sc8-pr-cvs1:/tmp/cvs-serv11075/src/java/core/org/krysalis/ruper2/monitor
Modified Files:
StatisticsMonitor.java StandardMonitor.java Monitor.java
Added Files:
ResourceEvent.java MonitorEvent.java FileEvent.java
IMonitor.java
Removed Files:
IFileMonitor.java
Log Message:
Reworked monitor interface (thanks for the ideas Anou) and made statistics
monitoring try to answer some questions about groups for us.
--- NEW FILE: ResourceEvent.java ---
/*
* Created on Oct 22, 2003
*/
package org.krysalis.ruper2.monitor;
import org.krysalis.ruper2.resource.Resource;
/**
* @author arb_jack
*/
public class ResourceEvent extends MonitorEvent {
public static final int UNSET = 0;
public static final int LISTED = 1;
public static final int RESULT = 2;
private int m_type = UNSET;
private Resource m_resource = null;
public ResourceEvent(int type, Resource resource) {
m_type = type;
m_resource = resource;
}
/**
* @return
*/
public Resource getResource() {
return m_resource;
}
/**
* @param resource
*/
public void setResource(Resource resource) {
m_resource = resource;
}
/**
* @return
*/
public int getType() {
return m_type;
}
/**
* @param i
*/
public void setType(int i) {
m_type = i;
}
}
--- NEW FILE: MonitorEvent.java ---
/*
* Created on Oct 22, 2003
*/
package org.krysalis.ruper2.monitor;
/**
* @author arb_jack
*/
public class MonitorEvent {
}
--- NEW FILE: FileEvent.java ---
/*
* Created on Oct 22, 2003
*/
package org.krysalis.ruper2.monitor;
/**
* @author arb_jack
*/
public class FileEvent extends MonitorEvent {
public final static int UNSET = 0;
public final static int PARSED = 1;
public final static int IGNORED = 2;
public final static int FAILED = 3;
private int m_type = FileEvent.UNSET;
private Object m_thingie = null;
public FileEvent(int type, Object thingie) {
m_type = type;
m_thingie = thingie;
}
/**
* @return
*/
public Object getThingie() {
return m_thingie;
}
/**
* @return
*/
public int getType() {
return m_type;
}
/**
* @param object
*/
public void setThingie(Object object) {
m_thingie = object;
}
/**
* @param i
*/
public void setType(int i) {
m_type = i;
}
}
Index: StatisticsMonitor.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/monitor/StatisticsMonitor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** StatisticsMonitor.java 12 Oct 2003 18:12:06 -0000 1.2
--- StatisticsMonitor.java 22 Oct 2003 21:53:25 -0000 1.3
***************
*** 7,11 ****
--- 7,13 ----
import java.util.ArrayList;
import java.util.List;
+ import java.util.StringTokenizer;
+ import org.krysalis.ruper2.resource.Resource;
import org.krysalis.version.util.debug.DebugUtils;
import org.krysalis.version.util.debug.Dumpable;
***************
*** 14,27 ****
* @author anou_mana
*/
! public class StatisticsMonitor implements IFileMonitor, Dumpable {
private int m_failed = 0;
private int m_ignored = 0;
private int m_parsed = 0;
!
private List m_failedObjects = null;
private List m_ignoredObjects = null;
private List m_parsedObjects = null;
public StatisticsMonitor() {
initClass();
--- 16,33 ----
* @author anou_mana
*/
! public class StatisticsMonitor implements IMonitor, Dumpable {
private int m_failed = 0;
private int m_ignored = 0;
private int m_parsed = 0;
!
private List m_failedObjects = null;
private List m_ignoredObjects = null;
private List m_parsedObjects = null;
+ private List m_resources = null;
+ private List m_misgrouped = null;
+ private List m_namegrouped = null;
+
public StatisticsMonitor() {
initClass();
***************
*** 32,59 ****
m_ignoredObjects = new ArrayList();
m_parsedObjects = new ArrayList();
- }
! /* (non-Javadoc)
! * @see org.krysalis.ruper2.monitor.IMonitor#failed(java.lang.Object)
! */
! public void failed(Object failed) {
! m_failed++;
! m_failedObjects.add(failed);
}
! /* (non-Javadoc)
! * @see org.krysalis.ruper2.monitor.IMonitor#ignored(java.lang.Object)
! */
! public void ignored(Object ignored) {
! m_ignored++;
! m_ignoredObjects.add(ignored);
! }
! /* (non-Javadoc)
! * @see org.krysalis.ruper2.monitor.IMonitor#parsed(java.lang.Object)
! */
! public void parsed(Object parsed) {
! m_parsed++;
! m_parsedObjects.add(parsed);
}
--- 38,131 ----
m_ignoredObjects = new ArrayList();
m_parsedObjects = new ArrayList();
! m_resources = new ArrayList();
! m_misgrouped = new ArrayList();
! m_namegrouped = new ArrayList();
}
! public void notify(MonitorEvent event) {
! if (event instanceof FileEvent) {
! FileEvent fileEvent = (FileEvent) event;
! switch (fileEvent.getType()) {
! case FileEvent.FAILED :
! {
! m_failed++;
! m_failedObjects.add(fileEvent.getThingie());
! break;
! }
! case FileEvent.IGNORED :
! {
! m_ignored++;
! m_ignoredObjects.add(fileEvent.getThingie());
! break;
! }
! case FileEvent.PARSED :
! {
! m_parsed++;
! m_parsedObjects.add(fileEvent.getThingie());
! break;
! }
! }
! } else if (event instanceof ResourceEvent) {
! ResourceEvent resourceEvent = (ResourceEvent) event;
!
! //
! // switch (resourceEvent.getType()) {
! // case ResourceEvent.LISTED :
! // {
! Resource resource = resourceEvent.getResource();
!
! m_resources.add(resource);
!
! String groupName = resource.getGroup().getGroup();
! String resourceName = resource.getIdentifier().getId();
!
! if (!groupName.equals(resourceName)) {
!
! boolean contains = false;
! String guess = null;
! for (StringTokenizer tokens =
! new StringTokenizer(resourceName, "-");
! tokens.hasMoreTokens();
! ) {
! String token = tokens.nextToken();
!
! if (null == guess)
! guess = token;
! else
! guess += '-' + token;
!
! if (guess.equals(resourceName))
! contains = true;
! }
!
! if (!contains) {
! guess = null;
! for (StringTokenizer tokens =
! new StringTokenizer(resourceName, "_");
! tokens.hasMoreTokens();
! ) {
! String token = tokens.nextToken();
!
! if (null == guess)
! guess = token;
! else
! guess += '_' + token;
!
! if (guess.equals(resourceName))
! contains = true;
! }
! }
!
! if (!contains)
! m_misgrouped.add(resource);
! else
! m_namegrouped.add(resource);
! }
! // break;
! // }
! // }
! }
}
***************
*** 99,104 ****
--- 171,191 ----
out.println(m_parsed);
+ out.print(indent);
+ out.print("Resources : ");
+ out.println(m_resources.size());
+
+ out.print(indent);
+ out.print("MisGrouped : ");
+ out.println(m_misgrouped.size());
+ out.print(indent);
+
+ out.print("NameGrouped : ");
+ out.println(m_namegrouped.size());
+
if (verbose) {
DebugUtils.printSeparator(out, depth);
+ DebugUtils.dump(out, depth, verbose, m_resources);
+
+ DebugUtils.printSeparator(out, depth);
DebugUtils.dump(out, depth, verbose, m_parsedObjects);
}
***************
*** 109,112 ****
--- 196,207 ----
DebugUtils.printSeparator(out, depth);
DebugUtils.dump(out, depth, verbose, m_ignoredObjects);
+
+ DebugUtils.printSeparator(out, depth);
+ DebugUtils.dump(out, depth, verbose, m_misgrouped);
+ if (verbose) {
+
+ DebugUtils.printSeparator(out, depth);
+ DebugUtils.dump(out, depth, verbose, m_namegrouped);
+ }
}
}
Index: StandardMonitor.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/monitor/StandardMonitor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** StandardMonitor.java 22 Oct 2003 02:14:08 -0000 1.3
--- StandardMonitor.java 22 Oct 2003 21:53:25 -0000 1.4
***************
*** 11,38 ****
* @author anou_mana
*/
! public class StandardMonitor implements IFileMonitor {
!
! /* (non-Javadoc)
! * @see org.krysalis.ruper2.monitor.IMonitor#failed(java.lang.Object)
! */
! public void failed(Object failed) {
! Logger.getLogger().debug(
! Messages.getString(MessageConstants.FAILED, failed));
! }
! /* (non-Javadoc)
! * @see org.krysalis.ruper2.monitor.IMonitor#ignored(java.lang.Object)
! */
! public void ignored(Object ignored) {
! Logger.getLogger().debug(
! Messages.getString(MessageConstants.IGNORE, ignored));
! }
! /* (non-Javadoc)
! * @see org.krysalis.ruper2.monitor.IMonitor#ignored(java.lang.Object)
! */
! public void parsed(Object parsed) {
! Logger.getLogger().debug(
! Messages.getString(MessageConstants.PARSED, parsed));
}
--- 11,47 ----
* @author anou_mana
*/
! public class StandardMonitor implements IMonitor {
! public void notify(MonitorEvent event) {
! if (event instanceof FileEvent) {
! FileEvent fileEvent = (FileEvent) event;
! switch (fileEvent.getType()) {
! case FileEvent.FAILED :
! {
! Logger.getLogger().debug(
! Messages.getString(
! MessageConstants.FAILED,
! fileEvent.getThingie()));
! break;
! }
! case FileEvent.IGNORED :
! {
! Logger.getLogger().debug(
! Messages.getString(
! MessageConstants.IGNORED,
! fileEvent.getThingie()));
! break;
! }
! case FileEvent.PARSED :
! {
! Logger.getLogger().debug(
! Messages.getString(
! MessageConstants.PARSED,
! fileEvent.getThingie()));
! break;
! }
! }
! }
}
Index: Monitor.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/monitor/Monitor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Monitor.java 12 Oct 2003 18:12:06 -0000 1.2
--- Monitor.java 22 Oct 2003 21:53:25 -0000 1.3
***************
*** 9,16 ****
import java.util.Stack;
import org.krysalis.version.util.debug.DebugUtils;
/**
! * @author anou_mana
*/
public class Monitor {
--- 9,17 ----
import java.util.Stack;
+ import org.krysalis.version.log.Logger;
import org.krysalis.version.util.debug.DebugUtils;
/**
! * @author arb_jack
*/
public class Monitor {
***************
*** 21,26 ****
public final static int PARSED = 3;
! // Monitor Table...
! private List m_monitors = null;
// Chaining...
--- 22,27 ----
public final static int PARSED = 3;
! // Monitors Table...
! private List m_monitors = null;;
// Chaining...
***************
*** 103,107 ****
// Context Interface
//
! public static Monitor pushContext(IFileMonitor monitor) {
Monitor newMonitor = pushContext();
// :TODO: Fix level, ask monitor what they want...
--- 104,108 ----
// Context Interface
//
! public static Monitor pushContext(Object monitor) {
Monitor newMonitor = pushContext();
// :TODO: Fix level, ask monitor what they want...
***************
*** 126,196 ****
}
! public void addMonitor(IFileMonitor monitor) {
m_monitors.add(monitor);
}
! public void removeMonitor(IFileMonitor monitor) {
m_monitors.remove(monitor);
}
-
- // DEBUG
- public boolean isMonitored() {
- return !m_monitors.isEmpty();
- }
-
- //
- // -------------------------------------------------------------------------------
- // File interface
- //
-
- public void ignored(Object message) {
- notify(m_monitors, IGNORED, message);
- if (null != m_next)
- m_next.ignored(message);
- }
-
- public void failed(Object failed) {
- notify(m_monitors, FAILED, failed);
- if (null != m_next)
- m_next.failed(failed);
- }
- public void parsed(Object parsed) {
- notify(m_monitors, PARSED, parsed);
- if (null != m_next)
- m_next.parsed(parsed);
- }
! /**
! * Notify interfaces that are single parameter only
! *
! * @param Monitors
! * @param notificationType
! * @param obj
! */
! private void notify(List Monitors, int notificationType, Object obj) {
! for (Iterator i = Monitors.iterator(); i.hasNext();) {
try {
! IFileMonitor monitor = ((IFileMonitor) i.next());
!
! switch(notificationType) {
! case PARSED:
! monitor.parsed(obj);
! break;
!
! case FAILED:
! monitor.failed(obj);
! break;
!
! case IGNORED:
! monitor.ignored(obj);
! break;
! }
}
catch (Throwable t) {
// Their problems are not ours...
}
}
}
--- 127,166 ----
}
! /**
! * Add a monitor, and it is 'registered' for
! * whatever interfaces it supports
! *
! * @param monitor
! */
! public void addMonitor(Object monitor) {
m_monitors.add(monitor);
}
! public void removeMonitor(Object monitor) {
m_monitors.remove(monitor);
}
! /**
! * Notify interfaces that are single parameter only
! *
! * @param monitors
! * @param notificationType
! * @param obj
! */
! public void notify(MonitorEvent event) {
! for (Iterator i = m_monitors.iterator(); i.hasNext();) {
try {
! ((IMonitor) i.next()).notify(event);
}
catch (Throwable t) {
// Their problems are not ours...
+ Logger.getLogger().debug("Dispatch failure : " , t);
}
}
+
+ if (null != m_next)
+ m_next.notify(event);
}
***************
*** 204,210 ****
private void notify(List Monitors, int notificationType, Object objs[]) {
! for (Iterator i = Monitors.iterator(); i.hasNext();) {
try {
! IFileMonitor monitor = ((IFileMonitor) i.next());
switch(notificationType) {
--- 174,180 ----
private void notify(List Monitors, int notificationType, Object objs[]) {
! for (Iterator i = m_monitors.iterator(); i.hasNext();) {
try {
! IMonitor monitor = ((IMonitor) i.next());
switch(notificationType) {
--- IFileMonitor.java DELETED ---
-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community? Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.