git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Thu, 2 Nov 2017 15:45:14 +0000 (15:45 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Thu, 2 Nov 2017 15:45:14 +0000 (15:45 +0000)
server/-configuration/log4j2.xml
server/user.jobengine.executors/src/user/jobengine/server/steps/OutputPathAndNameSelectorStep.java
server/user.jobengine.executors/src/user/jobengine/server/steps/TSMBackupStep.java
server/user.jobengine.executors/src/user/jobengine/server/steps/TSMRestoreStep.java
server/user.jobengine.osgi.db/src/user/commons/pool/ContextPool.java
server/user.jobengine.osgi.db/src/user/commons/pool/ResourcePool.java
server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MenuModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java

index 7f750032b1ee8baada83947d8b9245da68b768a1..6b2336b59a4e6c6ad587d82814ff0838a7786c40 100644 (file)
@@ -49,7 +49,7 @@
 <!--                   <AppenderRef ref="RollingFile" /> -->\r
 <!--                   <AppenderRef ref="MarkeredMail" /> -->\r
                </Root>\r
-               <Logger name="org.zkoss" level="ERROR" additivity="false" />\r
+               <Logger name="org.zkoss" level="trace" additivity="false" />\r
                <Logger name="org.quartz" level="ERROR" additivity="false" />\r
                <Logger name="org.eclipse.jetty.osgi.boot" level="ERROR" additivity="false" />\r
 \r
index e24df838471e49a071a39384c201bf5073e8d1b7..a758ae77336ffcf8a1486bbdf47c3cba61bc564b 100644 (file)
@@ -1,5 +1,14 @@
 package user.jobengine.server.steps;\r
 \r
+import java.io.IOException;\r
+import java.nio.file.Files;\r
+import java.nio.file.Path;\r
+import java.nio.file.Paths;\r
+import java.nio.file.attribute.FileAttribute;\r
+import java.nio.file.attribute.PosixFilePermission;\r
+import java.nio.file.attribute.PosixFilePermissions;\r
+import java.util.Set;\r
+\r
 import org.apache.commons.lang.StringUtils;\r
 import org.apache.logging.log4j.LogManager;\r
 import org.apache.logging.log4j.Logger;\r
@@ -38,9 +47,20 @@ public class OutputPathAndNameSelectorStep extends JobStep {
                }\r
        }\r
 \r
