package test; import java.util.Map; import java.util.TreeMap; import javax.xml.parsers.ParserConfigurationException; import javax.xml.xpath.XPathExpressionException; import org.joda.time.DateTime; import schedframe.scheduling.tasks.Task; import simulator.utils.XsltTransformations; import dcworms.schedframe.scheduling.utils.JobDescription; import dcworms.schedframe.scheduling.utils.TaskDescription; public class ApplicationRepository { public static Map applicationProfilesMap = new TreeMap(); public static Map applicationProfilesMapNew = new TreeMap(); protected static XsltTransformations xsltTransformer; static { try { xsltTransformer = new XsltTransformations(); } catch (XPathExpressionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void transform() throws Exception{ for(String key: applicationProfilesMap.keySet()){ JobDescription jobDesc = applicationProfilesMap.get(key); for (TaskDescription taskDescription : jobDesc) { DateTime submitionTime = new DateTime(); String xmlResReq = xsltTransformer.taskToResourceRequirements( taskDescription.getDocument(), jobDesc.getJobId(), taskDescription.getUserDn(), submitionTime); applicationProfilesMapNew.put(key, new Task(xmlResReq).getDescription()); } } } public static void prepareApplciation(org.qcg.broker.schemas.resreqs.Task task) { try { org.qcg.broker.schemas.resreqs.Task patternTask = applicationProfilesMapNew.get(task.getExecution().getExecutable().getApplication().getAppProperty(0).getContent()); if(patternTask != null){ org.qcg.broker.schemas.resreqs.ResourceConsumptionProfileType[] rcp = patternTask.getExecution().getResourceConsumptionProfile(); task.getExecution().setResourceConsumptionProfile(rcp); } } catch (Exception e){ } } }