Coverage Report - com.aurea.maven.plugins.sonic.sdm.util.AbstractModelContribution
 
Classes in this File Line Coverage Branch Coverage Complexity
AbstractModelContribution
0%
0/24
0%
0/4
1.5
 
 1  
 package com.aurea.maven.plugins.sonic.sdm.util;
 2  
 
 3  
 import java.io.ByteArrayInputStream;
 4  
 import java.io.File;
 5  
 import java.util.ArrayList;
 6  
 import java.util.List;
 7  
 
 8  
 import com.aurea.maven.plugins.util.JAXBHelper;
 9  
 import com.progress.sonic.utilities.esb.admin.XarAnalyzer;
 10  
 import com.sonicsw.deploy.IArtifact;
 11  
 
 12  
 public abstract class AbstractModelContribution implements ESBModelContribution {
 13  
   
 14  0
   private ESBDeploymentModelBuilder builder = null;
 15  0
   private String contributionName = null;
 16  
   
 17  
   public AbstractModelContribution(
 18  
     String contributionName, ESBDeploymentModelBuilder builder
 19  0
   ) {
 20  0
     this.builder = builder;
 21  0
     this.contributionName = contributionName;
 22  0
   }
 23  
 
 24  
   public String getContributionName() {
 25  0
     return contributionName;
 26  
   }
 27  
   
 28  
   protected ESBDeploymentModelBuilder getBuilder() {
 29  0
     return builder;
 30  
   }
 31  
 
 32  
   @SuppressWarnings("unchecked")
 33  
 protected List<Object> getArtifactList(IArtifact type, Class<?> javaType) throws Exception {
 34  
     
 35  0
     List<Object> result = new ArrayList<Object>();
 36  
     
 37  0
     ESBDeploymentModel model = getBuilder().getModel();
 38  
     
 39  0
     for (String xarFileName: (List<String>) model.getModelObject(ESBDeploymentModel.CONTRIB_XAR_FILES)) {
 40  0
       File xarFile = new File(getBuilder().getSDMDir() + "/xars", xarFileName);
 41  0
       getBuilder().getLog().debug("Analyzing [" + xarFile.getAbsolutePath() + "] for " + type.getDisplayType());
 42  0
       XarAnalyzer analyzer = new XarAnalyzer(xarFile);
 43  0
       List<IArtifact> artifacts = analyzer.getArtifacts(type);
 44  0
       getBuilder().getLog().debug("Found [" + artifacts.size() + "] artifacs.");
 45  
       
 46  0
       for(IArtifact artifact : artifacts) {
 47  0
         byte [] rawXml = analyzer.getContent(artifact);
 48  0
         Object obj = JAXBHelper.unmarshal(javaType, new ByteArrayInputStream(rawXml));
 49  0
         getBuilder().getLog().debug("Analyzed Artifact []: " + artifact.getName());
 50  0
         result.add(obj);
 51  0
       }
 52  0
     }
 53  
     
 54  0
     return result;
 55  
   }
 56  
 }