+       private void ensureTargetPathExistence(String targetPath) throws IOException {\r
+               Path directoryPath = Paths.get(targetPath);\r
+               boolean create = !Files.exists(directoryPath) || !Files.isDirectory(directoryPath);\r
+\r
+               if (create) {\r
+                       Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwxrwxrwx");\r
+                       FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(perms);\r
+                       Files.createDirectory(directoryPath, attr);\r
+               }\r
+       }\r
+\r
        @StepEntry\r
        public Object[] execute(String trafficOutputPath, String octopusOutputPath, String genericOutputPath, String houseId, IJobEngine jobEngine,\r
-                       IJobRuntime jobRuntime) {\r
+                       IJobRuntime jobRuntime) throws IOException {\r
                check(trafficOutputPath, octopusOutputPath, genericOutputPath, houseId);\r
 \r
                String id = houseId.toUpperCase();\r
@@ -48,16 +68,22 @@ public class OutputPathAndNameSelectorStep extends JobStep {
                String targetPath = null;\r
                switch (mdType) {\r
                case GENERIC:\r
-                       targetPath = genericOutputPath;\r
+                       targetPath = Paths.get(genericOutputPath, id).toString();\r
                        break;\r
                case OCTOPUS:\r
-                       targetPath = octopusOutputPath;\r
+                       targetPath = Paths.get(octopusOutputPath, id).toString();\r
                        break;\r
                case TRAFFIC:\r
-                       targetPath = genericOutputPath;\r
+                       targetPath = Paths.get(trafficOutputPath, id).toString();\r
                        break;\r
                }\r
                String targetNamePattern = houseId + TARGETNAMEPATTERN;\r
+               try {\r
+                       ensureTargetPathExistence(targetPath);\r
+               } catch (Exception e) {\r
+                       logger.catching(e);\r
+                       logger.error(getMarker(), "A cél mappa {} nem létezik és hozható létre. A rendszer hibaüzenete: {}", targetPath, e.getMessage());\r
+               }\r
                return new Object[] { targetPath, targetNamePattern };\r
        }\r
 \r
index 8135c58a55226058220c41cd58daf5bd019b7859..4c950e0cd0d7871bcafa089debc92106b920fcc3 100644 (file)
@@ -56,16 +56,18 @@ public class TSMBackupStep extends JobStep {
                        RemoteFile remoteFile = sourceUri.transferFrom(targetUri, sourceFileName, sourceFileName);\r
 \r
                        saveMetadata(mediaCubeMedia, sourceFileName);\r
-                       logger.info(getMarker(), "A {} állomány archiválása sikeres.", archiveItem.getMediaFile().toFile().getName());\r
+                       logger.info(getMarker(), "Az '{}' állomány archiválása sikeres.", archiveItem.getMediaFile().toFile().getName());\r
 \r
                        KillDateFile killDateFile = new KillDateFile(sourceMediaFile.getParent().toString(), sourceMediaFile.getFileName().toString());\r
                        killDateFile.create(killDateDays);\r
                } catch (Exception e) {\r
                        logger.catching(e);\r
-                       logger.error(getMarker(), "A {} állomány archiválása sikertelen. A rendszer hibaüzenete: {}", archiveItem.getMediaFile().toFile().getName(),\r
+                       logger.error(getMarker(), "Az '{}' állomány archiválása sikertelen. A rendszer hibaüzenete: {}", archiveItem.getMediaFile().toFile().getName(),\r
                                        e.getMessage());\r
                        if (!archiveItem.removeCatchedFile())\r
-                               logger.error(getMarker(), "A {} állomány .catched jelző állománya nem törölhető.", archiveItem.getMediaFile().toFile().getName());\r
+                               logger.error(getMarker(),\r
+                                               "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!",\r
+                                               archiveItem.getMediaFile().toFile().getName());\r
                        throw e;\r
                }\r
                return null;\r
index a82c3cd5bf594888da02133d8cf32357ada22001..7b8b90ea18889e8506fc1b4d473e0b713cc8718f 100644 (file)
@@ -5,7 +5,6 @@ import java.util.List;
 import org.apache.commons.lang.StringUtils;\r
 import org.apache.logging.log4j.LogManager;\r
 import org.apache.logging.log4j.Logger;\r
-import org.apache.logging.log4j.Marker;\r
 \r
 import user.commons.MediaCubeMarker;\r
 import user.commons.RemoteFile;\r
@@ -33,6 +32,7 @@ public class TSMRestoreStep extends JobStep {
        public Object[] execute(Media mediaCubeMedia, String targetPath, String targetNamePattern, String successRecipient, IJobEngine jobEngine,\r
                        IJobRuntime jobRuntime) throws Exception {\r
                setAndCheck(mediaCubeMedia, targetPath, targetNamePattern, jobEngine);\r
+               String targetFileName = null;\r
                try {\r
                        //TODO check file existance?\r
                        final IJobRuntime runtime = jobRuntime;\r
@@ -48,16 +48,19 @@ public class TSMRestoreStep extends JobStep {
                                        evt.setCancel(!canContinue());\r
                                }\r
                        });\r
-                       String targetFileName = String.format(targetNamePattern, sourceFileName);\r
+                       targetFileName = String.format(targetNamePattern, sourceFileName);\r
                        RemoteFile result = sourceUri.transferFrom(targetUri, sourceFileName, targetFileName);\r
+\r
+                       String successMessage = "Az '{}' állomány visszatöltése sikeres. Elérhető az \r\n'{}' mappa\r\n'{}' állományában.";\r
+                       if (StringUtils.isNotBlank(successRecipient))\r
+                               logger.info(new MediaCubeMarker(successRecipient), successMessage, sourceFileName, targetPath, targetFileName);\r
+                       logger.info(getMarker(), successMessage, sourceFileName, targetPath, targetFileName);\r
                } catch (Exception e) {\r
-                       logger.error(getMarker(), "A {} állomány visszatöltése sikertelen. A rendszer hibaüzenete: {}", sourceFileName, e.getMessage());\r
+                       logger.error(getMarker(), "Az '{}' állomány visszatöltése sikertelen. A rendszer hibaüzenete: {}", sourceFileName, e.getMessage());\r
                        logger.catching(e);\r
                        throw e;\r
                }\r
 \r
-               Marker marker = StringUtils.isBlank(successRecipient) ? getMarker() : new MediaCubeMarker(successRecipient);\r
-               logger.info(marker, "");\r
                return null;\r
        }\r
 \r
index be22e325d1785f90b01c496de4de626624d89049..c919b24f411cbef3996a7461bb85d60bf845fa57 100644 (file)
@@ -12,7 +12,7 @@ import sqlj.runtime.ref.DefaultContext;
 \r
 /**\r
  * <b>Adatbázis kontextus erőforrás kezelő.</b>\r
- * \r
+ *\r
  */\r
 public class ContextPool extends ResourcePool {\r
        private static final Logger logger = LogManager.getLogger();\r
@@ -31,7 +31,13 @@ public class ContextPool extends ResourcePool {
        @Override\r
        protected boolean checkObject(Object resourceObject) {\r
                DefaultContext context = (DefaultContext) resourceObject;\r
-               return context.isClosed();\r
+               boolean result = false;\r
+               try {\r
+                       result = context.getConnection().isClosed();\r
+               } catch (Exception e) {\r
+                       logger.catching(e);\r
+               }\r
+               return result;\r
        }\r
 \r
        @Override\r
@@ -67,6 +73,10 @@ public class ContextPool extends ResourcePool {
                return context;\r
        }\r
 \r
+       public void lendObject(DefaultContext context) {\r
+               super.lendObject(context);\r
+       }\r
+\r
        @Override\r
        protected void releaseObject(Object value) {\r
                validateObject(value);\r
@@ -83,10 +93,6 @@ public class ContextPool extends ResourcePool {
                }\r
        }\r
 \r
-       public void lendObject(DefaultContext context) {\r
-               super.lendObject(context);\r
-       }\r
-\r
        @Override\r
        protected void validateObject(Object resourceObject) {\r
                super.validateObject(resourceObject);\r
index 13b579d6bdd1d3d27eecb018d2f95b96f944fd0f..dec0e4917c0bcd601018252a280e555ef6dcdf81 100644 (file)
@@ -1,5 +1,6 @@
 package user.commons.pool;\r
 \r
+import java.sql.SQLException;\r
 import java.util.LinkedList;\r
 \r
 import org.apache.logging.log4j.LogManager;\r
@@ -8,16 +9,10 @@ import org.apache.logging.log4j.Logger;
 import user.commons.CommonsProperties;\r
 \r
 /**\r
- * <b>Erőforrás kezelő.</b>\r
- * <br>\r
- * Az implementációban meghatározott típusú er�forr�s objektumb�l \r
- * ig�ny szerint l�trehoz annyit, amennyi enged�lyezett.\r
- * <br>\r
- * Az er�forr�s objektumok k�lcs�n�zhet�ek, visszaadhat�ak \r
- * thread-safe m�don. \r
- * <br>\r
- * Mind�g a legr�gebben haszn�lt objektumot k�lcs�nzi ki.\r
- * <br>\r
+ * <b>Erőforrás kezelő.</b> <br>\r
+ * Az implementációban meghatározott típusú er�forr�s objektumb�l ig�ny szerint l�trehoz annyit, amennyi enged�lyezett. <br>\r
+ * Az er�forr�s objektumok k�lcs�n�zhet�ek, visszaadhat�ak thread-safe m�don. <br>\r
+ * Mind�g a legr�gebben haszn�lt objektumot k�lcs�nzi ki. <br>\r
  * Ha elfogy a k�lcs�n�zhet� objektum, v�rakoztat.\r
  */\r
 \r
@@ -30,8 +25,9 @@ abstract public class ResourcePool {
 \r
        /**\r
         * Konstruktor a pool l�trehoz�s�ra.\r
+        *\r
         * @param properties\r
-        * Be�ll�t�sok.\r
+        *            Be�ll�t�sok.\r
         */\r
        protected ResourcePool(CommonsProperties properties) {\r
                if (properties == null)\r
@@ -42,10 +38,8 @@ abstract public class ResourcePool {
 \r
        /**\r
         * Er�forr�s objektum k�lcs�nz�se.\r
-        * @return\r
-        * Kik�lcs�nz�tt er�forr�s objektum. \r
-        * Visszet�r�s el�tt a checkObject-el ellen�rzi, hogy haszn�lhat� e az objektum.\r
-        * Ha nem �jat, hoz l�tre. \r
+        *\r
+        * @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.\r
         */\r
        protected Object borrowObject() {\r
                if (pool == null)\r
@@ -87,18 +81,17 @@ abstract public class ResourcePool {
        }\r
 \r
        /**\r
-        * Ellen�rzi, hogy haszn�lhat� e az objektum.\r
-        * Implement�ci� f�gg�!\r
+        * Ellen�rzi, hogy haszn�lhat� e az objektum. Implement�ci� f�gg�!\r
+        *\r
         * @param resourceObject\r
-        * Ellen�rizend� objektum.\r
-        * @return\r
-        * <b>true</b> ha m�r nem haszn�lhat� \r
+        *            Ellen�rizend� objektum.\r
+        * @return <b>true</b> ha m�r nem haszn�lhat�\r
+        * @throws SQLException\r
         */\r
        abstract protected boolean checkObject(Object resourceObject);\r
 \r
        /**\r
-        * Az �sszes nem kik�lcs�nz�tt er�forr�s objektumot, \r
-        * a releaseObject h�v�ssal felszabad�tja.  \r
+        * Az �sszes nem kik�lcs�nz�tt er�forr�s objektumot, a releaseObject h�v�ssal felszabad�tja.\r
         */\r
        public void close() {\r
                if (pool == null)\r
@@ -113,27 +106,26 @@ abstract public class ResourcePool {
        }\r
 \r
        /**\r
-        * L�trehozza az er�forr�s objektumot.\r
-        * Implement�ci� f�gg�!\r
-        * @return\r
-        * A l�trehozott er�forr�s objektum. \r
+        * L�trehozza az er�forr�s objektumot. Implement�ci� f�gg�!\r
+        *\r
+        * @return A l�trehozott er�forr�s objektum.\r
         */\r
        abstract protected Object createObject();\r
 \r
        /**\r
-        * Param�terek lek�rdez�se. \r
-        * @return\r
-        * CommonsProperties t�pus� param�ter objektum.\r
+        * Param�terek lek�rdez�se.\r
+        *\r
+        * @return CommonsProperties t�pus� param�ter objektum.\r
         */\r
        protected CommonsProperties getProperties() {\r
                return properties;\r
        }\r
 \r
        /**\r
-        * K�lcs�nvett er�forr�s objektum visszaszolg�ltat�sa.\r
-        * T�pus �s null pointer elle�rz�s a validateObject seg�ts�g�vel.\r
+        * K�lcs�nvett er�forr�s objektum visszaszolg�ltat�sa. T�pus �s null pointer elle�rz�s a validateObject seg�ts�g�vel.\r
+        *\r
         * @param value\r
-        * Er�forr�s objektum.\r
+        *            Er�forr�s objektum.\r
         */\r
        protected void lendObject(Object value) {\r
                if (pool == null) {\r
@@ -147,16 +139,15 @@ abstract public class ResourcePool {
        }\r
 \r
        /**\r
-        * Er�forr�s objektum felszabad�t�sa (kapcsolat lez�r�s, \r
-        * haszn�lt er�forr�sok felszabad�t�sa).\r
-        * Implement�ci� f�gg�!\r
+        * Er�forr�s objektum felszabad�t�sa (kapcsolat lez�r�s, haszn�lt er�forr�sok felszabad�t�sa). Implement�ci� f�gg�!\r
+        *\r
         * @param resourceObject\r
-        * A sz�ban forg� objektum.\r
+        *            A sz�ban forg� objektum.\r
         */\r
        abstract protected void releaseObject(Object resourceObject);\r
 \r
        /**\r
-        * Ellen�rzi, hogy az objektum t�pusa megfelel� e. \r
+        * Ellen�rzi, hogy az objektum t�pusa megfelel� e.\r
         */\r
        protected void validateObject(Object value) {\r
                if (value == null) {\r
index 5bd09beda64457794a6da93ea11ff080a97da274..047cb7cc98fe446bf8f6084ecdb07eef4cbd2be7 100644 (file)
@@ -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<Long, IJobRuntime> createJobs() {
index b0697b3dc131b912e7367fbe85119f67a110d4d4..4ed997426a0dd5b04b59ca707336db1d69251837 100644 (file)
@@ -4,7 +4,6 @@ import org.zkoss.bind.annotation.BindingParam;
 import org.zkoss.bind.annotation.Command;\r
 import org.zkoss.zk.ui.select.annotation.Wire;\r
 import org.zkoss.zul.Include;\r
-import org.zkoss.zul.Messagebox;\r
 import org.zkoss.zul.Window;\r
 \r
 public class MenuModel extends BaseModel {\r
@@ -13,7 +12,7 @@ public class MenuModel extends BaseModel {
        Include includeContent;\r
 \r
        public MenuModel() {\r
-               Messagebox.setTemplate("/pages/messagebox.zul");\r
+               //Messagebox.setTemplate("/pages/messagebox.zul");\r
 \r
        }\r
 \r
index 3fd3d1a3277448baf57b54168bab1936b117ab5a..65268f68df208a36c01228d3720460fa675005eb 100644 (file)
@@ -6,6 +6,7 @@ import java.util.HashMap;
 import java.util.List;\r
 import java.util.Map;\r
 \r
+import org.apache.commons.lang.StringUtils;\r
 import org.apache.logging.log4j.LogManager;\r
 import org.apache.logging.log4j.Logger;\r
 import org.zkoss.bind.annotation.BindingParam;\r
@@ -36,20 +37,17 @@ public class SearchModel extends BaseModel {
        @Command\r
        @NotifyChange({ "mold", "paging", "searchResult", "selectedItem", "selectedMedia", "hasLowresMediaFile" })\r
        public void doSearch() {\r
-               Messagebox.show(Labels.getLabel("error.search"), Labels.getLabel("dialogger.warning"), Messagebox.OK, Messagebox.ERROR, defaultOKEventListener);\r
                try {\r
                        //do search ++++++++\r
                        this.selectedItem = null;\r
                        this.selectedMedia = null;\r
-                       if (searchValue != null) {\r
-                               if (searchValue.length() >= 3) {\r
-                                       searchResult = new CachedListModel(searchValue);\r
-                               }\r
-                       }\r
-               } catch (Exception exc) {\r
-                       // Error during search dialog\r
-                       Messagebox.show(Labels.getLabel("error.search"), Labels.getLabel("dialogger.warning"), Messagebox.OK, Messagebox.ERROR, defaultOKEventListener);\r
-                       logger.error("", exc);\r
+                       if (StringUtils.isBlank(searchValue) || searchValue.length() < 3)\r
+                               throw new Exception("Legalább 3 karakter megadása kötelező!");\r
+                       searchResult = new CachedListModel(searchValue);\r
+\r
+               } catch (Exception e) {\r
+                       Messagebox.show(e.getMessage(), Labels.getLabel("dialogger.warning"), Messagebox.OK, Messagebox.ERROR, defaultOKEventListener);\r
+                       logger.catching(e);\r
                }\r
        }\r
 \r