ORCentral
|
00001 package eu.coform.command.datasetingestion; 00002 00003 import eu.coform.Filestatus; 00004 import eu.coform.ORException; 00005 import eu.coform.Error; 00006 import eu.coform.command.proto.Abstract; 00007 import eu.coform.database.DBException; 00008 import eu.coform.database.command.InsertFileStatusCommand; 00009 00013 public class CreateFilestatusCommand implements AbstractSectionDatasetIngestion { 00014 00015 private Filestatus m_filestatus = null; 00016 00017 public CreateFilestatusCommand(Filestatus filestatus) { 00018 m_filestatus = filestatus; 00019 } 00020 00030 @Override 00031 public Integer execute() throws ORException { 00032 // TODO check perms? 00033 00034 String statusName = m_filestatus.getName(); 00035 if(!(statusName.equals("Complete") || 00036 statusName.equals("Incomplete") || 00037 statusName.equals("ObjectNotIngested") || 00038 statusName.equals("BackgroundMetadata"))) 00039 throw new ORException(Error.FilestatusInvalid); 00040 00041 InsertFileStatusCommand c = new InsertFileStatusCommand(m_filestatus); 00042 try { 00043 c.exec(); 00044 return c.getResult(); 00045 } catch (DBException e) { 00046 e.printStackTrace(); 00047 throw new ORException(Error.FilestatusCreationFailed); 00048 } 00049 } 00050 00051 }