summaryrefslogtreecommitdiffstats
path: root/branches/sca-equinox/modules/monitor
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2008-09-29 06:44:22 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2008-09-29 06:44:22 +0000
commitfcef778b4fb5b4ee7d828c1e9cfb62af2d48d869 (patch)
tree3037a45c5b4fec2e94c20da66a695951dd7b8584 /branches/sca-equinox/modules/monitor
parentb732557ce29c5cc982957861dfb698a66d4a3e18 (diff)
Fixed monitor module to avoid having to export monitor implementation classes. Removed dependencies on monitor-logging.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@700000 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--branches/sca-equinox/modules/monitor-logging/src/test/java/org/apache/tuscany/sca/monitor/MonitorTestCase.java10
-rw-r--r--branches/sca-equinox/modules/monitor/pom.xml2
-rw-r--r--branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/DefaultMonitorFactory.java (renamed from branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultMonitorFactoryImpl.java)12
-rw-r--r--branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/Monitor.java35
-rw-r--r--branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/MonitorFactory.java3
-rw-r--r--branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/MonitorImpl.java (renamed from branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultMonitorImpl.java)30
-rw-r--r--branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/ProblemImpl.java (renamed from branches/sca-equinox/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java)2
-rw-r--r--branches/sca-equinox/modules/monitor/src/test/java/org/apache/tuscany/sca/monitor/MonitorTestCase.java92
-rw-r--r--branches/sca-equinox/modules/monitor/src/test/resources/tuscany-monitor-test-messages.properties24
-rw-r--r--branches/sca-equinox/modules/monitor/src/test/resources/tuscany-monitor-test-messages_it.properties24
10 files changed, 200 insertions, 34 deletions
diff --git a/branches/sca-equinox/modules/monitor-logging/src/test/java/org/apache/tuscany/sca/monitor/MonitorTestCase.java b/branches/sca-equinox/modules/monitor-logging/src/test/java/org/apache/tuscany/sca/monitor/MonitorTestCase.java
index c5fa6c4da6..dfec4aa97c 100644
--- a/branches/sca-equinox/modules/monitor-logging/src/test/java/org/apache/tuscany/sca/monitor/MonitorTestCase.java
+++ b/branches/sca-equinox/modules/monitor-logging/src/test/java/org/apache/tuscany/sca/monitor/MonitorTestCase.java
@@ -19,8 +19,8 @@
package org.apache.tuscany.sca.monitor;
-import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl;
import org.apache.tuscany.sca.monitor.Problem.Severity;
+import org.apache.tuscany.sca.monitor.impl.ProblemImpl;
import org.apache.tuscany.sca.monitor.logging.impl.MonitorFactoryImpl;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -53,7 +53,7 @@ public class MonitorTestCase {
Problem problem = null;
- problem = new ProblemImpl(this.getClass().getName(),
+ problem = monitor.createProblem(this.getClass().getName(),
"tuscany-monitor-test-messages",
Severity.WARNING,
dummyModelObject,
@@ -62,7 +62,7 @@ public class MonitorTestCase {
String param = "Some Parameter";
- problem = new ProblemImpl(this.getClass().getName(),
+ problem = monitor.createProblem(this.getClass().getName(),
"tuscany-monitor-test-messages",
Severity.WARNING,
dummyModelObject,
@@ -70,7 +70,7 @@ public class MonitorTestCase {
param);
monitor.problem(problem);
- problem = new ProblemImpl(this.getClass().getName(),
+ problem = monitor.createProblem(this.getClass().getName(),
"tuscany-monitor-test-messages",
Severity.WARNING,
dummyModelObject,
@@ -82,7 +82,7 @@ public class MonitorTestCase {
Exception ex = new IllegalStateException("TEST_MESSAGE");
- problem = new ProblemImpl(this.getClass().getName(),
+ problem = monitor.createProblem(this.getClass().getName(),
"tuscany-monitor-test-messages",
Severity.ERROR,
dummyModelObject,
diff --git a/branches/sca-equinox/modules/monitor/pom.xml b/branches/sca-equinox/modules/monitor/pom.xml
index 44990c4c02..6c17edb12e 100644
--- a/branches/sca-equinox/modules/monitor/pom.xml
+++ b/branches/sca-equinox/modules/monitor/pom.xml
@@ -47,7 +47,7 @@
<Bundle-Version>${tuscany.version}</Bundle-Version>
<Bundle-SymbolicName>org.apache.tuscany.sca.monitor</Bundle-SymbolicName>
<Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.monitor*</Export-Package>
+ <Export-Package>org.apache.tuscany.sca.monitor</Export-Package>
</instructions>
</configuration>
</plugin>
diff --git a/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultMonitorFactoryImpl.java b/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/DefaultMonitorFactory.java
index 274b4faefd..b38968caeb 100644
--- a/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultMonitorFactoryImpl.java
+++ b/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/DefaultMonitorFactory.java
@@ -17,10 +17,9 @@
* under the License.
*/
-package org.apache.tuscany.sca.monitor.impl;
+package org.apache.tuscany.sca.monitor;
-import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.impl.MonitorImpl;
/**
@@ -28,14 +27,15 @@ import org.apache.tuscany.sca.monitor.MonitorFactory;
*
* @version $Rev$ $Date$
*/
-public class DefaultMonitorFactoryImpl implements MonitorFactory {
+public class DefaultMonitorFactory implements MonitorFactory {
private Monitor monitor = null;
public Monitor createMonitor() {
- if (monitor == null){
- monitor = new DefaultMonitorImpl();
+ if (monitor == null) {
+ monitor = new MonitorImpl();
}
return monitor ;
}
+
}
diff --git a/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/Monitor.java b/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/Monitor.java
index c16140213d..ef49ddd323 100644
--- a/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/Monitor.java
+++ b/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/Monitor.java
@@ -21,6 +21,8 @@ package org.apache.tuscany.sca.monitor;
import java.util.List;
+import org.apache.tuscany.sca.monitor.Problem.Severity;
+
/**
* A monitor for the watching for validation problems
*
@@ -41,4 +43,37 @@ public interface Monitor {
*/
List<Problem> getProblems();
+ /**
+ * Returns the last logged problem.
+ *
+ * @return
+ */
+ public Problem getLastLoggedProblem();
+
+ /**
+ * Create a new problem.
+ *
+ * @param sourceClassName the class name reporting the problem
+ * @param bundleName the name of the message bundle to use
+ * @param severity the severity of the problem
+ * @param problemObject the model object for which the problem is being reported
+ * @param messageId the id of the problem message
+ * @param cause the exception which caused the problem
+ * @return
+ */
+ Problem createProblem(String sourceClassName, String bundleName, Severity severity, Object problemObject, String messageId, Exception cause);
+
+ /**
+ * Create a new problem.
+ *
+ * @param sourceClassName the class name reporting the problem
+ * @param bundleName the name of the message bundle to use
+ * @param severity the severity of the problem
+ * @param problemObject the model object for which the problem is being reported
+ * @param messageId the id of the problem message
+ * @param messageParams the parameters of the problem message
+ * @return
+ */
+ Problem createProblem(String sourceClassName, String bundleName, Severity severity, Object problemObject, String messageId, Object... messageParams );
+
}
diff --git a/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/MonitorFactory.java b/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/MonitorFactory.java
index 38c3bbd991..3384626958 100644
--- a/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/MonitorFactory.java
+++ b/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/MonitorFactory.java
@@ -18,6 +18,7 @@
*/
package org.apache.tuscany.sca.monitor;
+
/**
* A factory for validation monitors
*
@@ -26,7 +27,7 @@ package org.apache.tuscany.sca.monitor;
public interface MonitorFactory {
/**
- * Create a new monitor
+ * Create a new monitor.
*
* @return a new monitor
*/
diff --git a/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultMonitorImpl.java b/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/MonitorImpl.java
index b98f29d4dd..585e616632 100644
--- a/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultMonitorImpl.java
+++ b/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/MonitorImpl.java
@@ -20,11 +20,10 @@
package org.apache.tuscany.sca.monitor.impl;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
+
import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.monitor.Problem;
import org.apache.tuscany.sca.monitor.Problem.Severity;
@@ -34,8 +33,8 @@ import org.apache.tuscany.sca.monitor.Problem.Severity;
*
* @version $Rev$ $Date$
*/
-public class DefaultMonitorImpl implements Monitor {
- private static final Logger logger = Logger.getLogger(DefaultMonitorImpl.class.getName());
+public class MonitorImpl implements Monitor {
+ private static final Logger logger = Logger.getLogger(MonitorImpl.class.getName());
// Cache all the problem reported to monitor for further analysis
private List<Problem> problemCache = new ArrayList<Problem>();
@@ -77,26 +76,17 @@ public class DefaultMonitorImpl implements Monitor {
}
public Problem getLastLoggedProblem(){
+ if (problemCache.isEmpty()) {
+ return null;
+ }
return problemCache.get(problemCache.size() - 1);
}
- public boolean isMessageLogged(String messageId) {
- for (Problem problem : problemCache){
- if (problem.getMessageId().equals(messageId)){
- return true;
- }
- }
-
- return false;
+ public Problem createProblem(String sourceClassName, String bundleName, Severity severity, Object problemObject, String messageId, Exception cause) {
+ return new ProblemImpl(sourceClassName, bundleName, severity, problemObject, messageId, cause);
}
- public Problem getProblem(String messageId) {
- for (Problem problem : problemCache){
- if (problem.getMessageId().equals(messageId)){
- return problem;
- }
- }
-
- return null;
+ public Problem createProblem(String sourceClassName, String bundleName, Severity severity, Object problemObject, String messageId, Object... messageParams) {
+ return new ProblemImpl(sourceClassName, bundleName, severity, problemObject, messageId, messageParams);
}
}
diff --git a/branches/sca-equinox/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java b/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/ProblemImpl.java
index 03f24dfae8..5a0aaeddd0 100644
--- a/branches/sca-equinox/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java
+++ b/branches/sca-equinox/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/ProblemImpl.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.tuscany.sca.assembly.builder.impl;
+package org.apache.tuscany.sca.monitor.impl;
import java.util.logging.Formatter;
import java.util.logging.Level;
diff --git a/branches/sca-equinox/modules/monitor/src/test/java/org/apache/tuscany/sca/monitor/MonitorTestCase.java b/branches/sca-equinox/modules/monitor/src/test/java/org/apache/tuscany/sca/monitor/MonitorTestCase.java
new file mode 100644
index 0000000000..4380e32f99
--- /dev/null
+++ b/branches/sca-equinox/modules/monitor/src/test/java/org/apache/tuscany/sca/monitor/MonitorTestCase.java
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.monitor;
+
+import org.apache.tuscany.sca.monitor.Problem.Severity;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Loads a monitor and adds some problems to it.
+ *
+ * @version $Rev$ $Date$
+ */
+public class MonitorTestCase {
+
+ private static MonitorFactory monitorFactory;
+
+ @BeforeClass
+ public static void init() throws Exception {
+ monitorFactory = new DefaultMonitorFactory();
+ }
+
+ @AfterClass
+ public static void destroy() throws Exception {
+ monitorFactory = null;
+ }
+
+ @Test
+ public void testCreateProblem() throws Exception {
+ String dummyModelObject = "DUMMY MODEL OBJECT";
+
+ Monitor monitor = monitorFactory.createMonitor();
+
+ Problem problem = null;
+
+ problem = monitor.createProblem(this.getClass().getName(),
+ "tuscany-monitor-test-messages",
+ Severity.WARNING,
+ dummyModelObject,
+ "MESSAGE1" );
+ monitor.problem(problem);
+
+ String param = "Some Parameter";
+
+ problem = monitor.createProblem(this.getClass().getName(),
+ "tuscany-monitor-test-messages",
+ Severity.WARNING,
+ dummyModelObject,
+ "MESSAGE2",
+ param);
+ monitor.problem(problem);
+
+ problem = monitor.createProblem(this.getClass().getName(),
+ "tuscany-monitor-test-messages",
+ Severity.WARNING,
+ dummyModelObject,
+ "MESSAGE3",
+ 8,
+ 9,
+ 4);
+ monitor.problem(problem);
+
+ Exception ex = new IllegalStateException("TEST_MESSAGE");
+
+ problem = monitor.createProblem(this.getClass().getName(),
+ "tuscany-monitor-test-messages",
+ Severity.ERROR,
+ dummyModelObject,
+ "MESSAGE4",
+ ex);
+ monitor.problem(problem);
+
+ }
+}
diff --git a/branches/sca-equinox/modules/monitor/src/test/resources/tuscany-monitor-test-messages.properties b/branches/sca-equinox/modules/monitor/src/test/resources/tuscany-monitor-test-messages.properties
new file mode 100644
index 0000000000..523263da40
--- /dev/null
+++ b/branches/sca-equinox/modules/monitor/src/test/resources/tuscany-monitor-test-messages.properties
@@ -0,0 +1,24 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+#
+MESSAGE1 = This is a test message with no params
+MESSAGE2 = This is a test message with a string param {0}
+MESSAGE3 = This is a test message with numbers {0}, {1}, {2}
+MESSAGE4 = This is a test message with exception
diff --git a/branches/sca-equinox/modules/monitor/src/test/resources/tuscany-monitor-test-messages_it.properties b/branches/sca-equinox/modules/monitor/src/test/resources/tuscany-monitor-test-messages_it.properties
new file mode 100644
index 0000000000..523263da40
--- /dev/null
+++ b/branches/sca-equinox/modules/monitor/src/test/resources/tuscany-monitor-test-messages_it.properties
@@ -0,0 +1,24 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+#
+MESSAGE1 = This is a test message with no params
+MESSAGE2 = This is a test message with a string param {0}
+MESSAGE3 = This is a test message with numbers {0}, {1}, {2}
+MESSAGE4 = This is a test message with exception