From e7bb6756da8dd58031275875d5ac87f3811096df Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1s=C3=A1ry=20D=C3=A1niel?= Date: Thu, 2 Nov 2017 15:45:14 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C30684 --- server/-configuration/log4j2.xml | 2 +- .../steps/OutputPathAndNameSelectorStep.java | 34 ++++++++-- .../jobengine/server/steps/TSMBackupStep.java | 8 ++- .../server/steps/TSMRestoreStep.java | 13 ++-- .../src/user/commons/pool/ContextPool.java | 18 +++-- .../src/user/commons/pool/ResourcePool.java | 65 ++++++++----------- .../src/user/jobengine/server/JobEngine.java | 2 +- .../user/jobengine/zk/model/MenuModel.java | 3 +- .../user/jobengine/zk/model/SearchModel.java | 18 +++-- 9 files changed, 94 insertions(+), 69 deletions(-) diff --git a/server/-configuration/log4j2.xml b/server/-configuration/log4j2.xml index 7f750032..6b2336b5 100644 --- a/server/-configuration/log4j2.xml +++ b/server/-configuration/log4j2.xml @@ -49,7 +49,7 @@ - + diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/OutputPathAndNameSelectorStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/OutputPathAndNameSelectorStep.java index e24df838..a758ae77 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/OutputPathAndNameSelectorStep.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/OutputPathAndNameSelectorStep.java @@ -1,5 +1,14 @@ package user.jobengine.server.steps; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.attribute.FileAttribute; +import java.nio.file.attribute.PosixFilePermission; +import java.nio.file.attribute.PosixFilePermissions; +import java.util.Set; + import org.apache.commons.lang.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -38,9 +47,20 @@ public class OutputPathAndNameSelectorStep extends JobStep { } } + private void ensureTargetPathExistence(String targetPath) throws IOException { + Path directoryPath = Paths.get(targetPath); + boolean create = !Files.exists(directoryPath) || !Files.isDirectory(directoryPath); + + if (create) { + Set perms = PosixFilePermissions.fromString("rwxrwxrwx"); + FileAttribute> attr = PosixFilePermissions.asFileAttribute(perms); + Files.createDirectory(directoryPath, attr); + } + } + @StepEntry public Object[] execute(String trafficOutputPath, String octopusOutputPath, String genericOutputPath, String houseId, IJobEngine jobEngine, - IJobRuntime jobRuntime) { + IJobRuntime jobRuntime) throws IOException { check(trafficOutputPath, octopusOutputPath, genericOutputPath, houseId); String id = houseId.toUpperCase(); @@ -48,16 +68,22 @@ public class OutputPathAndNameSelectorStep extends JobStep { String targetPath = null; switch (mdType) { case GENERIC: - targetPath = genericOutputPath; + targetPath = Paths.get(genericOutputPath, id).toString(); break; case OCTOPUS: - targetPath = octopusOutputPath; + targetPath = Paths.get(octopusOutputPath, id).toString(); break; case TRAFFIC: - targetPath = genericOutputPath; + targetPath = Paths.get(trafficOutputPath, id).toString(); break; } String targetNamePattern = houseId + TARGETNAMEPATTERN; + try { + ensureTargetPathExistence(targetPath); + } catch (Exception e) { + logger.catching(e); + logger.error(getMarker(), "A cél mappa {} nem létezik és hozható létre. A rendszer hibaüzenete: {}", targetPath, e.getMessage()); + } return new Object[] { targetPath, targetNamePattern }; } diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/TSMBackupStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/TSMBackupStep.java index 8135c58a..4c950e0c 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/TSMBackupStep.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/TSMBackupStep.java @@ -56,16 +56,18 @@ public class TSMBackupStep extends JobStep { RemoteFile remoteFile = sourceUri.transferFrom(targetUri, sourceFileName, sourceFileName); saveMetadata(mediaCubeMedia, sourceFileName); - logger.info(getMarker(), "A {} állomány archiválása sikeres.", archiveItem.getMediaFile().toFile().getName()); + logger.info(getMarker(), "Az '{}' állomány archiválása sikeres.", archiveItem.getMediaFile().toFile().getName()); KillDateFile killDateFile = new KillDateFile(sourceMediaFile.getParent().toString(), sourceMediaFile.getFileName().toString()); killDateFile.create(killDateDays); } catch (Exception e) { logger.catching(e); - logger.error(getMarker(), "A {} állomány archiválása sikertelen. A rendszer hibaüzenete: {}", archiveItem.getMediaFile().toFile().getName(), + logger.error(getMarker(), "Az '{}' állomány archiválása sikertelen. A rendszer hibaüzenete: {}", archiveItem.getMediaFile().toFile().getName(), e.getMessage()); if (!archiveItem.removeCatchedFile()) - logger.error(getMarker(), "A {} állomány .catched jelző állománya nem törölhető.", archiveItem.getMediaFile().toFile().getName()); + logger.error(getMarker(), + "Az '{}' állomány .catched jelző állománya nem törölhető. Az újabb archiválási kísérlethez annak kézi eltávolítása szükséges!", + archiveItem.getMediaFile().toFile().getName()); throw e; } return null; diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/TSMRestoreStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/TSMRestoreStep.java index a82c3cd5..7b8b90ea 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/TSMRestoreStep.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/TSMRestoreStep.java @@ -5,7 +5,6 @@ import java.util.List; import org.apache.commons.lang.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.Marker; import user.commons.MediaCubeMarker; import user.commons.RemoteFile; @@ -33,6 +32,7 @@ public class TSMRestoreStep extends JobStep { public Object[] execute(Media mediaCubeMedia, String targetPath, String targetNamePattern, String successRecipient, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception { setAndCheck(mediaCubeMedia, targetPath, targetNamePattern, jobEngine); + String targetFileName = null; try { //TODO check file existance? final IJobRuntime runtime = jobRuntime; @@ -48,16 +48,19 @@ public class TSMRestoreStep extends JobStep { evt.setCancel(!canContinue()); } }); - String targetFileName = String.format(targetNamePattern, sourceFileName); + targetFileName = String.format(targetNamePattern, sourceFileName); RemoteFile result = sourceUri.transferFrom(targetUri, sourceFileName, targetFileName); + + String successMessage = "Az '{}' állomány visszatöltése sikeres. Elérhető az \r\n'{}' mappa\r\n'{}' állományában."; + if (StringUtils.isNotBlank(successRecipient)) + logger.info(new MediaCubeMarker(successRecipient), successMessage, sourceFileName, targetPath, targetFileName); + logger.info(getMarker(), successMessage, sourceFileName, targetPath, targetFileName); } catch (Exception e) { - logger.error(getMarker(), "A {} állomány visszatöltése sikertelen. A rendszer hibaüzenete: {}", sourceFileName, e.getMessage()); + logger.error(getMarker(), "Az '{}' állomány visszatöltése sikertelen. A rendszer hibaüzenete: {}", sourceFileName, e.getMessage()); logger.catching(e); throw e; } - Marker marker = StringUtils.isBlank(successRecipient) ? getMarker() : new MediaCubeMarker(successRecipient); - logger.info(marker, ""); return null; } diff --git a/server/user.jobengine.osgi.db/src/user/commons/pool/ContextPool.java b/server/user.jobengine.osgi.db/src/user/commons/pool/ContextPool.java index be22e325..c919b24f 100644 --- a/server/user.jobengine.osgi.db/src/user/commons/pool/ContextPool.java +++ b/server/user.jobengine.osgi.db/src/user/commons/pool/ContextPool.java @@ -12,7 +12,7 @@ import sqlj.runtime.ref.DefaultContext; /** * Adatbázis kontextus erőforrás kezelő. - * + * */ public class ContextPool extends ResourcePool { private static final Logger logger = LogManager.getLogger(); @@ -31,7 +31,13 @@ public class ContextPool extends ResourcePool { @Override protected boolean checkObject(Object resourceObject) { DefaultContext context = (DefaultContext) resourceObject; - return context.isClosed(); + boolean result = false; + try { + result = context.getConnection().isClosed(); + } catch (Exception e) { + logger.catching(e); + } + return result; } @Override @@ -67,6 +73,10 @@ public class ContextPool extends ResourcePool { return context; } + public void lendObject(DefaultContext context) { + super.lendObject(context); + } + @Override protected void releaseObject(Object value) { validateObject(value); @@ -83,10 +93,6 @@ public class ContextPool extends ResourcePool { } } - public void lendObject(DefaultContext context) { - super.lendObject(context); - } - @Override protected void validateObject(Object resourceObject) { super.validateObject(resourceObject); diff --git a/server/user.jobengine.osgi.db/src/user/commons/pool/ResourcePool.java b/server/user.jobengine.osgi.db/src/user/commons/pool/ResourcePool.java index 13b579d6..dec0e491 100644 --- a/server/user.jobengine.osgi.db/src/user/commons/pool/ResourcePool.java +++ b/server/user.jobengine.osgi.db/src/user/commons/pool/ResourcePool.java @@ -1,5 +1,6 @@ package user.commons.pool; +import java.sql.SQLException; import java.util.LinkedList; import org.apache.logging.log4j.LogManager; @@ -8,16 +9,10 @@ import org.apache.logging.log4j.Logger; import user.commons.CommonsProperties; /** - * Erőforrás kezelő. - *
- * Az implementációban meghatározott típusú er�forr�s objektumb�l - * ig�ny szerint l�trehoz annyit, amennyi enged�lyezett. - *
- * Az er�forr�s objektumok k�lcs�n�zhet�ek, visszaadhat�ak - * thread-safe m�don. - *
- * Mind�g a legr�gebben haszn�lt objektumot k�lcs�nzi ki. - *
+ * Erőforrás kezelő.
+ * Az implementációban meghatározott típusú er�forr�s objektumb�l ig�ny szerint l�trehoz annyit, amennyi enged�lyezett.
+ * Az er�forr�s objektumok k�lcs�n�zhet�ek, visszaadhat�ak thread-safe m�don.
+ * Mind�g a legr�gebben haszn�lt objektumot k�lcs�nzi ki.
* Ha elfogy a k�lcs�n�zhet� objektum, v�rakoztat. */ @@ -30,8 +25,9 @@ abstract public class ResourcePool { /** * Konstruktor a pool l�trehoz�s�ra. + * * @param properties - * Be�ll�t�sok. + * Be�ll�t�sok. */ protected ResourcePool(CommonsProperties properties) { if (properties == null) @@ -42,10 +38,8 @@ abstract public class ResourcePool { /** * Er�forr�s objektum k�lcs�nz�se. - * @return - * Kik�lcs�nz�tt er�forr�s objektum. - * Visszet�r�s el�tt a checkObject-el ellen�rzi, hogy haszn�lhat� e az objektum. - * Ha nem �jat, hoz l�tre. + * + * @return Kik�lcs�nz�tt er�forr�s objektum. Visszet�r�s el�tt a checkObject-el ellen�rzi, hogy haszn�lhat� e az objektum. Ha nem �jat, hoz l�tre. */ protected Object borrowObject() { if (pool == null) @@ -87,18 +81,17 @@ abstract public class ResourcePool { } /** - * Ellen�rzi, hogy haszn�lhat� e az objektum. - * Implement�ci� f�gg�! + * Ellen�rzi, hogy haszn�lhat� e az objektum. Implement�ci� f�gg�! + * * @param resourceObject - * Ellen�rizend� objektum. - * @return - * true ha m�r nem haszn�lhat� + * Ellen�rizend� objektum. + * @return true ha m�r nem haszn�lhat� + * @throws SQLException */ abstract protected boolean checkObject(Object resourceObject); /** - * Az �sszes nem kik�lcs�nz�tt er�forr�s objektumot, - * a releaseObject h�v�ssal felszabad�tja. + * Az �sszes nem kik�lcs�nz�tt er�forr�s objektumot, a releaseObject h�v�ssal felszabad�tja. */ public void close() { if (pool == null) @@ -113,27 +106,26 @@ abstract public class ResourcePool { } /** - * L�trehozza az er�forr�s objektumot. - * Implement�ci� f�gg�! - * @return - * A l�trehozott er�forr�s objektum. + * L�trehozza az er�forr�s objektumot. Implement�ci� f�gg�! + * + * @return A l�trehozott er�forr�s objektum. */ abstract protected Object createObject(); /** - * Param�terek lek�rdez�se. - * @return - * CommonsProperties t�pus� param�ter objektum. + * Param�terek lek�rdez�se. + * + * @return CommonsProperties t�pus� param�ter objektum. */ protected CommonsProperties getProperties() { return properties; } /** - * K�lcs�nvett er�forr�s objektum visszaszolg�ltat�sa. - * T�pus �s null pointer elle�rz�s a validateObject seg�ts�g�vel. + * K�lcs�nvett er�forr�s objektum visszaszolg�ltat�sa. T�pus �s null pointer elle�rz�s a validateObject seg�ts�g�vel. + * * @param value - * Er�forr�s objektum. + * Er�forr�s objektum. */ protected void lendObject(Object value) { if (pool == null) { @@ -147,16 +139,15 @@ abstract public class ResourcePool { } /** - * Er�forr�s objektum felszabad�t�sa (kapcsolat lez�r�s, - * haszn�lt er�forr�sok felszabad�t�sa). - * Implement�ci� f�gg�! + * Er�forr�s objektum felszabad�t�sa (kapcsolat lez�r�s, haszn�lt er�forr�sok felszabad�t�sa). Implement�ci� f�gg�! + * * @param resourceObject - * A sz�ban forg� objektum. + * A sz�ban forg� objektum. */ abstract protected void releaseObject(Object resourceObject); /** - * Ellen�rzi, hogy az objektum t�pusa megfelel� e. + * Ellen�rzi, hogy az objektum t�pusa megfelel� e. */ protected void validateObject(Object value) { if (value == null) { diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java index 5bd09bed..047cb7cc 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java @@ -246,7 +246,7 @@ public class JobEngine implements IJobEngine { } private void bootstrap() throws JobEngineException { - submit("fake-noparams.xml", "Bootstrap", null); + //submit("fake-noparams.xml", "Bootstrap", null); } protected Map createJobs() { diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MenuModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MenuModel.java index b0697b3d..4ed99742 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MenuModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MenuModel.java @@ -4,7 +4,6 @@ import org.zkoss.bind.annotation.BindingParam; import org.zkoss.bind.annotation.Command; import org.zkoss.zk.ui.select.annotation.Wire; import org.zkoss.zul.Include; -import org.zkoss.zul.Messagebox; import org.zkoss.zul.Window; public class MenuModel extends BaseModel { @@ -13,7 +12,7 @@ public class MenuModel extends BaseModel { Include includeContent; public MenuModel() { - Messagebox.setTemplate("/pages/messagebox.zul"); + //Messagebox.setTemplate("/pages/messagebox.zul"); } diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java index 3fd3d1a3..65268f68 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.zkoss.bind.annotation.BindingParam; @@ -36,20 +37,17 @@ public class SearchModel extends BaseModel { @Command @NotifyChange({ "mold", "paging", "searchResult", "selectedItem", "selectedMedia", "hasLowresMediaFile" }) public void doSearch() { - Messagebox.show(Labels.getLabel("error.search"), Labels.getLabel("dialogger.warning"), Messagebox.OK, Messagebox.ERROR, defaultOKEventListener); try { //do search ++++++++ this.selectedItem = null; this.selectedMedia = null; - if (searchValue != null) { - if (searchValue.length() >= 3) { - searchResult = new CachedListModel(searchValue); - } - } - } catch (Exception exc) { - // Error during search dialog - Messagebox.show(Labels.getLabel("error.search"), Labels.getLabel("dialogger.warning"), Messagebox.OK, Messagebox.ERROR, defaultOKEventListener); - logger.error("", exc); + if (StringUtils.isBlank(searchValue) || searchValue.length() < 3) + throw new Exception("Legalább 3 karakter megadása kötelező!"); + searchResult = new CachedListModel(searchValue); + + } catch (Exception e) { + Messagebox.show(e.getMessage(), Labels.getLabel("dialogger.warning"), Messagebox.OK, Messagebox.ERROR, defaultOKEventListener); + logger.catching(e); } } -- 2.54.0