package com.norteksoft.wf.base.utils; import java.util.Map; import org.dom4j.Document; public class DocumentParameterUtils { private static ThreadLocal<DocumentThreadParameters> threadParameters=new ThreadLocal<DocumentThreadParameters>(); public static void setParameters(DocumentThreadParameters parameters){ threadParameters.set(parameters); } public static Document getDocument(String processId){ DocumentThreadParameters parameter=threadParameters.get(); if(parameter==null){ return Dom4jUtils.getDocument(WorkflowMemcachedUtil.getDefinitionFile(processId)); } Map<String,Document> documents=parameter.getDocuments(); if(documents==null)return null; Document document= documents.get(processId); if(document==null){ document=Dom4jUtils.getDocument(WorkflowMemcachedUtil.getDefinitionFile(processId)); documents.put(processId, document); } return document; } public static void clearParameter(){ DocumentThreadParameters parameter=threadParameters.get(); if(parameter!=null){ Map<String,Document> documents=parameter.getDocuments(); documents.clear(); } } }