|
From: <pat...@us...> - 2010-01-13 16:55:41
|
Revision: 1017
http://cishell.svn.sourceforge.net/cishell/?rev=1017&view=rev
Author: pataphil
Date: 2010-01-13 16:55:34 +0000 (Wed, 13 Jan 2010)
Log Message:
-----------
* Added StringUtilities.allAreEmptyOrWhiteSpace (which wraps StringUtilities.isEmptyOrWhiteSpace).
* Added org.cishell.utilities.osgi.logging.LogMessageHandler.
Modified Paths:
--------------
trunk/core/org.cishell.utilities/.classpath
trunk/core/org.cishell.utilities/.settings/org.eclipse.jdt.core.prefs
trunk/core/org.cishell.utilities/META-INF/MANIFEST.MF
trunk/core/org.cishell.utilities/src/org/cishell/utilities/StringUtilities.java
Added Paths:
-----------
trunk/core/org.cishell.utilities/src/org/cishell/utilities/osgi/
trunk/core/org.cishell.utilities/src/org/cishell/utilities/osgi/logging/
trunk/core/org.cishell.utilities/src/org/cishell/utilities/osgi/logging/LogMessageHandler.java
Modified: trunk/core/org.cishell.utilities/.classpath
===================================================================
--- trunk/core/org.cishell.utilities/.classpath 2010-01-07 22:49:43 UTC (rev 1016)
+++ trunk/core/org.cishell.utilities/.classpath 2010-01-13 16:55:34 UTC (rev 1017)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
Modified: trunk/core/org.cishell.utilities/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/core/org.cishell.utilities/.settings/org.eclipse.jdt.core.prefs 2010-01-07 22:49:43 UTC (rev 1016)
+++ trunk/core/org.cishell.utilities/.settings/org.eclipse.jdt.core.prefs 2010-01-13 16:55:34 UTC (rev 1017)
@@ -1,12 +1,12 @@
-#Tue Oct 13 13:58:27 EDT 2009
+#Wed Jan 13 11:39:50 EST 2010
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
Modified: trunk/core/org.cishell.utilities/META-INF/MANIFEST.MF
===================================================================
--- trunk/core/org.cishell.utilities/META-INF/MANIFEST.MF 2010-01-07 22:49:43 UTC (rev 1016)
+++ trunk/core/org.cishell.utilities/META-INF/MANIFEST.MF 2010-01-13 16:55:34 UTC (rev 1017)
@@ -3,13 +3,14 @@
Bundle-Name: Utilities Plug-in
Bundle-SymbolicName: org.cishell.utilities
Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
Import-Package: org.cishell.framework;version="1.0.0",
org.cishell.framework.algorithm;version="1.0.0",
org.cishell.framework.data,
org.cishell.reference.service.metatype,
org.cishell.service.database,
org.osgi.framework;version="1.4.0",
+ org.osgi.service.log;version="1.3.0",
org.osgi.service.metatype;version="1.1.0",
prefuse,
prefuse.data,
@@ -21,4 +22,5 @@
Export-Package: org.cishell.utilities,
org.cishell.utilities.mutateParameter,
org.cishell.utilities.mutateParameter.defaultvalue,
- org.cishell.utilities.mutateParameter.dropdown
+ org.cishell.utilities.mutateParameter.dropdown,
+ org.cishell.utilities.osgi.logging
Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/StringUtilities.java
===================================================================
--- trunk/core/org.cishell.utilities/src/org/cishell/utilities/StringUtilities.java 2010-01-07 22:49:43 UTC (rev 1016)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/StringUtilities.java 2010-01-13 16:55:34 UTC (rev 1017)
@@ -98,6 +98,16 @@
return (trimmed.length() == 0);
}
+
+ public static boolean allAreEmptyOrWhiteSpace(String... tests) {
+ for (String test : tests) {
+ if (!isEmptyOrWhiteSpace(test)) {
+ return false;
+ }
+ }
+
+ return true;
+ }
public static int countOccurrencesOfChar(
CharSequence characters, char target) {
Added: trunk/core/org.cishell.utilities/src/org/cishell/utilities/osgi/logging/LogMessageHandler.java
===================================================================
--- trunk/core/org.cishell.utilities/src/org/cishell/utilities/osgi/logging/LogMessageHandler.java (rev 0)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/osgi/logging/LogMessageHandler.java 2010-01-13 16:55:34 UTC (rev 1017)
@@ -0,0 +1,101 @@
+package org.cishell.utilities.osgi.logging;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.osgi.service.log.LogService;
+
+// TODO: Get reviewed.
+// TODO: Make 1.4 compatible and move to cishell utilities?
+public class LogMessageHandler {
+ private LogService logger;
+ private Map<MessageTypeIndicator, MessageType> messageTypes =
+ new HashMap<MessageTypeIndicator, MessageType>();
+
+ public LogMessageHandler(LogService logger) {
+ this.logger = logger;
+ }
+
+ /**
+ * If typeIndicator is already an added message type, its count will be
+ * reset and maximum count overridden.
+ */
+ public MessageTypeIndicator addMessageType(
+ String description, int maximumCount) {
+ MessageTypeIndicator typeIndicator = new MessageTypeIndicator();
+ this.messageTypes.put(
+ typeIndicator, new MessageType(description, maximumCount));
+
+ return typeIndicator;
+ }
+
+ /**
+ * logMessage will always be logged if typeIndicator has not been added
+ * prior to calling this.
+ */
+ public void logMessage(
+ MessageTypeIndicator typeIndicator,
+ int logLevel,
+ String logMessage) {
+ MessageType messageType = this.messageTypes.get(typeIndicator);
+
+ if (messageType != null) {
+ if (messageType.messageLogged()) {
+ this.logger.log(logLevel, logMessage);
+ }
+ } else {
+ this.logger.log(logLevel, logMessage);
+ }
+ }
+
+ public void printOverloadedMessageTypes(int logLevel) {
+ for (MessageType messageType : this.messageTypes.values()) {
+ if (messageType.wasOverloaded()) {
+ this.logger.log(logLevel, messageType.toString());
+ }
+ }
+ }
+
+ public class MessageTypeIndicator {}
+
+ private class MessageType {
+ private String description;
+ private int maximumCount;
+ private int foundCount = 0;
+ private int overLoadedCount = 0;
+
+ public MessageType(String description, int maximumCount) {
+ this.description = description;
+ this.maximumCount = maximumCount;
+ }
+
+ public boolean hasAnyLeft() {
+ return this.foundCount != this.maximumCount;
+ }
+
+ public boolean wasOverloaded() {
+ return this.overLoadedCount > 0;
+ }
+
+ public boolean messageLogged() {
+ if (hasAnyLeft()) {
+ this.foundCount++;
+
+ return true;
+ } else {
+ this.overLoadedCount++;
+
+ return false;
+ }
+ }
+
+ public String toString() {
+ return
+ "Found " +
+ this.overLoadedCount +
+ " more " +
+ this.description +
+ ".";
+ }
+ }
+}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|