Author: rfeng
Date: Tue Oct 14 13:05:45 2008
New Revision: 704653

URL: http://svn.apache.org/viewvc?rev=704653&view=rev
Log:
Add a factory for SCA Definitions and restrict the export-package 

Added:
    
tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefaultDefinitionsFactory.java
   (with props)
    
tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefinitionsFactory.java
   (with props)
    tuscany/branches/sca-equinox/modules/definitions/src/main/resources/
    
tuscany/branches/sca-equinox/modules/definitions/src/main/resources/META-INF/
    
tuscany/branches/sca-equinox/modules/definitions/src/main/resources/META-INF/services/
    
tuscany/branches/sca-equinox/modules/definitions/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.DefinitionsFactory
Modified:
    tuscany/branches/sca-equinox/modules/definitions-xml/pom.xml
    
tuscany/branches/sca-equinox/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsDocumentProcessor.java
    
tuscany/branches/sca-equinox/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java
    tuscany/branches/sca-equinox/modules/definitions/pom.xml

Modified: tuscany/branches/sca-equinox/modules/definitions-xml/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-equinox/modules/definitions-xml/pom.xml?rev=704653&r1=704652&r2=704653&view=diff
==============================================================================
--- tuscany/branches/sca-equinox/modules/definitions-xml/pom.xml (original)
+++ tuscany/branches/sca-equinox/modules/definitions-xml/pom.xml Tue Oct 14 
13:05:45 2008
@@ -72,7 +72,7 @@
                         <Bundle-Version>${tuscany.version}</Bundle-Version>
                         
<Bundle-SymbolicName>org.apache.tuscany.sca.definitions.xml</Bundle-SymbolicName>
                         <Bundle-Description>${pom.name}</Bundle-Description>
-                        
<Export-Package>org.apache.tuscany.sca.definitions.xml*</Export-Package>
+                        <Export-Package></Export-Package>
                     </instructions>
                 </configuration>
             </plugin>

Modified: 
tuscany/branches/sca-equinox/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsDocumentProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-equinox/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsDocumentProcessor.java?rev=704653&r1=704652&r2=704653&view=diff
==============================================================================
--- 
tuscany/branches/sca-equinox/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsDocumentProcessor.java
 (original)
+++ 
tuscany/branches/sca-equinox/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsDocumentProcessor.java
 Tue Oct 14 13:05:45 2008
@@ -40,22 +40,22 @@
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.core.FactoryExtensionPoint;
+import org.apache.tuscany.sca.definitions.DefinitionsFactory;
 import org.apache.tuscany.sca.definitions.SCADefinitions;
-import org.apache.tuscany.sca.definitions.impl.SCADefinitionsImpl;
 import org.apache.tuscany.sca.definitions.util.SCADefinitionsUtil;
 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.monitor.impl.ProblemImpl;
 
 /**
  * A SCA Definitions Document processor.
  *
  * @version $Rev$ $Date$
  */
