<!-- <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
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
}\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
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
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
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
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
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
\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
@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
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
}\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
package user.commons.pool;\r
\r
+import java.sql.SQLException;\r
import java.util.LinkedList;\r
\r
import org.apache.logging.log4j.LogManager;\r
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
\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
\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
}\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
}\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
}\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
}
private void bootstrap() throws JobEngineException {
- submit("fake-noparams.xml", "Bootstrap", null);
+ //submit("fake-noparams.xml", "Bootstrap", null);
}
protected Map<Long, IJobRuntime> createJobs() {
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
Include includeContent;\r
\r
public MenuModel() {\r
- Messagebox.setTemplate("/pages/messagebox.zul");\r
+ //Messagebox.setTemplate("/pages/messagebox.zul");\r
\r
}\r
\r
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
@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