From: vasary.daniel Date: Tue, 1 Jun 2021 19:36:20 +0000 (+0000) Subject: git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube... X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=8a3db4fec103a06b6f7834d92e55fb0ad9a89c71;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C32250 --- diff --git a/server/-dependencies/pom.xml b/server/-dependencies/pom.xml index 3ac7c4d0..5b197a5d 100644 --- a/server/-dependencies/pom.xml +++ b/server/-dependencies/pom.xml @@ -257,6 +257,7 @@ org.eclipse.jetty.osgi:jetty-osgi-boot:${jetty.version} + true org.eclipse.jetty:jetty-client:${jetty.version} diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/ArchiveSubtitlesStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/ArchiveSubtitlesStep.java new file mode 100644 index 00000000..8da80ed6 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/ArchiveSubtitlesStep.java @@ -0,0 +1,78 @@ +package user.jobengine.server.steps; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.nio.file.attribute.FileAttribute; +import java.nio.file.attribute.PosixFilePermission; +import java.nio.file.attribute.PosixFilePermissions; +import java.util.Arrays; +import java.util.List; +import java.util.Set; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class ArchiveSubtitlesStep extends JobStep { + private static final Logger logger = LogManager.getLogger(); + + public void ensureFolder(Path filePath) throws IOException { + File folder = filePath.toFile(); + if (!folder.exists() || !folder.isDirectory()) { + try { + Set perms = PosixFilePermissions.fromString("rwxrwxrwx"); + FileAttribute> attr = PosixFilePermissions.asFileAttribute(perms); + Files.createDirectories(filePath, attr); + } catch (Exception e) { + try { + Files.createDirectories(filePath); + } catch (Exception e1) { + logger.catching(e1); + throw e1; + } + } + } + } + + //"x:\PB_ORIG\AMC_BLK\BUL\CCEM018865-01_DONE.stl" + //"x:\PB_ARCH\AMC_BLK\CCEM018865-01_BUL.stl" + + @StepEntry + public Object[] execute(List files) { + int current = 0; + for (String file : files) { + Path source = Paths.get(file); + String lang = source.getParent().getFileName().toString().toUpperCase(); + Path archiveRoot = Paths.get(file.replace("PB_ORIG", "PB_ARCH/TEST")); + archiveRoot = archiveRoot.getParent().getParent(); + //logger.info(getMarker(), "Archive root is {}, lang is {}", archiveRoot, lang); + Path archive = Paths.get(archiveRoot.toString(), source.getFileName().toString().replace(".stl", "_" + lang + ".stl")); + boolean isOverride = archive.toFile().exists(); + try { + ensureFolder(archiveRoot); + Files.copy(source, archive, StandardCopyOption.REPLACE_EXISTING); + if (archive.toFile().exists()) { + boolean isContentEquals = Arrays.equals(Files.readAllBytes(source), Files.readAllBytes(archive)); + logger.info(getMarker(), "Contents equals {}", isContentEquals); + if (isContentEquals) { + if (isOverride) + logger.info(getMarker(), "Successfully replaced {}", archive); + else + logger.info(getMarker(), "Successfully archived {}", archive); + } + } + + } catch (Exception e) { + logger.error(getMarker(), "Error copy {} to {}. System message: {}", source, archive, e.getMessage()); + } + current++; + int progress = current * 100 / files.size(); + setProgress(progress); + } + setProgress(100); + return null; + } +} diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/SubtitleFilesCollectorStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/SubtitleFilesCollectorStep.java new file mode 100644 index 00000000..0ba134a6 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/SubtitleFilesCollectorStep.java @@ -0,0 +1,34 @@ +package user.jobengine.server.steps; + +import java.nio.file.Path; +import java.text.SimpleDateFormat; +import java.util.Calendar; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import com.ibm.nosql.json.api.BasicDBObject; + +/* DO NOT REMOVE! +import user.jobengine.server.steps.FileSearchFilterOptions; +*/ +public class SubtitleFilesCollectorStep extends PathItemsCollectorStep { + private static final Logger logger = LogManager.getLogger(); + + @Override + protected FileSearchFilterOptions createFileFilter(BasicDBObject filter) { + FileSearchFilterOptions result = new FileSearchFilterOptions(filter) { + @Override + public boolean acceptFile(Path file) { + return super.acceptFile(file) && !file.getFileName().toString().contains("_DONE"); + } + }; + return result; + } + + @Override + @StepEntry + public Object[] execute(String sourceFolder, BasicDBObject filter) throws Exception { + return super.execute(sourceFolder, filter); + } +} diff --git a/server/user.mediacube.gui/META-INF/MANIFEST.MF b/server/user.mediacube.gui/META-INF/MANIFEST.MF index 14d37dea..ceb0fc04 100644 --- a/server/user.mediacube.gui/META-INF/MANIFEST.MF +++ b/server/user.mediacube.gui/META-INF/MANIFEST.MF @@ -20,9 +20,10 @@ Import-Package: javax.servlet;version="3.1.0", org.apache.logging.log4j;version="2.8.2", org.junit, org.osgi.framework;version="1.8.0", + org.osgi.util.tracker;version="1.5.1", org.slf4j;version="1.7.2", user.jobengine.server, user.jobengine.server.messages, user.jobengine.server.scheduler -Bundle-Activator: Activator +Bundle-Activator: user.jobengine.gui.GUIActivator diff --git a/server/user.mediacube.gui/src/user/jobengine/gui/Activator.java b/server/user.mediacube.gui/src/user/jobengine/gui/GUIActivator.java similarity index 64% rename from server/user.mediacube.gui/src/user/jobengine/gui/Activator.java rename to server/user.mediacube.gui/src/user/jobengine/gui/GUIActivator.java index 4f309417..dbae865d 100644 --- a/server/user.mediacube.gui/src/user/jobengine/gui/Activator.java +++ b/server/user.mediacube.gui/src/user/jobengine/gui/GUIActivator.java @@ -1,19 +1,17 @@ package user.jobengine.gui; + import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; -public class Activator implements BundleActivator { +public class GUIActivator implements BundleActivator { @Override public void start(BundleContext context) throws Exception { - // TODO Auto-generated method stub } @Override public void stop(BundleContext context) throws Exception { - // TODO Auto-generated method stub - } }