Ignore:
Timestamp:
08/28/10 21:55:08 (21 months ago)
Author:
kasper
Message:

Ticket #382: Added CLI for executing jobs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • AnalyzerBeans/trunk/src/main/java/org/eobjects/analyzer/job/JaxbJobFactory.java

    r980 r982  
    1414import javax.xml.bind.JAXBException; 
    1515import javax.xml.bind.Unmarshaller; 
    16 import javax.xml.bind.ValidationEvent; 
    17 import javax.xml.bind.ValidationEventHandler; 
    1816 
    1917import org.eobjects.analyzer.beans.ExploringAnalyzer; 
    2018import org.eobjects.analyzer.beans.RowProcessingAnalyzer; 
     19import org.eobjects.analyzer.configuration.AnalyzerBeansConfiguration; 
    2120import org.eobjects.analyzer.connection.DataContextProvider; 
    2221import org.eobjects.analyzer.connection.Datastore; 
     
    3736import org.eobjects.analyzer.job.jaxb.InputType; 
    3837import org.eobjects.analyzer.job.jaxb.Job; 
     38import org.eobjects.analyzer.job.jaxb.JobMetadataType; 
    3939import org.eobjects.analyzer.job.jaxb.ObjectFactory; 
    4040import org.eobjects.analyzer.job.jaxb.OutputType; 
     
    4343import org.eobjects.analyzer.job.jaxb.TransformerDescriptorType; 
    4444import org.eobjects.analyzer.job.jaxb.TransformerType; 
     45import org.eobjects.analyzer.util.JaxbValidationEventHandler; 
    4546import org.eobjects.analyzer.util.SchemaNavigator; 
     47import org.eobjects.analyzer.util.StringUtils; 
    4648import org.slf4j.Logger; 
    4749import org.slf4j.LoggerFactory; 
     
    7981                        Unmarshaller unmarshaller = _jaxbContext.createUnmarshaller(); 
    8082 
    81                         unmarshaller.setEventHandler(new ValidationEventHandler() { 
    82                                 @Override 
    83                                 public boolean handleEvent(ValidationEvent event) { 
    84                                         int severity = event.getSeverity(); 
    85                                         if (severity == ValidationEvent.WARNING) { 
    86                                                 logger.warn("encountered JAXB parsing warning: " 
    87                                                                 + event.getMessage()); 
    88                                                 return true; 
    89                                         } 
    90  
    91                                         logger.warn("encountered JAXB parsing error: " 
    92                                                         + event.getMessage()); 
    93                                         return false; 
    94                                 } 
    95                         }); 
     83                        unmarshaller.setEventHandler(new JaxbValidationEventHandler()); 
    9684                        Job job = (Job) unmarshaller.unmarshal(inputStream); 
    9785                        return create(job); 
     
    10290 
    10391        public AnalysisJobBuilder create(Job job) { 
     92                JobMetadataType metadata = job.getJobMetadata(); 
     93                if (metadata != null) { 
     94                        logger.info("Job name: {}", metadata.getJobName()); 
     95                        logger.info("Job version: {}", metadata.getJobVersion()); 
     96                        logger.info("Job description: {}", metadata.getJobDescription()); 
     97                        logger.info("Author: {}", metadata.getAuthor()); 
     98                        logger.info("Created date: {}", metadata.getCreatedDate()); 
     99                        logger.info("Updated date: {}", metadata.getUpdatedDate()); 
     100                } 
     101 
    104102                SourceType source = job.getSource(); 
    105103 
     
    109107                DataContextType dataContext = source.getDataContext(); 
    110108                String ref = dataContext.getRef(); 
    111                 if (isNullOrEmpty(ref)) { 
     109                if (StringUtils.isNullOrEmpty(ref)) { 
    112110                        throw new IllegalStateException("Datastore ref cannot be null"); 
    113111                } 
     
    131129                for (ColumnType column : columns) { 
    132130                        String path = column.getPath(); 
    133                         if (isNullOrEmpty(path)) { 
     131                        if (StringUtils.isNullOrEmpty(path)) { 
    134132                                throw new IllegalStateException("Column path cannot be null"); 
    135133                        } 
     
    141139                                        physicalColumn); 
    142140                        String id = column.getId(); 
    143                         if (isNullOrEmpty(id)) { 
     141                        if (StringUtils.isNullOrEmpty(id)) { 
    144142                                throw new IllegalStateException( 
    145143                                                "Source column id cannot be null"); 
     
    158156                        TransformerDescriptorType descriptor = transformer.getDescriptor(); 
    159157                        ref = descriptor.getRef(); 
    160                         if (isNullOrEmpty(ref)) { 
     158                        if (StringUtils.isNullOrEmpty(ref)) { 
    161159                                throw new IllegalStateException( 
    162160                                                "Transformer descriptor ref cannot be null"); 
     
    189187                                for (InputType inputType : input) { 
    190188                                        ref = inputType.getRef(); 
    191                                         if (isNullOrEmpty(ref)) { 
     189                                        if (StringUtils.isNullOrEmpty(ref)) { 
    192190                                                throw new IllegalStateException( 
    193191                                                                "Transformer input column ref cannot be null"); 
     
    220218                                                MutableInputColumn<?> o2 = outputColumns.get(i); 
    221219                                                String name = o1.getName(); 
    222                                                 if (!isNullOrEmpty(name)) { 
     220                                                if (!StringUtils.isNullOrEmpty(name)) { 
    223221                                                        o2.setName(name); 
    224222                                                } 
    225223                                                String id = o1.getId(); 
    226                                                 if (isNullOrEmpty(id)) { 
     224                                                if (StringUtils.isNullOrEmpty(id)) { 
    227225                                                        throw new IllegalStateException( 
    228226                                                                        "Transformer output column id cannot be null"); 
     
    240238                for (AnalyzerType analyzerType : analyzers) { 
    241239                        ref = analyzerType.getDescriptor().getRef(); 
    242                         if (isNullOrEmpty(ref)) { 
     240                        if (StringUtils.isNullOrEmpty(ref)) { 
    243241                                throw new IllegalStateException( 
    244242                                                "Analyzer descriptor ref cannot be null"); 
     
    264262                                for (InputType inputType : input) { 
    265263                                        ref = inputType.getRef(); 
    266                                         if (isNullOrEmpty(ref)) { 
     264                                        if (StringUtils.isNullOrEmpty(ref)) { 
    267265                                                throw new IllegalStateException( 
    268266                                                                "Analyzer input column ref cannot be null"); 
     
    300298        } 
    301299 
    302         private boolean isNullOrEmpty(String str) { 
    303                 return str == null || str.trim().length() == 0; 
    304         } 
    305  
    306300        private void applyProperties( 
    307301                        AbstractBeanJobBuilder<? extends BeanDescriptor<?>, ?, ?> builder, 
     
    313307                                String name = property.getName(); 
    314308                                String value = property.getValue(); 
    315                                  
     309 
    316310                                ConfiguredPropertyDescriptor configuredProperty = descriptor 
    317                                 .getConfiguredProperty(name); 
    318                                  
     311                                                .getConfiguredProperty(name); 
     312 
    319313                                // TODO: Convert value according to configuredProperty's type 
    320314                                builder.setConfiguredProperty(configuredProperty, value); 
Note: See TracChangeset for help on using the changeset viewer.