Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * 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.implementation.script.xml;
 
 import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
 
 
ScriptImplementationProcessor

Version:
$Rev: 951651 $ $Date: 2010-06-05 06:17:47 +0100 (Sat, 05 Jun 2010) $
 
     private static final QName IMPLEMENTATION_SCRIPT = .;
 
     private AssemblyFactory assemblyFactory;
     
         FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class);
          = modelFactories.getFactory(AssemblyFactory.class);
          = modelFactories.getFactory(ContributionFactory.class);
          = modelFactories.getFactory(ScriptImplementationFactory.class);
     }
     
     public QName getArtifactType() {
         return ;
     }
     
     public Class<ScriptImplementationgetModelType() {
         return ScriptImplementation.class;
     }
     
         
         // Read an <implementation.script> element
 
         // Create and initialize the script implementation model
         implementation.setUnresolved(true);
 
         // Read the script attribute
         String script = reader.getAttributeValue(null"script");
         if (script != null) {                
             implementation.setScript(script);
         }
 
         // Read the language attribute
         String language = reader.getAttributeValue(null"language");
         if (language != null) {                
             implementation.setLanguage(language);
         }
 
         // Skip to end element
         while (reader.hasNext()) {
             if (reader.next() ==  && .equals(reader.getName())) {
                 break;
             }
         }
        return implementation;
    }
    
    public void resolve(ScriptImplementation implementationModelResolver resolverProcessorContext contextthrows ContributionResolveException {
        
        // Resolve the script location
        if (implementation.getScript() != null) {
            Artifact artifact = .createArtifact();
            artifact.setURI(implementation.getScript());
            Artifact resolved = resolver.resolveModel(Artifact.classartifactcontext);
            if (resolved.getLocation() != null) {
                implementation.setLocation(resolved.getLocation());
            } else {
                error(context.getMonitor(), "CouldNotResolveScript"resolverimplementation.getScript());
            }
            
            // Resolve the componentType and add the declared properties, references
            // and services to the implementation
            String componentTypeURI = implementation.getScript();
            componentTypeURI = componentTypeURI.substring(0, componentTypeURI.lastIndexOf('.'));
            componentTypeURI += ".componentType";
            ComponentType componentType = .createComponentType();
            componentType.setUnresolved(true);
            componentType.setURI(componentTypeURI);
            componentType = resolver.resolveModel(ComponentType.classcomponentTypecontext);
            if (!componentType.isUnresolved()) {
                implementation.getProperties().addAll(componentType.getProperties());
                implementation.getReferences().addAll(componentType.getReferences());
                implementation.getServices().addAll(componentType.getServices());
            }
        }
        
        implementation.setUnresolved(false);
    }
    
    public void write(ScriptImplementation implementationXMLStreamWriter writerProcessorContext contextthrows ContributionWriteExceptionXMLStreamException {
        
        // Write <implementation.script>
        writer.setPrefix("script".getNamespaceURI());
        writer.writeNamespace("script".getNamespaceURI());
        
        if (implementation.getScript() != null) {
            writer.writeAttribute("script"implementation.getScript());
        }
        if (implementation.getLanguage() != null) {
            writer.writeAttribute("language"implementation.getLanguage());
        }
        
        writer.writeEndElement();
    }

    
Report a error.

Parameters:
problems
message
model
    private void error(Monitor monitorString messageObject modelObject... messageParameters) {
        if (monitor != null) {
            Problem problem = monitor.createProblem(this.getClass().getName(), "impl-script-validation-messages".modelmessage, (Object[])messageParameters);
            monitor.problem(problem);
        }
    }    
New to GrepCode? Check out our FAQ X