-public class SCADefinitionsDocumentProcessor  implements 
URLArtifactProcessor<SCADefinitions> {
+public class SCADefinitionsDocumentProcessor implements 
URLArtifactProcessor<SCADefinitions> {
     private StAXArtifactProcessor<Object> extensionProcessor;
     private XMLInputFactory inputFactory;
+    private DefinitionsFactory definitionsFactory;
     private static final String TUSCANY_NS = 
"http://tuscany.apache.org/xmlns/sca/1.0";;
     private static final String DEFINITIONS = "definitions";
     private static final QName DEFINITIONS_QNAME = new QName(TUSCANY_NS, 
DEFINITIONS);
@@ -69,9 +69,11 @@
      */
     public SCADefinitionsDocumentProcessor(StAXArtifactProcessor<Object> 
staxProcessor,
                                            XMLInputFactory inputFactory,
+                                           DefinitionsFactory 
definitionsFactory,
                                            Monitor monitor) {
         this.extensionProcessor = (StAXArtifactProcessor<Object>)staxProcessor;
         this.inputFactory = inputFactory;
+        this.definitionsFactory = definitionsFactory;
         this.monitor = monitor;
     }
 
@@ -81,14 +83,15 @@
      * @param modelFactories
      * @param staxProcessor
      */
-    public SCADefinitionsDocumentProcessor(FactoryExtensionPoint 
modelFactories, 
-                                                                          
StAXArtifactProcessor<Object> staxProcessor,
-                                                                          
Monitor monitor) {
+    public SCADefinitionsDocumentProcessor(FactoryExtensionPoint 
modelFactories,
+                                           StAXArtifactProcessor<Object> 
staxProcessor,
+                                           Monitor monitor) {
         this.extensionProcessor = (StAXArtifactProcessor<Object>)staxProcessor;
         this.inputFactory = modelFactories.getFactory(XMLInputFactory.class);
+        this.definitionsFactory = 
modelFactories.getFactory(DefinitionsFactory.class);
         this.monitor = monitor;
     }
-    
+
     /**
      * Report a error.
      * 
@@ -96,13 +99,19 @@
      * @param message
      * @param model
      */
-     private void error(String message, Object model, Object... 
messageParameters) {
-        if (monitor != null) {
-               Problem problem = 
monitor.createProblem(this.getClass().getName(), 
"definitions-xml-validation-messages", Severity.ERROR, model, message, 
(Object[])messageParameters);
-               monitor.problem(problem);
-        }
-     }
-    
+    private void error(String message, Object model, Object... 
messageParameters) {
+        if (monitor != null) {
+            Problem problem =
+                monitor.createProblem(this.getClass().getName(),
+                                      "definitions-xml-validation-messages",
+                                      Severity.ERROR,
+                                      model,
+                                      message,
+                                      (Object[])messageParameters);
+            monitor.problem(problem);
+        }
+    }
+
     /**
      * Report a exception.
      * 
@@ -110,17 +119,22 @@
      * @param message
      * @param model
      */
-     private void error(String message, Object model, Exception ex) {
-        if (monitor != null) {
-                Problem problem = 
monitor.createProblem(this.getClass().getName(), 
"definitions-xml-validation-messages", Severity.ERROR, model, message, ex);
-            monitor.problem(problem);
-        }        
-     }
-    
+    private void error(String message, Object model, Exception ex) {
+        if (monitor != null) {
+            Problem problem =
+                monitor.createProblem(this.getClass().getName(),
+                                      "definitions-xml-validation-messages",
+                                      Severity.ERROR,
+                                      model,
+                                      message,
+                                      ex);
+            monitor.problem(problem);
+        }
+    }
 
     public SCADefinitions read(URL contributionURL, final URI uri, final URL 
url) throws ContributionReadException {
-        InputStream urlStream = null; 
-        try {          
+        InputStream urlStream = null;
+        try {
             // Allow privileged access to open URL stream. Add FilePermission 
to added to security
             // policy file.
             try {
@@ -132,44 +146,43 @@
                     }
                 });
             } catch (PrivilegedActionException e) {
-               error("PrivilegedActionException", url, 
(IOException)e.getException());
+                error("PrivilegedActionException", url, 
(IOException)e.getException());
                 throw (IOException)e.getException();
             }
-            
+
             //urlStream = createInputStream(url);
             XMLStreamReader reader = 
inputFactory.createXMLStreamReader(url.toString(), urlStream);
-            
-            SCADefinitions definitions = new SCADefinitionsImpl();
+
+            SCADefinitions definitions = 
definitionsFactory.createDefinitions();
             QName name = null;
             int event;
-            while ( reader.hasNext() ) {
+            while (reader.hasNext()) {
                 event = reader.next();
-                
-                if ( event == XMLStreamConstants.START_ELEMENT  ||
-                    event == XMLStreamConstants.END_ELEMENT ) {
+
+                if (event == XMLStreamConstants.START_ELEMENT || event == 
XMLStreamConstants.END_ELEMENT) {
                     name = reader.getName();
-                    if ( name.equals(DEFINITIONS_QNAME) ) {
-                        if ( event == XMLStreamConstants.END_ELEMENT ) {
+                    if (name.equals(DEFINITIONS_QNAME)) {
+                        if (event == XMLStreamConstants.END_ELEMENT) {
                             return definitions;
-                        } 
+                        }
                     } else {
                         SCADefinitions aDefn = 
(SCADefinitions)extensionProcessor.read(reader);
                         SCADefinitionsUtil.aggregateSCADefinitions(aDefn, 
definitions);
                     }
                 }
             }
-            
+
             return definitions;
         } catch (XMLStreamException e) {
-               ContributionReadException ce = new ContributionReadException(e);
-               error("ContributionReadException", inputFactory, ce);
+            ContributionReadException ce = new ContributionReadException(e);
+            error("ContributionReadException", inputFactory, ce);
             throw ce;
         } catch (IOException e) {
-               ContributionReadException ce = new ContributionReadException(e);
-               error("ContributionReadException", inputFactory, ce);
+            ContributionReadException ce = new ContributionReadException(e);
+            error("ContributionReadException", inputFactory, ce);
             throw ce;
         } finally {
-        
+
             try {
                 if (urlStream != null) {
                     urlStream.close();
@@ -180,16 +193,16 @@
             }
         }
     }
-    
+
     public void resolve(SCADefinitions scaDefinitions, ModelResolver resolver) 
throws ContributionResolveException {
         SCADefinitionsUtil.stripDuplicates(scaDefinitions);
         extensionProcessor.resolve(scaDefinitions, resolver);
     }
-    
+
     public String getArtifactType() {
         return "definitions.xml";
     }
-    
+
     public Class<SCADefinitions> getModelType() {
         return SCADefinitions.class;
     }

Modified: 
tuscany/branches/sca-equinox/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-equinox/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java?rev=704653&r1=704652&r2=704653&view=diff
==============================================================================
--- 
tuscany/branches/sca-equinox/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java
 (original)
+++ 
tuscany/branches/sca-equinox/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java
 Tue Oct 14 13:05:45 2008
@@ -38,9 +38,9 @@
 import 
org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.FactoryExtensionPoint;
+import org.apache.tuscany.sca.definitions.DefinitionsFactory;
 import org.apache.tuscany.sca.definitions.SCADefinitions;
-import org.apache.tuscany.sca.definitions.impl.SCADefinitionsImpl;
 import org.apache.tuscany.sca.monitor.Monitor;
 import org.apache.tuscany.sca.policy.Intent;
 import org.apache.tuscany.sca.policy.IntentAttachPointType;
@@ -54,10 +54,11 @@
  * @version $Rev$ $Date$
  */
 public class SCADefinitionsProcessor extends BaseStAXArtifactProcessor 
implements StAXArtifactProcessor<SCADefinitions> {
-    
+
     private StAXArtifactProcessor<Object> extensionProcessor;
+    private DefinitionsFactory definitionsFactory;
     private Monitor monitor;
-    
+
     public static final String BINDING = "binding";
     public static final String IMPLEMENTATION = "implementation";
     public static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0";;
@@ -65,23 +66,13 @@
     public static final QName SCA_DEFINITIONS_QNAME = new QName(SCA10_NS, 
SCA_DEFINITIONS);
     public static final String TARGET_NAMESPACE = "targetNamespace";
     public static final String NAME = "name";
-    
-    /**
-     * Construct a new definitions processor
-     * @param extensionProcessor 
-     * @param modelResolver 
-     */
-    public SCADefinitionsProcessor(StAXArtifactProcessor<Object> 
extensionProcessor,
-                              ModelResolver modelResolver, Monitor monitor) {
-        this.extensionProcessor = extensionProcessor;
-        this.monitor = monitor;
-    }
-    
-    public SCADefinitionsProcessor(ExtensionPointRegistry extensionPoints, 
-                                      StAXArtifactProcessor<Object> 
extensionProcessor,
-                                      Monitor monitor) {
+
+    public SCADefinitionsProcessor(FactoryExtensionPoint factoryExtensionPoint,
+                                   StAXArtifactProcessor<Object> 
extensionProcessor,
+                                   Monitor monitor) {
         this.extensionProcessor = extensionProcessor;
         this.monitor = monitor;
+        this.definitionsFactory = 
factoryExtensionPoint.getFactory(DefinitionsFactory.class);
     }
 
     public SCADefinitions read(XMLStreamReader reader) throws 
ContributionReadException, XMLStreamException {
@@ -94,44 +85,42 @@
             switch (event) {
                 case START_ELEMENT: {
                     name = reader.getName();
-                    if ( SCA_DEFINITIONS_QNAME.equals(name)) {
-                        definitions = new SCADefinitionsImpl();
+                    if (SCA_DEFINITIONS_QNAME.equals(name)) {
+                        definitions = definitionsFactory.createDefinitions();
                         targetNamespace = reader.getAttributeValue(null, 
TARGET_NAMESPACE);
                         definitions.setTargetNamespace(targetNamespace);
                     } else {
                         Object extension = extensionProcessor.read(reader);
                         if (extension != null) {
-                            if ( extension instanceof Intent ) {
+                            if (extension instanceof Intent) {
                                 Intent intent = (Intent)extension;
-                                intent.setName(new QName(targetNamespace, 
-                                                                      
intent.getName().getLocalPart()));
-                                if ( intent instanceof QualifiedIntent ) {
+                                intent.setName(new QName(targetNamespace, 
intent.getName().getLocalPart()));
+                                if (intent instanceof QualifiedIntent) {
                                     QualifiedIntent qualifiedIntent = 
(QualifiedIntent)intent;
-                                    qualifiedIntent.getQualifiableIntent().
-                                            setName(new QName(targetNamespace,
-                                                              
qualifiedIntent.getQualifiableIntent().getName().getLocalPart()));
+                                    qualifiedIntent.getQualifiableIntent()
+                                        .setName(new QName(targetNamespace, 
qualifiedIntent.getQualifiableIntent()
+                                            .getName().getLocalPart()));
                                 }
-                                
+
                                 // FIXME: Workaround for TUSCANY-2499
                                 intent.setUnresolved(false);
-                                
+
                                 definitions.getPolicyIntents().add(intent);
-                            } else if ( extension instanceof PolicySet ) {
+                            } else if (extension instanceof PolicySet) {
                                 PolicySet policySet = (PolicySet)extension;
-                                policySet.setName(new QName(targetNamespace, 
-                                                            
policySet.getName().getLocalPart()));
+                                policySet.setName(new QName(targetNamespace, 
policySet.getName().getLocalPart()));
                                 definitions.getPolicySets().add(policySet);
-                            } else if ( extension instanceof Binding ) {
+                            } else if (extension instanceof Binding) {
                                 Binding binding = (Binding)extension;
                                 definitions.getBindings().add(binding);
-                            } else if ( extension instanceof 
IntentAttachPointType ) {
+                            } else if (extension instanceof 
IntentAttachPointType) {
                                 IntentAttachPointType type = 
(IntentAttachPointType)extension;
-                                if ( 
type.getName().getLocalPart().startsWith(BINDING)) {
+                                if 
(type.getName().getLocalPart().startsWith(BINDING)) {
                                     
definitions.getBindingTypes().add((IntentAttachPointType)extension);
-                                } else if ( 
type.getName().getLocalPart().startsWith(IMPLEMENTATION)) {
+                                } else if 
(type.getName().getLocalPart().startsWith(IMPLEMENTATION)) {
                                     
definitions.getImplementationTypes().add((IntentAttachPointType)extension);
                                 }
-                            } 
+                            }
                         }
                         break;
                     }
@@ -142,12 +131,12 @@
 
                 case END_ELEMENT:
                     name = reader.getName();
-                    if ( SCA_DEFINITIONS_QNAME.equals(name)) {
+                    if (SCA_DEFINITIONS_QNAME.equals(name)) {
                         return definitions;
                     }
                     break;
             }
-            
+
             //Read the next element
             if (reader.hasNext()) {
                 reader.next();
@@ -155,101 +144,104 @@
         }
         return definitions;
     }
-    
-    public void write(SCADefinitions definitions, XMLStreamWriter writer) 
throws ContributionWriteException, XMLStreamException {
 
-        writeStartDocument(writer, SCA10_NS, SCA_DEFINITIONS, 
-                               new XAttr(TARGET_NAMESPACE, 
definitions.getTargetNamespace()));
-    
+    public void write(SCADefinitions definitions, XMLStreamWriter writer) 
throws ContributionWriteException,
+        XMLStreamException {
+
+        writeStartDocument(writer, SCA10_NS, SCA_DEFINITIONS, new 
XAttr(TARGET_NAMESPACE, definitions
+            .getTargetNamespace()));
+
         for (Intent policyIntent : definitions.getPolicyIntents()) {
             extensionProcessor.write(policyIntent, writer);
         }
-        
+
         for (PolicySet policySet : definitions.getPolicySets()) {
             extensionProcessor.write(policySet, writer);
         }
-        
+
         for (IntentAttachPointType bindingType : 
definitions.getBindingTypes()) {
             extensionProcessor.write(bindingType, writer);
         }
-        
+
         for (IntentAttachPointType implType : 
definitions.getImplementationTypes()) {
             extensionProcessor.write(implType, writer);
         }
 
         writeEndDocument(writer);
     }
-    
+
     public void resolve(SCADefinitions scaDefns, ModelResolver resolver) 
throws ContributionResolveException {
         // start by adding all of the top level artifacts into the resolver as 
there
         // are many cross artifact references in a definitions file and we 
don't want
         // to be dependent on the order things appear
-       
-       List<Intent> simpleIntents = new ArrayList<Intent>();
-       List<ProfileIntent> profileIntents = new ArrayList<ProfileIntent>();
-       List<QualifiedIntent> qualifiedIntents = new 
ArrayList<QualifiedIntent>();
+
+        List<Intent> simpleIntents = new ArrayList<Intent>();
+        List<ProfileIntent> profileIntents = new ArrayList<ProfileIntent>();
+        List<QualifiedIntent> qualifiedIntents = new 
ArrayList<QualifiedIntent>();
         List<PolicySet> simplePolicySets = new ArrayList<PolicySet>();
         List<PolicySet> referredPolicySets = new ArrayList<PolicySet>();
-        
+
         for (Intent policyIntent : scaDefns.getPolicyIntents()) {
-               if (policyIntent instanceof ProfileIntent)
-                   profileIntents.add((ProfileIntent)policyIntent);
-               else if (policyIntent instanceof QualifiedIntent)
-                   qualifiedIntents.add((QualifiedIntent)policyIntent);
-               else simpleIntents.add(policyIntent);
-               
-               resolver.addModel(policyIntent);
-        }        
-        
+            if (policyIntent instanceof ProfileIntent)
+                profileIntents.add((ProfileIntent)policyIntent);
+            else if (policyIntent instanceof QualifiedIntent)
+                qualifiedIntents.add((QualifiedIntent)policyIntent);
+            else
+                simpleIntents.add(policyIntent);
+
+            resolver.addModel(policyIntent);
+        }
+
         for (PolicySet policySet : scaDefns.getPolicySets()) {
             if (policySet.getReferencedPolicySets().isEmpty())
                 simplePolicySets.add(policySet);
-            else referredPolicySets.add(policySet);
-            
+            else
+                referredPolicySets.add(policySet);
+
             resolver.addModel(policySet);
         }
-        
+
         for (IntentAttachPointType bindingType : scaDefns.getBindingTypes()) {
             resolver.addModel(bindingType);
         }
-        
+
         for (IntentAttachPointType implType : 
scaDefns.getImplementationTypes()) {
             resolver.addModel(implType);
         }
-        
+
         // now resolve everything to ensure that any references between
         // artifacts are satisfied
-        
+
         for (Intent policyIntent : simpleIntents)
             extensionProcessor.resolve(policyIntent, resolver);
-        
+
         for (ProfileIntent policyIntent : profileIntents)
             extensionProcessor.resolve(policyIntent, resolver);
-        
+
         for (QualifiedIntent policyIntent : qualifiedIntents)
             extensionProcessor.resolve(policyIntent, resolver);
-        
+
         for (PolicySet policySet : simplePolicySets)
             extensionProcessor.resolve(policySet, resolver);
-        
-        for (PolicySet policySet : referredPolicySets) 
-            extensionProcessor.resolve(policySet, resolver);        
-        
+
+        for (PolicySet policySet : referredPolicySets)
+            extensionProcessor.resolve(policySet, resolver);
+
         for (int count = 0, size = scaDefns.getBindingTypes().size(); count < 
size; count++) {
             IntentAttachPointType bindingType = 
scaDefns.getBindingTypes().get(count);
             extensionProcessor.resolve(bindingType, resolver);
         }
-        
+
         for (int count = 0, size = scaDefns.getImplementationTypes().size(); 
count < size; count++) {
             IntentAttachPointType implType = 
scaDefns.getImplementationTypes().get(count);
             extensionProcessor.resolve(implType, resolver);
         }
     }
-    
+
     public QName getArtifactType() {
         return SCA_DEFINITIONS_QNAME;
     }
-    
+
     public Class<SCADefinitions> getModelType() {
         return SCADefinitions.class;
     }

Modified: tuscany/branches/sca-equinox/modules/definitions/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-equinox/modules/definitions/pom.xml?rev=704653&r1=704652&r2=704653&view=diff
==============================================================================
--- tuscany/branches/sca-equinox/modules/definitions/pom.xml (original)
+++ tuscany/branches/sca-equinox/modules/definitions/pom.xml Tue Oct 14 
13:05:45 2008
@@ -60,7 +60,10 @@
                         <Bundle-Version>${tuscany.version}</Bundle-Version>
                         
<Bundle-SymbolicName>org.apache.tuscany.sca.definitions</Bundle-SymbolicName>
                         <Bundle-Description>${pom.name}</Bundle-Description>
-                        
<Export-Package>org.apache.tuscany.sca.definitions*</Export-Package>
+                        <Export-Package>
+                            org.apache.tuscany.sca.definitions,
+                            org.apache.tuscany.sca.definitions.util
+                        </Export-Package>
                     </instructions>
                 </configuration>
             </plugin>

Added: 
tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefaultDefinitionsFactory.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefaultDefinitionsFactory.java?rev=704653&view=auto
==============================================================================
--- 
tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefaultDefinitionsFactory.java
 (added)
+++ 
tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefaultDefinitionsFactory.java
 Tue Oct 14 13:05:45 2008
@@ -0,0 +1,32 @@
+/*
+ * 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.definitions;
+
+import org.apache.tuscany.sca.definitions.impl.SCADefinitionsImpl;
+
+/**
+ * Default Implementation of DefinitionsFactory
+ */
+public class DefaultDefinitionsFactory implements DefinitionsFactory {
+
+    public SCADefinitions createDefinitions() {
+        return new SCADefinitionsImpl();
+    }
+
+}

Propchange: 
tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefaultDefinitionsFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefaultDefinitionsFactory.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefinitionsFactory.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefinitionsFactory.java?rev=704653&view=auto
==============================================================================
--- 
tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefinitionsFactory.java
 (added)
+++ 
tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefinitionsFactory.java
 Tue Oct 14 13:05:45 2008
@@ -0,0 +1,31 @@
+/*
+ * 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.definitions;
+
+/**
+ * Factory interface to create SCA definitions model
+ *
+ */
+public interface DefinitionsFactory {
+    /**
+     * Create an instance of SCA definitions
+     * @return a new instance of SCA definitions
+     */
+    SCADefinitions createDefinitions();
+}

Propchange: 
tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefinitionsFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/branches/sca-equinox/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/DefinitionsFactory.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/branches/sca-equinox/modules/definitions/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.DefinitionsFactory
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-equinox/modules/definitions/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.DefinitionsFactory?rev=704653&view=auto
==============================================================================
--- 
tuscany/branches/sca-equinox/modules/definitions/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.DefinitionsFactory
 (added)
+++ 
tuscany/branches/sca-equinox/modules/definitions/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.DefinitionsFactory
 Tue Oct 14 13:05:45 2008
@@ -0,0 +1,17 @@
+# 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. 
+org.apache.tuscany.sca.definitions.DefaultDefinitionsFactory
\ No newline at end of file


Reply via email to