You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2008/04/18 18:51:38 UTC
svn commit: r649607 - in /incubator/tuscany/java/sca: itest/ itest/domain/
itest/domain/src/test/java/org/apache/tuscany/sca/itest/domain/
itest/validation/ itest/validation/src/main/resources/
itest/validation/src/main/resources/DuplicateComponentName...
Author: slaws
Date: Fri Apr 18 09:51:20 2008
New Revision: 649607
URL: http://svn.apache.org/viewvc?rev=649607&view=rev
Log:
Integrate the validation monitor back into the rest of the code. This is a light touch integration. Still need to move messages into resource bundles. Local monitors are still created in some places. If a monitor implementation is not found then a warning is raised but execution continues so that I don't have to change the dependencies of the many tests that now don't pull in a monitor but also don't raise any warnings.
Added:
incubator/tuscany/java/sca/itest/validation/src/main/resources/DuplicateComponentName/
incubator/tuscany/java/sca/itest/validation/src/main/resources/DuplicateComponentName/Calculator.composite (with props)
incubator/tuscany/java/sca/itest/validation/src/main/resources/XsdValidation/
incubator/tuscany/java/sca/itest/validation/src/main/resources/XsdValidation/Calculator.composite
- copied unchanged from r648990, incubator/tuscany/java/sca/itest/validation/src/main/resources/Calculator.composite
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/DuplicateComponentNameTestCase.java (with props)
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/XSDValidationTestCase.java
- copied, changed from r648990, incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/CalculatorTestCase.java
incubator/tuscany/java/sca/modules/assembly/src/main/resources/assembly-validation-messages_en.properties (with props)
incubator/tuscany/java/sca/modules/monitor-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.monitor.MonitorFactory
- copied, changed from r649466, incubator/tuscany/java/sca/modules/monitor-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.monitor.MonitorFactory
incubator/tuscany/java/sca/modules/workspace-impl/src/main/resources/workspace-validation-messages_en.properties (with props)
Removed:
incubator/tuscany/java/sca/itest/validation/src/main/resources/Calculator.composite
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/CalculatorTestCase.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilderMonitor.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/Problem.java
incubator/tuscany/java/sca/modules/monitor-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.monitor.MonitorFactory
incubator/tuscany/java/sca/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/builder/ContributionDependencyBuilderMonitor.java
Modified:
incubator/tuscany/java/sca/itest/domain/pom.xml
incubator/tuscany/java/sca/itest/domain/src/test/java/org/apache/tuscany/sca/itest/domain/ContributionSPIsTestCase.java
incubator/tuscany/java/sca/itest/pom.xml
incubator/tuscany/java/sca/itest/validation/pom.xml
incubator/tuscany/java/sca/modules/assembly/pom.xml
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeCloneBuilderImpl.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeIncludeBuilderImpl.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeWireBuilderImpl.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/DomainWireBuilderImpl.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java
incubator/tuscany/java/sca/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/CalculateBindingURITestCase.java
incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java
incubator/tuscany/java/sca/modules/host-embedded/pom.xml
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
incubator/tuscany/java/sca/modules/monitor-logging/pom.xml
incubator/tuscany/java/sca/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultLoggingMonitorImpl.java
incubator/tuscany/java/sca/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/impl/MonitorFactoryImpl.java
incubator/tuscany/java/sca/modules/monitor/pom.xml
incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java
incubator/tuscany/java/sca/modules/pom.xml
incubator/tuscany/java/sca/modules/workspace-admin/pom.xml
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderImpl.java
Modified: incubator/tuscany/java/sca/itest/domain/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/domain/pom.xml?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/domain/pom.xml (original)
+++ incubator/tuscany/java/sca/itest/domain/pom.xml Fri Apr 18 09:51:20 2008
@@ -29,6 +29,7 @@
<name>Apache Tuscany SCA Domain Integration Tests</name>
<dependencies>
+
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-node2-api</artifactId>
@@ -74,6 +75,13 @@
<version>3.2.1</version>
<scope>runtime</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-monitor-logging</artifactId>
+ <version>2.0-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
Modified: incubator/tuscany/java/sca/itest/domain/src/test/java/org/apache/tuscany/sca/itest/domain/ContributionSPIsTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/domain/src/test/java/org/apache/tuscany/sca/itest/domain/ContributionSPIsTestCase.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/domain/src/test/java/org/apache/tuscany/sca/itest/domain/ContributionSPIsTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/domain/src/test/java/org/apache/tuscany/sca/itest/domain/ContributionSPIsTestCase.java Fri Apr 18 09:51:20 2008
@@ -41,9 +41,6 @@
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.SCABindingFactory;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderMonitor;
-import org.apache.tuscany.sca.assembly.builder.Problem;
-import org.apache.tuscany.sca.assembly.builder.Problem.Severity;
import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
import org.apache.tuscany.sca.assembly.builder.impl.CompositeConfigurationBuilderImpl;
import org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor;
@@ -73,6 +70,9 @@
import org.apache.tuscany.sca.host.embedded.impl.ReallySmallRuntime;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
import org.apache.tuscany.sca.node.SCAClient;
import org.apache.tuscany.sca.node.SCANode2;
import org.apache.tuscany.sca.node.SCANode2Factory;
@@ -81,7 +81,6 @@
import org.apache.tuscany.sca.policy.PolicyFactory;
import org.apache.tuscany.sca.workspace.Workspace;
import org.apache.tuscany.sca.workspace.WorkspaceFactory;
-import org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilderMonitor;
import org.apache.tuscany.sca.workspace.builder.impl.ContributionDependencyBuilderImpl;
import org.apache.tuscany.sca.workspace.processor.impl.ContributionContentProcessor;
import org.apache.tuscany.sca.workspace.processor.impl.ContributionInfoProcessor;
@@ -120,7 +119,7 @@
static Workspace workspace;
static List<String> problems = new ArrayList<String>();
- static ContributionDependencyBuilderMonitor dependencyBuilderMonitor;
+ static Monitor dependencyBuilderMonitor;
static ContributionDependencyBuilderImpl analyzer;
static List<ContributionListener> contributionListeners;
@@ -173,35 +172,21 @@
workspace = workspaceFactory.createWorkspace();
// create a dependency builder
- dependencyBuilderMonitor = new ContributionDependencyBuilderMonitor() {
+ dependencyBuilderMonitor = new Monitor() {
public void problem(Problem problem) {
- problems.add(problem.getMessage() + " " + problem.getModel());
+ problems.add(problem.getMessageId() + " " + problem.getProblemObject().toString());
}
};
- analyzer = new ContributionDependencyBuilderImpl(dependencyBuilderMonitor);
+ MonitorFactory monitorFactory = registry.getExtensionPoint(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ analyzer = new ContributionDependencyBuilderImpl(monitor);
// Create composite builder
SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
IntentAttachPointTypeFactory intentAttachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
InterfaceContractMapper contractMapper = new InterfaceContractMapperImpl();
-
- CompositeBuilderMonitor monitor = new CompositeBuilderMonitor() {
- public void problem(Problem problem) {
- if (problem.getSeverity() == Severity.INFO) {
- logger.info(problem.toString());
- } else if (problem.getSeverity() == Severity.WARNING) {
- logger.warning(problem.toString());
- } else if (problem.getSeverity() == Severity.ERROR) {
- if (problem.getCause() != null) {
- logger.log(Level.SEVERE, problem.toString(), problem.getCause());
- } else {
- logger.severe(problem.toString());
- }
- }
- }
- };
-
+
compositeBuilder = new CompositeBuilderImpl(assemblyFactory,
scaBindingFactory,
intentAttachPointTypeFactory,
Modified: incubator/tuscany/java/sca/itest/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/pom.xml?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/pom.xml (original)
+++ incubator/tuscany/java/sca/itest/pom.xml Fri Apr 18 09:51:20 2008
@@ -110,6 +110,7 @@
<module>wsdl-multiple</module>
<module>ws-void-args-return</module>
<module>transaction</module>
+ <module>validation</module>
<module>bpel</module>
<module>spring</module>
<module>policy</module>
Modified: incubator/tuscany/java/sca/itest/validation/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/validation/pom.xml?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/validation/pom.xml (original)
+++ incubator/tuscany/java/sca/itest/validation/pom.xml Fri Apr 18 09:51:20 2008
@@ -32,7 +32,13 @@
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
+ <artifactId>tuscany-monitor-logging</artifactId>
+ <version>2.0-incubating-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node2-impl</artifactId>
<version>2.0-incubating-SNAPSHOT</version>
</dependency>
Added: incubator/tuscany/java/sca/itest/validation/src/main/resources/DuplicateComponentName/Calculator.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/validation/src/main/resources/DuplicateComponentName/Calculator.composite?rev=649607&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/validation/src/main/resources/DuplicateComponentName/Calculator.composite (added)
+++ incubator/tuscany/java/sca/itest/validation/src/main/resources/DuplicateComponentName/Calculator.composite Fri Apr 18 09:51:20 2008
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://sample"
+ xmlns:sample="http://sample"
+ name="Calculator">
+
+ <component name="CalculatorServiceComponent">
+ <implementation.java class="calculator.CalculatorServiceImpl"/>
+ <reference name="addService" target="AddServiceComponent" />
+ <reference name="subtractService" target="SubtractServiceComponent" />
+ <reference name="multiplyService" target="MultiplyServiceComponent" />
+ <reference name="divideService" target="DivideServiceComponent" />
+ </component>
+
+ <component name="AddServiceComponent">
+ <implementation.java class="calculator.AddServiceImpl"/>
+ </component>
+
+ <component name="AddServiceComponent">
+ <implementation.java class="calculator.AddServiceImpl"/>
+ </component>
+
+ <component name="SubtractServiceComponent">
+ <implementation.java class="calculator.SubtractServiceImpl"/>
+ </component>
+
+ <component name="MultiplyServiceComponent">
+ <implementation.java class="calculator.MultiplyServiceImpl"/>
+ </component>
+
+ <component name="DivideServiceComponent">
+ <implementation.java class="calculator.DivideServiceImpl"/>
+ </component>
+
+</composite>
Propchange: incubator/tuscany/java/sca/itest/validation/src/main/resources/DuplicateComponentName/Calculator.composite
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/itest/validation/src/main/resources/DuplicateComponentName/Calculator.composite
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/java/sca/itest/validation/src/main/resources/DuplicateComponentName/Calculator.composite
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/DuplicateComponentNameTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/DuplicateComponentNameTestCase.java?rev=649607&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/DuplicateComponentNameTestCase.java (added)
+++ incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/DuplicateComponentNameTestCase.java Fri Apr 18 09:51:20 2008
@@ -0,0 +1,74 @@
+/*
+ * 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 calculator;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.monitor.impl.DefaultLoggingMonitorImpl;
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode2;
+import org.apache.tuscany.sca.node.SCANode2Factory;
+import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DuplicateComponentNameTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ //private SCADomain scaDomain;
+ private SCANode2 node;
+
+ @Override
+ protected void setUp() throws Exception {
+ //scaDomain = SCADomain.newInstance("XsdValidation/Calculator.composite");
+ //calculatorService = scaDomain.getService(CalculatorService.class, "CalculatorServiceComponent");
+ SCANode2Factory nodeFactory = SCANode2Factory.newInstance();
+ node = nodeFactory.createSCANode(new File("src/main/resources/DuplicateComponentName/Calculator.composite").toURL().toString(),
+ new SCAContribution("TestContribution",
+ new File("src/main/resources/DuplicateComponentName").toURL().toString()));
+ node.start();
+ calculatorService = ((SCAClient)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //scaDomain.close();
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ MonitorFactory monitorFactory = registry.getExtensionPoint(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = ((DefaultLoggingMonitorImpl)monitor).getLastLoggedProblem();
+
+ assertNotNull(problem);
+ assertEquals("DuplicateComponentName", problem.getMessageId());
+
+ }
+}
Propchange: incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/DuplicateComponentNameTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/DuplicateComponentNameTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/XSDValidationTestCase.java (from r648990, incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/CalculatorTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/XSDValidationTestCase.java?p2=incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/XSDValidationTestCase.java&p1=incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/CalculatorTestCase.java&r1=648990&r2=649607&rev=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/CalculatorTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/XSDValidationTestCase.java Fri Apr 18 09:51:20 2008
@@ -18,34 +18,55 @@
*/
package calculator;
+import java.io.File;
+
import junit.framework.TestCase;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.host.embedded.SCADomain;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.monitor.impl.DefaultLoggingMonitorImpl;
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode2;
+import org.apache.tuscany.sca.node.SCANode2Factory;
+import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
/**
* This shows how to test the Calculator service component.
*/
-public class CalculatorTestCase extends TestCase {
+public class XSDValidationTestCase extends TestCase {
private CalculatorService calculatorService;
- private SCADomain scaDomain;
+ //private SCADomain scaDomain;
+ private SCANode2 node;
@Override
protected void setUp() throws Exception {
- scaDomain = SCADomain.newInstance("Calculator.composite");
- calculatorService = scaDomain.getService(CalculatorService.class, "CalculatorServiceComponent");
+ //scaDomain = SCADomain.newInstance("XsdValidation/Calculator.composite");
+ //calculatorService = scaDomain.getService(CalculatorService.class, "CalculatorServiceComponent");
+ SCANode2Factory nodeFactory = SCANode2Factory.newInstance();
+ node = nodeFactory.createSCANode(new File("src/main/resources/XsdValidation/Calculator.composite").toURL().toString(),
+ new SCAContribution("TestContribution",
+ new File("src/main/resources/XsdValidation").toURL().toString()));
+ node.start();
+ calculatorService = ((SCAClient)node).getService(CalculatorService.class, "CalculatorServiceComponent");
}
@Override
protected void tearDown() throws Exception {
- scaDomain.close();
+ //scaDomain.close();
+ node.stop();
}
public void testCalculator() throws Exception {
- // Calculate
- assertEquals(calculatorService.add(3, 2), 5.0);
- assertEquals(calculatorService.subtract(3, 2), 1.0);
- assertEquals(calculatorService.multiply(3, 2), 6.0);
- assertEquals(calculatorService.divide(3, 2), 1.5);
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ MonitorFactory monitorFactory = registry.getExtensionPoint(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = ((DefaultLoggingMonitorImpl)monitor).getLastLoggedProblem();
+
+ // TODO - XSD errors need turing into monitored validation errors
}
}
Modified: incubator/tuscany/java/sca/modules/assembly/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/pom.xml?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/assembly/pom.xml Fri Apr 18 09:51:20 2008
@@ -41,10 +41,16 @@
<version>2.0-incubating-SNAPSHOT</version>
</dependency>
- <dependency>
+ <dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-definitions</artifactId>
<version>2.0-incubating-SNAPSHOT</version>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-monitor</artifactId>
+ <version>2.0-incubating-SNAPSHOT</version>
+ </dependency>
</dependencies>
</project>
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java Fri Apr 18 09:51:20 2008
@@ -26,12 +26,12 @@
import org.apache.tuscany.sca.assembly.SCABindingFactory;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderMonitor;
-import org.apache.tuscany.sca.assembly.builder.Problem;
-import org.apache.tuscany.sca.assembly.builder.Problem.Severity;
import org.apache.tuscany.sca.definitions.SCADefinitions;
import org.apache.tuscany.sca.interfacedef.IncompatibleInterfaceContractException;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.monitor.Problem.Severity;
import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
/**
@@ -57,28 +57,34 @@
SCABindingFactory scaBindingFactory,
IntentAttachPointTypeFactory intentAttachPointTypeFactory,
InterfaceContractMapper interfaceContractMapper,
- CompositeBuilderMonitor monitor) {
+ Monitor monitor) {
- if (monitor == null) {
- // Create a default monitor that logs using the JDK logger.
- monitor = new CompositeBuilderMonitor() {
+ if (monitor == null){
+ monitor = new Monitor () {
public void problem(Problem problem) {
+
+ Logger problemLogger = Logger.getLogger(problem.getSourceClassName(), problem.getBundleName());
+
+ if (problemLogger == null){
+ logger.severe("Can't get logger " + problem.getSourceClassName()+ " with bundle " + problem.getBundleName());
+ }
+
if (problem.getSeverity() == Severity.INFO) {
- logger.info(problem.toString());
+ problemLogger.log(Level.INFO, problem.getMessageId(), problem.getMessageParams());
} else if (problem.getSeverity() == Severity.WARNING) {
- logger.warning(problem.toString());
+ problemLogger.log(Level.WARNING, problem.getMessageId(), problem.getMessageParams());
} else if (problem.getSeverity() == Severity.ERROR) {
if (problem.getCause() != null) {
- logger.log(Level.SEVERE, problem.toString(), problem.getCause());
+ problemLogger.log(Level.SEVERE, problem.getMessageId(), problem.getCause());
} else {
- logger.severe(problem.toString());
+ problemLogger.log(Level.SEVERE, problem.getMessageId(), problem.getMessageParams());
}
}
- }
+ }
};
}
-
- includeBuilder = new CompositeIncludeBuilderImpl(monitor);
+
+ includeBuilder = new CompositeIncludeBuilderImpl(monitor);
wireBuilder = new CompositeWireBuilderImpl(assemblyFactory, interfaceContractMapper, monitor);
cloneBuilder = new CompositeCloneBuilderImpl(monitor);
configurationBuilder = new CompositeConfigurationBuilderImpl(assemblyFactory, scaBindingFactory, intentAttachPointTypeFactory, interfaceContractMapper, monitor);
@@ -89,7 +95,7 @@
SCABindingFactory scaBindingFactory,
IntentAttachPointTypeFactory intentAttachPointTypeFactory,
InterfaceContractMapper interfaceContractMapper,
- CompositeBuilderMonitor monitor,
+ Monitor monitor,
SCADefinitions scaDefns) {
this(assemblyFactory, scaBindingFactory, intentAttachPointTypeFactory, interfaceContractMapper, monitor);
configurationBuilder.setScaDefinitions(scaDefns);
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeCloneBuilderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeCloneBuilderImpl.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeCloneBuilderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeCloneBuilderImpl.java Fri Apr 18 09:51:20 2008
@@ -26,11 +26,11 @@
import org.apache.tuscany.sca.assembly.Component;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderMonitor;
+import org.apache.tuscany.sca.monitor.Monitor;
public class CompositeCloneBuilderImpl {
- public CompositeCloneBuilderImpl(CompositeBuilderMonitor monitor) {
+ public CompositeCloneBuilderImpl(Monitor monitor) {
}
/**
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java Fri Apr 18 09:51:20 2008
@@ -43,11 +43,12 @@
import org.apache.tuscany.sca.assembly.Service;
import org.apache.tuscany.sca.assembly.builder.ComponentPreProcessor;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderMonitor;
-import org.apache.tuscany.sca.assembly.builder.Problem.Severity;
import org.apache.tuscany.sca.definitions.SCADefinitions;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.monitor.Problem.Severity;
import org.apache.tuscany.sca.policy.IntentAttachPoint;
import org.apache.tuscany.sca.policy.IntentAttachPointType;
import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
@@ -59,7 +60,7 @@
private AssemblyFactory assemblyFactory;
private SCABindingFactory scaBindingFactory;
- private CompositeBuilderMonitor monitor;
+ private Monitor monitor;
private InterfaceContractMapper interfaceContractMapper;
private IntentAttachPointTypeFactory intentAttachPointTypeFactory;
private SCADefinitions scaDefinitions = null;
@@ -68,7 +69,7 @@
SCABindingFactory scaBindingFactory,
IntentAttachPointTypeFactory intentAttachPointTypeFactory,
InterfaceContractMapper interfaceContractMapper,
- CompositeBuilderMonitor monitor) {
+ Monitor monitor) {
this.assemblyFactory = assemblyFactory;
this.scaBindingFactory = scaBindingFactory;
this.intentAttachPointTypeFactory = intentAttachPointTypeFactory;
@@ -177,9 +178,12 @@
// Index all components and check for duplicates
if (components.containsKey(component.getName())) {
+ /*
warning("Duplicate component name: " + composite.getName()
- + " : "
- + component.getName(), composite);
+ + " : "
+ + component.getName(), composite);
+ */
+ warning("DuplicateComponentName", component, composite.getName().toString(), component.getName());
} else {
components.put(component.getName(), component);
}
@@ -295,8 +299,9 @@
* @param message
* @param model
*/
- private void warning(String message, Object model) {
- monitor.problem(new ProblemImpl(Severity.WARNING, message, model));
+ private void warning(String message, Object model, String... messageParameters) {
+ Problem problem = new ProblemImpl(this.getClass().getName(), "assembly-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters);
+ monitor.problem(problem);
}
/**
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeIncludeBuilderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeIncludeBuilderImpl.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeIncludeBuilderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeIncludeBuilderImpl.java Fri Apr 18 09:51:20 2008
@@ -26,14 +26,14 @@
import java.util.logging.Logger;
import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderMonitor;
+import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
public class CompositeIncludeBuilderImpl {
public static Logger logger = Logger.getLogger(CompositeIncludeBuilderImpl.class.getName());
- public CompositeIncludeBuilderImpl(CompositeBuilderMonitor monitor) {
+ public CompositeIncludeBuilderImpl(Monitor monitor) {
}
/**
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeWireBuilderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeWireBuilderImpl.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeWireBuilderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeWireBuilderImpl.java Fri Apr 18 09:51:20 2008
@@ -43,16 +43,17 @@
import org.apache.tuscany.sca.assembly.SCABinding;
import org.apache.tuscany.sca.assembly.Service;
import org.apache.tuscany.sca.assembly.Wire;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderMonitor;
-import org.apache.tuscany.sca.assembly.builder.Problem.Severity;
import org.apache.tuscany.sca.interfacedef.IncompatibleInterfaceContractException;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.monitor.Problem.Severity;
import org.apache.tuscany.sca.policy.util.PolicyComputationUtils;
public class CompositeWireBuilderImpl {
- private CompositeBuilderMonitor monitor;
+ private Monitor monitor;
private AssemblyFactory assemblyFactory;
private InterfaceContractMapper interfaceContractMapper;
@@ -78,7 +79,7 @@
}
};
- public CompositeWireBuilderImpl(AssemblyFactory assemblyFactory, InterfaceContractMapper interfaceContractMapper, CompositeBuilderMonitor monitor) {
+ public CompositeWireBuilderImpl(AssemblyFactory assemblyFactory, InterfaceContractMapper interfaceContractMapper, Monitor monitor) {
this.assemblyFactory = assemblyFactory;
this.interfaceContractMapper = interfaceContractMapper;
this.monitor = monitor;
@@ -205,7 +206,8 @@
* @param model
*/
private void warning(String message, Object model) {
- monitor.problem(new ProblemImpl(Severity.WARNING, message, model));
+ Problem problem = new ProblemImpl(this.getClass().getName(), "assembly-validation-messages", Severity.WARNING, model, message);
+ monitor.problem(problem);
}
/**
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/DomainWireBuilderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/DomainWireBuilderImpl.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/DomainWireBuilderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/DomainWireBuilderImpl.java Fri Apr 18 09:51:20 2008
@@ -31,9 +31,9 @@
import org.apache.tuscany.sca.assembly.Reference;
import org.apache.tuscany.sca.assembly.SCABindingFactory;
import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderMonitor;
import org.apache.tuscany.sca.assembly.builder.DomainBuilder;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
+import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
public class DomainWireBuilderImpl implements DomainBuilder {
@@ -44,7 +44,7 @@
SCABindingFactory scaBindingFactory,
IntentAttachPointTypeFactory intentAttachPointTypeFactory,
InterfaceContractMapper interfaceContractMapper,
- CompositeBuilderMonitor monitor) {
+ Monitor monitor) {
wireBuilder = new CompositeWireBuilderImpl(assemblyFactory, interfaceContractMapper, monitor);
}
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java Fri Apr 18 09:51:20 2008
@@ -19,7 +19,7 @@
package org.apache.tuscany.sca.assembly.builder.impl;
-import org.apache.tuscany.sca.assembly.builder.Problem;
+import org.apache.tuscany.sca.monitor.Problem;
/**
* Reports a composite assembly problem.
@@ -28,85 +28,87 @@
*/
public class ProblemImpl implements Problem {
- private String message;
+ private String sourceClassName;
+ private String bundleName;
private Severity severity;
- private Object model;
- private Object resource;
+ private Object problemObject;
+ private String messageId;
+ private Object[] messageParams;
private Exception cause;
/**
- * Constructs a new problem.
+ * Construct a new problem
*
- * @param severity
- * @param message
- * @param model
+ * @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
*/
- public ProblemImpl(Severity severity, String message, Object model) {
+ public ProblemImpl(String sourceClassName, String bundleName, Severity severity, Object problemObject, String messageId, Object... messageParams ) {
+ this.sourceClassName = sourceClassName;
+ this.bundleName = bundleName;
this.severity = severity;
- this.message = message;
- this.model = model;
+ this.problemObject = problemObject;
+ this.messageId = messageId;
+ this.messageParams = messageParams;
}
-
- /**
- * Constructs a new problem.
- *
- * @param severity
- * @param message
- * @param model
- * @param resource
- */
- public ProblemImpl(Severity severity, String message, Object model, Object resource) {
- this.severity = severity;
- this.message = message;
- this.model = model;
- this.resource = resource;
- }
-
+
/**
- * Constructs a new problem.
+ * Construct a new problem
*
- * @param severity
- * @param message
- * @param cause
+ * @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
*/
- public ProblemImpl(Severity severity, String message, Exception cause) {
- this.severity = severity;
- this.message = message;
+ public ProblemImpl(String sourceClassName, String bundleName, Severity severity, Object problemObject, String messageId, Exception cause) {
+ this.sourceClassName = sourceClassName;
+ this.bundleName = bundleName;
+ this.severity = severity;
+ this.problemObject = problemObject;
+ this.messageId = messageId;
this.cause = cause;
- }
+ }
+ public String getSourceClassName() {
+ return sourceClassName;
+ }
+
+ public String getBundleName() {
+ return bundleName;
+ }
+
public Severity getSeverity() {
return severity;
}
-
- public String getMessage() {
- return message;
+
+ public Object getProblemObject() {
+ return problemObject;
}
-
- public Object getModel() {
- return model;
+
+ public String getMessageId() {
+ return messageId;
}
- public Object getResource() {
- return resource;
+ public Object[] getMessageParams() {
+ return messageParams;
}
-
+
public Exception getCause() {
return cause;
- }
+ }
@Override
public String toString() {
StringBuffer sb = new StringBuffer();
- if (message != null) {
- sb.append(message);
- }
- if (resource != null) {
- if (sb.length() != 0) {
- sb.append(" - ");
- }
- sb.append(resource.toString());
+ if (messageId != null) {
+ sb.append(messageId);
}
+
return sb.toString();
}
}
Added: incubator/tuscany/java/sca/modules/assembly/src/main/resources/assembly-validation-messages_en.properties
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/resources/assembly-validation-messages_en.properties?rev=649607&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/resources/assembly-validation-messages_en.properties (added)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/resources/assembly-validation-messages_en.properties Fri Apr 18 09:51:20 2008
@@ -0,0 +1,21 @@
+#
+#
+# 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.
+#
+#
+DuplicateComponentName = Duplicate component name: Composite = {0} Component = {1}
Propchange: incubator/tuscany/java/sca/modules/assembly/src/main/resources/assembly-validation-messages_en.properties
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/assembly/src/main/resources/assembly-validation-messages_en.properties
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/java/sca/modules/assembly/src/main/resources/assembly-validation-messages_en.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: incubator/tuscany/java/sca/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/CalculateBindingURITestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/CalculateBindingURITestCase.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/CalculateBindingURITestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/CalculateBindingURITestCase.java Fri Apr 18 09:51:20 2008
@@ -37,15 +37,15 @@
import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
import org.apache.tuscany.sca.assembly.SCABinding;
import org.apache.tuscany.sca.assembly.SCABindingFactory;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderMonitor;
-import org.apache.tuscany.sca.assembly.builder.Problem;
-import org.apache.tuscany.sca.assembly.builder.Problem.Severity;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.monitor.Problem.Severity;
public class CalculateBindingURITestCase extends TestCase {
private final static Logger logger = Logger.getLogger(CalculateBindingURITestCase.class.getName());
private AssemblyFactory assemblyFactory;
private SCABindingFactory scaBindingFactory = null;
- private CompositeBuilderMonitor monitor = null;
+ private Monitor monitor = null;
private CompositeConfigurationBuilderImpl configurationBuilder = null;
private List<Binding> defaultBindings = new ArrayList<Binding>();
@@ -53,7 +53,7 @@
protected void setUp() throws Exception {
assemblyFactory = new DefaultAssemblyFactory();
scaBindingFactory = new TestBindingFactory();
- monitor = new CompositeBuilderMonitor() {
+ monitor = new Monitor() {
public void problem(Problem problem) {
if (problem.getSeverity() == Severity.INFO) {
logger.info(problem.toString());
Modified: incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java Fri Apr 18 09:51:20 2008
@@ -30,8 +30,6 @@
import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
import org.apache.tuscany.sca.assembly.SCABindingFactory;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderMonitor;
-import org.apache.tuscany.sca.assembly.builder.Problem;
import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
import org.apache.tuscany.sca.assembly.xml.ComponentTypeProcessor;
import org.apache.tuscany.sca.assembly.xml.CompositeProcessor;
@@ -68,6 +66,8 @@
import org.apache.tuscany.sca.interfacedef.java.DefaultJavaInterfaceFactory;
import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
import org.apache.tuscany.sca.interfacedef.java.xml.JavaInterfaceProcessor;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
import org.apache.tuscany.sca.policy.DefaultIntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
@@ -168,14 +168,10 @@
private void buildComposite(Composite composite, AssemblyFactory assemblyFactory,
SCABindingFactory scaBindingFactory, InterfaceContractMapper interfaceContractMapper) throws CompositeBuilderException {
- CompositeBuilderMonitor monitor = new CompositeBuilderMonitor() {
+ Monitor monitor = new Monitor() {
public void problem(Problem problem) {
- // Uncommenting the following two lines can be useful to detect
- // and troubleshoot SCA assembly XML composite configuration
- // problems.
-
- System.out.println("Composite assembly problem: " + problem);
+ System.out.println("Composite assembly problem: " + problem.toString());
}
};
Modified: incubator/tuscany/java/sca/modules/host-embedded/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/pom.xml?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/pom.xml Fri Apr 18 09:51:20 2008
@@ -101,6 +101,7 @@
<version>2.0-incubating-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
+
</dependencies>
</project>
Modified: incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java Fri Apr 18 09:51:20 2008
@@ -57,6 +57,8 @@
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
import org.apache.tuscany.sca.invocation.MessageFactory;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
import org.apache.tuscany.sca.policy.DefaultIntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
import org.apache.tuscany.sca.policy.Intent;
@@ -193,12 +195,23 @@
IntentAttachPointTypeFactory intentAttachPointTypeFactory = factories.getFactory(IntentAttachPointTypeFactory.class);
InterfaceContractMapper mapper = new InterfaceContractMapperImpl();
+ // create a monitor to catch validation errors
+ MonitorFactory monitorFactory = registry.getExtensionPoint(MonitorFactory.class);
+ Monitor monitor = null;
+
+ if (monitorFactory != null){
+ monitor = monitorFactory.createMonitor();
+ } else {
+ logger.warning("Can't find monitor extension on the classpath");
+ }
+
//Create a composite builder
SCADefinitions scaDefns = new SCADefinitionsImpl();
for ( SCADefinitions aDef : ((List<SCADefinitions>)scaDefnsSink) ) {
SCADefinitionsUtil.aggregateSCADefinitions(aDef, scaDefns);
}
- compositeBuilder = ReallySmallRuntimeBuilder.createCompositeBuilder(assemblyFactory,
+ compositeBuilder = ReallySmallRuntimeBuilder.createCompositeBuilder(monitor,
+ assemblyFactory,
scaBindingFactory,
intentAttachPointTypeFactory,
mapper,
Modified: incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java Fri Apr 18 09:51:20 2008
@@ -85,6 +85,7 @@
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
import org.apache.tuscany.sca.invocation.MessageFactory;
+import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
@@ -146,16 +147,19 @@
return compositeActivator;
}
- public static CompositeBuilder createCompositeBuilder(AssemblyFactory assemblyFactory,
+ public static CompositeBuilder createCompositeBuilder(Monitor monitor,
+ AssemblyFactory assemblyFactory,
SCABindingFactory scaBindingFactory,
IntentAttachPointTypeFactory intentAttachPointTypeFactory,
InterfaceContractMapper interfaceContractMapper,
SCADefinitions scaDefns) {
+
+
return new CompositeBuilderImpl(assemblyFactory,
scaBindingFactory,
intentAttachPointTypeFactory,
interfaceContractMapper,
- null,
+ monitor,
scaDefns);
}
Modified: incubator/tuscany/java/sca/modules/monitor-logging/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/monitor-logging/pom.xml?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/monitor-logging/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/monitor-logging/pom.xml Fri Apr 18 09:51:20 2008
@@ -27,8 +27,8 @@
<relativePath>../pom.xml</relativePath>
</parent>
- <artifactId>tuscany-monitor-impl</artifactId>
- <name>Apache Tuscany Monitor Default Implementation</name>
+ <artifactId>tuscany-monitor-Logging</artifactId>
+ <name>Apache Tuscany SCA Monitor Default Logging Implementation</name>
<dependencies>
@@ -37,6 +37,12 @@
<artifactId>tuscany-monitor</artifactId>
<version>2.0-incubating-SNAPSHOT</version>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-assembly</artifactId>
+ <version>2.0-incubating-SNAPSHOT</version>
+ </dependency>
</dependencies>
Modified: incubator/tuscany/java/sca/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultLoggingMonitorImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultLoggingMonitorImpl.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultLoggingMonitorImpl.java (original)
+++ incubator/tuscany/java/sca/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultLoggingMonitorImpl.java Fri Apr 18 09:51:20 2008
@@ -35,6 +35,8 @@
public class DefaultLoggingMonitorImpl implements Monitor {
private final static Logger logger = Logger.getLogger(DefaultLoggingMonitorImpl.class.getName());
+ // remembers the last logged problem for testing purposes
+ private Problem lastProblem = null;
/**
* Reports a build problem.
@@ -43,6 +45,8 @@
*/
public void problem(Problem problem) {
+ lastProblem = problem;
+
Logger problemLogger = Logger.getLogger(problem.getSourceClassName(), problem.getBundleName());
if (problemLogger == null){
@@ -60,5 +64,9 @@
problemLogger.log(Level.SEVERE, problem.getMessageId(), problem.getMessageParams());
}
}
+ }
+
+ public Problem getLastLoggedProblem(){
+ return lastProblem;
}
}
Modified: incubator/tuscany/java/sca/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/impl/MonitorFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/impl/MonitorFactoryImpl.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/impl/MonitorFactoryImpl.java (original)
+++ incubator/tuscany/java/sca/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/impl/MonitorFactoryImpl.java Fri Apr 18 09:51:20 2008
@@ -34,8 +34,13 @@
* @version $Rev$ $Date$
*/
public class MonitorFactoryImpl implements MonitorFactory {
+
+ private Monitor monitor = null;
public Monitor createMonitor() {
- return new DefaultLoggingMonitorImpl();
+ if (monitor == null){
+ monitor = new DefaultLoggingMonitorImpl();
+ }
+ return monitor ;
}
}
Copied: incubator/tuscany/java/sca/modules/monitor-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.monitor.MonitorFactory (from r649466, incubator/tuscany/java/sca/modules/monitor-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.monitor.MonitorFactory)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/monitor-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.monitor.MonitorFactory?p2=incubator/tuscany/java/sca/modules/monitor-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.monitor.MonitorFactory&p1=incubator/tuscany/java/sca/modules/monitor-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.monitor.MonitorFactory&r1=649466&r2=649607&rev=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/monitor-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.monitor.MonitorFactory (original)
+++ incubator/tuscany/java/sca/modules/monitor-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.monitor.MonitorFactory Fri Apr 18 09:51:20 2008
@@ -15,4 +15,4 @@
# specific language governing permissions and limitations
# under the License.
-org.apache.tuscany.sca.assembly.monitor.impl.MonitorFactoryImpl
+org.apache.tuscany.sca.monitor.impl.MonitorFactoryImpl
Modified: incubator/tuscany/java/sca/modules/monitor/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/monitor/pom.xml?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/monitor/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/monitor/pom.xml Fri Apr 18 09:51:20 2008
@@ -28,7 +28,7 @@
</parent>
<artifactId>tuscany-monitor</artifactId>
- <name>Apache Tuscany Monitor</name>
+ <name>Apache Tuscany SCA Monitor</name>
<dependencies>
Modified: incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java (original)
+++ incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java Fri Apr 18 09:51:20 2008
@@ -77,7 +77,7 @@
* Creates a new SCA node.
*
* @param compositeURI the URI of the composite to use
- * @param contributions the URI of the composite to use
+ * @param contributions the URI of the contributions that provides the composites and related artifacts
* @return a new SCA node.
*/
public abstract SCANode2 createSCANode(String compositeURI, SCAContribution... contributions);
Modified: incubator/tuscany/java/sca/modules/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/pom.xml?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/pom.xml Fri Apr 18 09:51:20 2008
@@ -125,6 +125,8 @@
<module>implementation-spring</module>
<module>implementation-widget</module>
<module>implementation-xquery</module>
+ <module>monitor</module>
+ <module>monitor-logging</module>
<module>node</module>
<module>node-api</module>
<module>node2-api</module>
Modified: incubator/tuscany/java/sca/modules/workspace-admin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/pom.xml?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-admin/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/workspace-admin/pom.xml Fri Apr 18 09:51:20 2008
@@ -163,6 +163,13 @@
<version>2.0-incubating-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-monitor-logging</artifactId>
+ <version>2.0-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
</dependencies>
Modified: incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java (original)
+++ incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java Fri Apr 18 09:51:20 2008
@@ -54,7 +54,6 @@
import org.apache.tuscany.sca.assembly.AssemblyFactory;
import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.builder.Problem;
import org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor;
import org.apache.tuscany.sca.assembly.xml.CompositeProcessor;
import org.apache.tuscany.sca.contribution.Contribution;
@@ -74,16 +73,20 @@
import org.apache.tuscany.sca.contribution.xml.ContributionGeneratedMetadataDocumentProcessor;
import org.apache.tuscany.sca.contribution.xml.ContributionMetadataDocumentProcessor;
import org.apache.tuscany.sca.contribution.xml.ContributionMetadataProcessor;
+import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.implementation.data.collection.Entry;
import org.apache.tuscany.sca.implementation.data.collection.Item;
import org.apache.tuscany.sca.implementation.data.collection.ItemCollection;
import org.apache.tuscany.sca.implementation.data.collection.LocalItemCollection;
import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
import org.apache.tuscany.sca.policy.PolicyFactory;
import org.apache.tuscany.sca.workspace.Workspace;
import org.apache.tuscany.sca.workspace.WorkspaceFactory;
import org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder;
-import org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilderMonitor;
import org.apache.tuscany.sca.workspace.builder.impl.ContributionDependencyBuilderImpl;
import org.apache.tuscany.sca.workspace.processor.impl.ContributionInfoProcessor;
import org.apache.tuscany.sca.workspace.xml.WorkspaceProcessor;
@@ -114,6 +117,8 @@
@Property
public String deploymentContributionDirectory;
+ private ExtensionPointRegistry registry;
+ private Monitor monitor;
private ContributionFactory contributionFactory;
private AssemblyFactory assemblyFactory;
private WorkspaceFactory workspaceFactory;
@@ -130,6 +135,13 @@
@Init
public void initialize() throws ParserConfigurationException {
+ registry = new DefaultExtensionPointRegistry();
+
+ // create a validation monitor
+ MonitorFactory monitorFactory = registry.getExtensionPoint(MonitorFactory.class);
+ monitor = monitorFactory.createMonitor();
+
+
// Create model factories
ModelFactoryExtensionPoint modelFactories = new DefaultModelFactoryExtensionPoint();
outputFactory = modelFactories.getFactory(XMLOutputFactory.class);
@@ -294,10 +306,10 @@
// Look for the specified contribution
for (Contribution contribution: workspace.getContributions()) {
- if (key.equals(contribution.getURI())) {
+ if (key.equals(contribution.getURI())) {
// Compute the contribution dependencies
- ContributionDependencyBuilder analyzer = new ContributionDependencyBuilderImpl(null);
+ ContributionDependencyBuilder analyzer = new ContributionDependencyBuilderImpl(monitor);
List<Contribution> dependencies = analyzer.buildContributionDependencies(workspace, contribution);
// Returns entries for the dependencies
@@ -348,9 +360,9 @@
// List the contribution dependencies in the item contents
final List<String> problems = new ArrayList<String>();
- ContributionDependencyBuilderMonitor monitor = new ContributionDependencyBuilderMonitor() {
+ Monitor monitor = new Monitor() {
public void problem(Problem problem) {
- problems.add(problem.getMessage() + " " + problem.getModel());
+ problems.add(problem.getMessageId() + " " + problem.getProblemObject().toString());
}
};
Modified: incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java (original)
+++ incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java Fri Apr 18 09:51:20 2008
@@ -60,9 +60,6 @@
import org.apache.tuscany.sca.assembly.SCABindingFactory;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderMonitor;
-import org.apache.tuscany.sca.assembly.builder.Problem;
-import org.apache.tuscany.sca.assembly.builder.Problem.Severity;
import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
import org.apache.tuscany.sca.assembly.builder.impl.CompositeConfigurationBuilderImpl;
import org.apache.tuscany.sca.assembly.xml.Constants;
@@ -97,6 +94,8 @@
import org.apache.tuscany.sca.implementation.node.NodeImplementation;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
import org.apache.tuscany.sca.workspace.processor.impl.ContributionContentProcessor;
@@ -177,22 +176,10 @@
IntentAttachPointTypeFactory intentAttachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
InterfaceContractMapper contractMapper = new InterfaceContractMapperImpl();
- // TODO need to get these messages back to the browser
- CompositeBuilderMonitor monitor = new CompositeBuilderMonitor() {
- public void problem(Problem problem) {
- if (problem.getSeverity() == Severity.INFO) {
- logger.info(problem.toString());
- } else if (problem.getSeverity() == Severity.WARNING) {
- logger.warning(problem.toString());
- } else if (problem.getSeverity() == Severity.ERROR) {
- if (problem.getCause() != null) {
- logger.log(Level.SEVERE, problem.toString(), problem.getCause());
- } else {
- logger.severe(problem.toString());
- }
- }
- }
- };
+ // TODO need to get these messages back to the browser - So need
+ // a monitor that caches all the problems for a set of processing
+ MonitorFactory monitorFactory = registry.getExtensionPoint(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, intentAttachPointTypeFactory,
contractMapper, monitor);
Modified: incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderImpl.java?rev=649607&r1=649606&r2=649607&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderImpl.java Fri Apr 18 09:51:20 2008
@@ -27,15 +27,15 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.apache.tuscany.sca.assembly.builder.Problem;
-import org.apache.tuscany.sca.assembly.builder.Problem.Severity;
import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl;
import org.apache.tuscany.sca.contribution.Contribution;
import org.apache.tuscany.sca.contribution.Export;
import org.apache.tuscany.sca.contribution.Import;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.monitor.Problem.Severity;
import org.apache.tuscany.sca.workspace.Workspace;
import org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder;
-import org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilderMonitor;
/**
* A contribution dependency builder.
@@ -45,32 +45,13 @@
public class ContributionDependencyBuilderImpl implements ContributionDependencyBuilder {
private final static Logger logger = Logger.getLogger(ContributionDependencyBuilderImpl.class.getName());
- private ContributionDependencyBuilderMonitor monitor;
+ private Monitor monitor;
/**
* Constructs a new ContributionDependencyBuilder.
*/
- public ContributionDependencyBuilderImpl(ContributionDependencyBuilderMonitor monitor) {
-
- if (monitor == null) {
- // Create a default monitor that logs using the JDK logger.
- monitor = new ContributionDependencyBuilderMonitor() {
- public void problem(Problem problem) {
- if (problem.getSeverity() == Severity.INFO) {
- logger.info(problem.toString());
- } else if (problem.getSeverity() == Severity.WARNING) {
- logger.warning(problem.toString());
- } else if (problem.getSeverity() == Severity.ERROR) {
- if (problem.getCause() != null) {
- logger.log(Level.SEVERE, problem.toString(), problem.getCause());
- } else {
- logger.severe(problem.toString());
- }
- }
- }
- };
- }
-
+ public ContributionDependencyBuilderImpl(Monitor monitor) {
+
this.monitor = monitor;
}
@@ -127,7 +108,8 @@
if (!resolved) {
// Record import resolution issue
- monitor.problem(new ProblemImpl(Severity.WARNING, "Unresolved import", import_));
+ Problem problem = new ProblemImpl(this.getClass().getName(), "workspace-validation-messages", Severity.WARNING, import_, "Unresolved import");
+ monitor.problem(problem);
}
}
}
Added: incubator/tuscany/java/sca/modules/workspace-impl/src/main/resources/workspace-validation-messages_en.properties
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-impl/src/main/resources/workspace-validation-messages_en.properties?rev=649607&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-impl/src/main/resources/workspace-validation-messages_en.properties (added)
+++ incubator/tuscany/java/sca/modules/workspace-impl/src/main/resources/workspace-validation-messages_en.properties Fri Apr 18 09:51:20 2008
@@ -0,0 +1,21 @@
+#
+#
+# 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.
+#
+#
+
Propchange: incubator/tuscany/java/sca/modules/workspace-impl/src/main/resources/workspace-validation-messages_en.properties
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/workspace-impl/src/main/resources/workspace-validation-messages_en.properties
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/java/sca/modules/workspace-impl/src/main/resources/workspace-validation-messages_en.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org