package gr.ntua.ivml.athena.util; import java.util.List; import gr.ntua.ivml.athena.db.DB; import gr.ntua.ivml.athena.persistent.DataUpload; import gr.ntua.ivml.athena.persistent.Mapping; import gr.ntua.ivml.athena.persistent.Transformation; public class Transform { private long importId; private String statusIcon=""; private String status="NOT DONE"; private boolean isStale=false; private Import imp; private Mapping mp; private String message=""; public Transformation tr=null; public void setTr(){ DataUpload du=DB.getDataUploadDAO().getById(getImp().getDbID(),false); List<Transformation> lt = DB.getTransformationDAO().findByUpload(du); if(lt!=null && lt.size()!=0){ this.tr=lt.get(0); mp=tr.getMapping(); this.setStatus(); this.setMessage(); this.setStatusIcon(); this.isStale=tr.isStale(); } else{} } public long getImportId(){ return this.importId; } public long getDbID(){ return this.imp.getDbID(); } public boolean isStale(){ return isStale; } public Import getImp(){ return this.imp; } public void setStatus(){ if(tr!=null){ if(tr.getStatusCode()==0){ status="OK"; } else if(tr.getStatusCode()==-1){ status="ERROR"; } else if(tr.getStatusCode()==1){ status="IDLE"; } else if(tr.getStatusCode()==2){ status="WRITING"; } else if(tr.getStatusCode()==3){ status="UPLOADING"; } else if(tr.getStatusCode()==4){ status="INDEXING"; } else{ status="UNKNOWN"; } } } public String getStatus(){ return this.status; } public void setMessage(){ if(tr!=null){ this.message=tr.getStatusMessage(); //MESSAGE NEEDS TO BE FIXED IN DB if(tr.getStatusCode()==0){ this.message="Transformed using mappings "+mp.getName()+"."; } if(tr.isStale()){this.message+=" Transformation is now stale due to mappings change. Please transform again.";} } } public String getMessage(){ return this.message; } public void setStatusIcon(){ //instead of checking import check transformation if(tr!=null){ if(tr.getStatusCode()==0){ statusIcon="images/okblue.png"; } else if(tr.getStatusCode()==-1){ statusIcon="images/problem.png"; } else if(tr.getStatusCode()==1){ statusIcon="images/loader.gif"; } else if(tr.getStatusCode()==2){ statusIcon="images/loader.gif"; } else if(tr.getStatusCode()==3){ statusIcon="images/loader.gif"; } else if(tr.getStatusCode()==4){ statusIcon="images/loader.gif"; } if(tr.isStale()){ statusIcon="images/redflag.png"; } } } public String getStatusIcon(){ return this.statusIcon; } public Transform(long id){ this.importId=id; DataUpload du=DB.getDataUploadDAO().getById(id, false); if(du!=null){ this.imp=new Import(du); this.setTr(); } } }