import org.apache.logging.log4j.Logger;\r
import org.apache.logging.log4j.Marker;\r
\r
-import user.commons.RemoteFile;\r
import user.commons.StoreUri;\r
import user.commons.remotestore.IProgressEventListener;\r
import user.commons.remotestore.ProgressEvent;\r
import user.commons.remotestore.RemoteStoreProtocol;\r
import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.Store;\r
import user.jobengine.server.IJobEngine;\r
import user.jobengine.server.IJobRuntime;\r
\r
public class FileCopyStep {\r
private static final Logger logger = LogManager.getLogger();\r
private IItemManager manager;\r
- private StoreUri sourceUri;\r
- private StoreUri targetUri;\r
- private String sourceFileName;\r
- private String targetFileName;\r
- private RemoteStoreProtocol sourceRemoteStoreProtocol;\r
- private RemoteStoreProtocol targetRemoteStoreProtocol;\r
- private Store sourceStore;\r
- private Store targetStore;\r
- private RemoteFile sourceRemotefile;\r
private Marker marker;\r
\r
- @StepEntry\r
- public Object[] execute(String sourceStoreName, String targetStoreName, String sourceFileName, String targetFileName,\r
- RemoteStoreProtocol sourceRemoteStoreProtocol, RemoteStoreProtocol targetRemoteStoreProtocol\r
- , IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
- marker = jobRuntime.getMarker();\r
- this.sourceFileName = sourceFileName;\r
- this.targetFileName = targetFileName;\r
- this.sourceRemoteStoreProtocol = sourceRemoteStoreProtocol;\r
- this.targetRemoteStoreProtocol = targetRemoteStoreProtocol;\r
-\r
- setAndCheck(sourceStoreName, targetStoreName, jobEngine);\r
- \r
- try {\r
- sourceUri.addProgressListener(new IProgressEventListener() {\r
- @Override\r
- public void progressChanged(ProgressEvent evt) {\r
- jobRuntime.incrementProgress(evt.getProgress());\r
- }\r
- });\r
-\r
- RemoteFile result = sourceUri.transferFrom(targetUri, sourceFileName, targetFileName);\r
-\r
- } catch (Exception e) {\r
- logger.catching(e);\r
- throw e;\r
- } finally {\r
- sourceUri.cleanUp();\r
- targetUri.cleanUp();\r
- }\r
- \r
- return null;\r
- }\r
- \r
- private void setAndCheck(String sourceStoreName, String targetStoreName, IJobEngine jobEngine) {\r
+ private void check(String sourceProtocol, String sourcePath, String sourceFileName, String targetProtocol, String targetPath, String targetFileName,\r
+ IJobEngine jobEngine, IJobRuntime jobRuntime) {\r
if (jobEngine == null) {\r
logger.error(marker, "A folyamatkezelő réteg nem elérhető.");\r
throw new NullPointerException("Internal error, missing JobEngine reference.");\r
logger.error(marker, "Az adatbáziskezelő réteg nem elérhető.");\r
throw new NullPointerException("Internal error, missing ItemManager reference.");\r
}\r
- if (sourceUri == null) {\r
- logger.error(marker, "A sourceStoreUri bemeneti paramétere üres.");\r
- throw new NullPointerException(\r
- "System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
+ if (sourceProtocol == null) {\r
+ logger.error(marker, "A forrás protokol bemeneti paramétere üres.");\r
+ throw new NullPointerException("System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
}\r
- if (targetUri == null) {\r
- logger.error(marker, "A targetStoreUri bemeneti paramétere üres.");\r
- throw new NullPointerException(\r
- "System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
+ if (sourcePath == null) {\r
+ logger.error(marker, "A forrás fájl elérés bemeneti paramétere üres.");\r
+ throw new NullPointerException("System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
}\r
if (sourceFileName == null) {\r
logger.error(marker, "A forrás fájlnév bemeneti paramétere üres.");\r
- throw new NullPointerException(\r
- "System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
+ throw new NullPointerException("System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
}\r
- sourceUri = sourceStore.getSourceStoreUri(sourceRemoteStoreProtocol);\r
- if (targetFileName == null) {\r
- logger.error(marker, "A cél fájlnév bemeneti paramétere üres.");\r
- throw new NullPointerException(\r
- "System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
+ if (targetProtocol == null) {\r
+ logger.error(marker, "A cél protokol bemeneti paramétere üres.");\r
+ throw new NullPointerException("System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
}\r
- targetUri = targetStore.getTargetStoreUri(targetRemoteStoreProtocol);\r
- if (sourceRemoteStoreProtocol == null) {\r
- logger.error(marker, "A forrás másolási protokol bemeneti paramétere üres.");\r
- throw new NullPointerException(\r
- "System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
+ if (targetPath == null) {\r
+ logger.error(marker, "A cél fájl elérés bemeneti paramétere üres.");\r
+ throw new NullPointerException("System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
}\r
- if (targetRemoteStoreProtocol == null) {\r
- logger.error(marker, "A cél másolási protokol bemeneti paramétere üres.");\r
- throw new NullPointerException(\r
- "System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
+ if (targetFileName == null) {\r
+ logger.error(marker, "A cél fájlnév bemeneti paramétere üres.");\r
+ throw new NullPointerException("System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
}\r
}\r
- \r
- private void transferFile(String sourceFileName, String targetFileName) throws Exception {\r
- int reply = 0;\r
- logger.info("Transfer clip {}", sourceFileName);\r
+\r
+ @StepEntry\r
+ public Object[] execute(String sourceProtocol, String sourcePath, String sourceFileName, String targetProtocol, String targetPath, String targetFileName,\r
+ IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
+ marker = jobRuntime.getMarker();\r
+\r
+ check(sourceProtocol, sourcePath, sourceFileName, targetProtocol, targetPath, targetFileName, jobEngine, jobRuntime);\r
+\r
+ StoreUri source = null;\r
+ StoreUri target = null;\r
+\r
try {\r
- RemoteFile result = sourceUri.transferFrom(targetUri, sourceFileName, targetFileName);\r
+ source = manager.createStoreUri(Enum.valueOf(RemoteStoreProtocol.class, sourceProtocol), sourcePath);\r
+ target = manager.createStoreUri(Enum.valueOf(RemoteStoreProtocol.class, targetProtocol), targetPath);\r
+ source.addProgressListener(new IProgressEventListener() {\r
+ @Override\r
+ public void progressChanged(ProgressEvent evt) {\r
+ jobRuntime.incrementProgress(evt.getProgress());\r
+ }\r
+ });\r
+\r
+ source.transferFrom(target, sourceFileName, targetFileName);\r
+\r
} catch (Exception e) {\r
logger.catching(e);\r
throw e;\r
} finally {\r
- sourceUri.cleanUp();\r
- targetUri.cleanUp();\r
+ source.cleanUp();\r
+ target.cleanUp();\r
}\r
\r
+ return null;\r
}\r
-}\r
\r
+}\r