+++ /dev/null
-datasource:\r
- mediacube:\r
- url: jdbc:db2://10.10.1.27:50000/mc\r
- user: db2admin\r
- password: password\r
- external-indexer: false\r
- simple-search: true\r
- login-timeout: 3\r
- pool-size: 10\r
- mediacube-nosql:\r
- url: jdbc:db2://10.10.1.27:50000/mc\r
- user: db2admin\r
- password: password\r
- schema: test\r
- login-timeout: 3\r
- hsm: \r
- url: jdbc:db2://10.11.1.89:51500/tsmdb1\r
- user: tsminst1\r
- password: tsminst1\r
- planair: \r
- url: jdbc:sqlserver://10.11.254.86;databaseName=PA_Vivantis;\r
- user: MAM\r
- password: VDani\r
-services:\r
- ffmpeg:\r
- execurable-location: /opt/ffmpeg/ffmpeg \r
- mediacube:\r
- proxy-root: /mediacube/data/lowres\r
- nexio:\r
-# host: 10.10.1.55\r
-# collection-name: nexioclips\r
-# use-mos-gateway: true\r
- disabled: true\r
-jobs:\r
- validate-transfers: false\r
- copy-buffer-size: 32768\r
- scheduled-execution-disabled: true\r
-tsm:\r
- randomize-archives: false \r
- delimiter: /\r
- node-name: JOBENGINE\r
- fs-name: /JOBENGINE\r
- alternate-fs-name: /JOBENGINE\r
- hl-name: /JOBENGINE\r
-
\ No newline at end of file
+++ /dev/null
-datasource:\r
- mediacube:\r
- url: jdbc:db2://10.11.1.90:50000/mc\r
- user: db2admin\r
- password: password\r
- external-indexer: false\r
- simple-search: true\r
- login-timeout: 3\r
- pool-size: 10\r
- mediacube-nosql:\r
- url: jdbc:db2://10.11.1.90:50000/mc\r
- user: db2admin\r
- password: password\r
- schema: test\r
- login-timeout: 3\r
- hsm: \r
- url: jdbc:db2://10.11.1.89:51500/tsmdb1\r
- user: tsminst1\r
- password: tsminst1\r
- planair: \r
- url: jdbc:sqlserver://10.11.254.86;databaseName=PA_Vivantis;\r
- user: MAM\r
- password: VDani\r
-services:\r
- ffmpeg:\r
- execurable-location: /opt/ffmpeg/ffmpeg \r
- mediacube:\r
- proxy-root: /mediacube/data/lowres\r
- nexio:\r
-# host: 10.10.1.55\r
-# collection-name: nexioclips\r
-# use-mos-gateway: true\r
- disabled: true\r
-jobs:\r
- validate-transfers: false\r
- copy-buffer-size: 32768\r
- scheduled-execution-disabled: true\r
-tsm:\r
- randomize-archives: false \r
- delimiter: /\r
- node-name: JOBENGINE\r
- fs-name: /JOBENGINE\r
- alternate-fs-name: /JOBENGINE\r
- hl-name: /JOBENGINE\r
-
\ No newline at end of file
datasource:\r
mediacube:\r
- url: jdbc:db2://localhost:50000/mc\r
+ url: jdbc:db2://localvm:50000/mc\r
user: db2admin\r
password: password\r
external-indexer: true\r
login-timeout: 3\r
pool-size: 10\r
mediacube-nosql:\r
- url: jdbc:db2://localhost:50000/mc\r
+ url: jdbc:db2://localvm:50000/mc\r
user: db2admin\r
password: password\r
schema: test\r
Integer nexioPort = 2098;\r
String nexioUserName = "administrator";\r
String nexioPassword = "system";\r
- Object[] inputs = { mediaCubeMedia, targetPath, targetNamePattern, successRecipient, killDateDays,\r
- localRetrievePath, globalRetrievePath, useNexioTarget, nexioAgency, nexioPort, nexioUserName,\r
- nexioPassword };\r
+ Object[] inputs = { mediaCubeMedia, targetPath, targetNamePattern, successRecipient, killDateDays, localRetrievePath, globalRetrievePath,\r
+ useNexioTarget, nexioAgency, nexioPort, nexioUserName, nexioPassword };\r
// Object[] inputs = { null, null, null, null, 0, null, null, false, null, 0,\r
// null, null };\r
sut.run(null, null, inputs);\r
\r
@Test\r
public void test9() throws Exception {\r
- List<Path> files = Arrays.asList(Paths.get("/opt/20200101100000.xxx.json"), Paths.get("/opt/xxx.json"),\r
- Paths.get("/opt/yyy.json"), Paths.get("/opt/20200202200000.xxx.json"));\r
+ List<Path> files = Arrays.asList(Paths.get("/opt/20200101100000.xxx.json"), Paths.get("/opt/xxx.json"), Paths.get("/opt/yyy.json"),\r
+ Paths.get("/opt/20200202200000.xxx.json"));\r
\r
files.sort((a, b) -> {\r
return a.compareTo(b);\r
@Test\r
public void test99() throws Exception {\r
System.setProperty("jobengine.ffmpeg.location", "/Programs/ffmpeg/bin/ffmpeg.exe");\r
- System.setProperty("java.library.path",\r
- System.getProperty("java.library.path") + ";/_workspace/USER/MediaCube/server/-dependencies/libs");\r
+ System.setProperty("java.library.path", System.getProperty("java.library.path") + ";/_workspace/USER/MediaCube/server/-dependencies/libs");\r
Path input = Paths.get("/_XDCAM/Sub/0410_1006_DEMO_mariagyud_mixS01.MXF");\r
Path output = Paths.get("/_XDCAM/out");\r
\r
public void test992() throws Exception {\r
Timestamp nexio = Timestamp.from(Instant.now().minus(2, ChronoUnit.HOURS));\r
LocalDateTime ldt = LocalDateTime.ofInstant(Instant.now(), ZoneOffset.systemDefault());\r
- LocalDateTime ldn = LocalDateTime.ofInstant(Instant.now().minus(2, ChronoUnit.HOURS),\r
- ZoneOffset.systemDefault());\r
+ LocalDateTime ldn = LocalDateTime.ofInstant(Instant.now().minus(2, ChronoUnit.HOURS), ZoneOffset.systemDefault());\r
long modifiedHours = Duration.between(ldt, ldn).toHours();\r
System.out.println(modifiedHours);\r
System.out.println(DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(ldt));\r
}\r
}\r
System.out.println(String.format("TSM hiány %d, polcon van %d, omben van %d", fCount, pCount, oCount));\r
- System.out.println(String.format("Egyéb %d, Reklám %d, Promó %d, Anyag %d, Adásban volt %d", other, ad, promo,\r
- material, inrd));\r
+ System.out.println(String.format("Egyéb %d, Reklám %d, Promó %d, Anyag %d, Adásban volt %d", other, ad, promo, material, inrd));\r
// Files.write(Paths.get("/opt/AMC/mcmissing.txt"), mcmissing);\r
}\r
\r
errorCount++;\r
}\r
float archivePercent = archivedCount * 100 / omCount;\r
- System.out.println(String.format("Archiválandó %d, archivált %d, nem archivált %d, százalék %f", omCount,\r
- archivedCount, errorCount, archivePercent));\r
+ System.out.println(String.format("Archiválandó %d, archivált %d, nem archivált %d, százalék %f", omCount, archivedCount, errorCount, archivePercent));\r
// Files.write(Paths.get("/opt/AMC/mcmissing.txt"), mcmissing);\r
}\r
\r
}\r
\r
}\r
- String excludedReport = String.format("Kihagyva %d db, összméret %s", omExcludeCount,\r
- readableFileSize(omExcludeSizeSum));\r
+ String excludedReport = String.format("Kihagyva %d db, összméret %s", omExcludeCount, readableFileSize(omExcludeSizeSum));\r
System.out.println(excludedReport);\r
\r
Files.write(Paths.get("/opt/mv-excluded-parlament-byid.txt"), out);\r
}\r
\r
}\r
- String excludedReport = String.format("%d db, összméret %s", omExcludeCount,\r
- readableFileSize(omExcludeSizeSum));\r
+ String excludedReport = String.format("%d db, összméret %s", omExcludeCount, readableFileSize(omExcludeSizeSum));\r
System.out.println(excludedReport);\r
\r
Files.write(Paths.get("/opt/mv-excluded-parlament-name.txt"), out);\r
continue;\r
}\r
}\r
- System.out.println(\r
- "All (no PTV) " + omcount + " missing " + count + " completed " + ((count * 100) / omcount) + "%");\r
+ System.out.println("All (no PTV) " + omcount + " missing " + count + " completed " + ((count * 100) / omcount) + "%");\r
// String excludedReport = String.format("Kihagyva %d db, összméret %s",\r
// omExcludeCount, readableFileSize(omExcludeSizeSum));\r
// System.out.println(excludedReport);\r
\r
vchecked++;\r
\r
- if (!df.format(mcdate).substring(0, 10).equals(df.format(tsmdate).substring(0, 10))\r
- && tsmdate.before(mcdate)) {\r
- System.out.println(\r
- "Old version in TSM " + id + " mc " + df.format(mcdate) + " tsm " + df.format(tsmdate));\r
+ if (!df.format(mcdate).substring(0, 10).equals(df.format(tsmdate).substring(0, 10)) && tsmdate.before(mcdate)) {\r
+ System.out.println("Old version in TSM " + id + " mc " + df.format(mcdate) + " tsm " + df.format(tsmdate));\r
vreport.add(id);\r
vmissings++;\r
}\r
}\r
}\r
\r
- System.out.println(\r
- tsm.size() + " " + mc.size() + " " + missings + " vchecked" + vchecked + " vmissing" + vmissings);\r
+ System.out.println(tsm.size() + " " + mc.size() + " " + missings + " vchecked" + vchecked + " vmissing" + vmissings);\r
Files.write(Paths.get("/opt/AMC/mreport.txt"), mreport);\r
Files.write(Paths.get("/opt/AMC/vreport.txt"), vreport);\r
}\r
GroovyClassLoader cl = new GroovyClassLoader(this.getClass().getClassLoader()) {\r
\r
@Override\r
- public Class<?> loadClass(String name, boolean lookupScriptFiles, boolean preferClassOverScript,\r
- boolean resolve) throws ClassNotFoundException, CompilationFailedException {\r
+ public Class<?> loadClass(String name, boolean lookupScriptFiles, boolean preferClassOverScript, boolean resolve)\r
+ throws ClassNotFoundException, CompilationFailedException {\r
return super.loadClass(name, lookupScriptFiles, preferClassOverScript, resolve);\r
}\r
\r
\r
@Test\r
public void test9996() throws Exception {\r
- String className = "TestStep1";\r
- String root = "/opt/steps";\r
+ String className = "Test2";\r
+ String root = "/opt/";\r
\r
try (GroovyClassLoader cl = new GroovyClassLoader(this.getClass().getClassLoader())) {\r
Path path = Paths.get(root, className + ".java");\r
- cl.addURL(path.toUri().toURL());\r
- Class<?> myClass = cl.loadClass("user.jobengine.server.steps.TestStep1", true, true);\r
+ // cl.addURL(path.toUri().toURL());\r
+\r
+ Class<?> myClass = cl.parseClass(path.toFile());\r
System.out.println(myClass.getCanonicalName());\r
+ System.out.println(myClass.getResource("Test2.class"));\r
Method method = myClass.getMethod("execute");\r
method.invoke(myClass.newInstance());\r
} catch (Exception e) {\r
public void test99997() throws Exception {\r
\r
System.setProperty("jna.library.path", "/users/elgekko");\r
- List<String> files = Arrays.asList("c:\\opt\\AMC\\2021\\ISSUES\\#203\\IFL000000071_43.mxf",\r
- "c:\\opt\\AMC\\2021\\ISSUES\\#203\\MX_12290041.mxf",\r
- "c:\\opt\\AMC\\2021\\ISSUES\\#203\\DK_20344100_02_high_16_9.mxf",\r
- "c:\\opt\\AMC\\2021\\ISSUES\\#203\\IPR000011027_169.mxf");\r
+ List<String> files = Arrays.asList("c:\\opt\\AMC\\2021\\ISSUES\\#203\\IFL000000071_43.mxf", "c:\\opt\\AMC\\2021\\ISSUES\\#203\\MX_12290041.mxf",\r
+ "c:\\opt\\AMC\\2021\\ISSUES\\#203\\DK_20344100_02_high_16_9.mxf", "c:\\opt\\AMC\\2021\\ISSUES\\#203\\IPR000011027_169.mxf");\r
for (String file : files) {\r
try (user.commons.mediaarea.MediaInfo mi = new user.commons.mediaarea.MediaInfo(file)) {\r
// Display aspect ratio\r
--- /dev/null
+package hu.user.mediacube.executors.tests;\r
+\r
+public class Test1 {\r
+\r
+ public void execute() {\r
+ System.out.println("Execute...");\r
+ }\r
+}\r
throw e;\r
}\r
current++;\r
- setProgress(current * 100 / overall);\r
+ int progress = current * 100 / overall;\r
+ setProgress(progress);\r
}\r
return result;\r
}\r
String channel = NoSQLUtils.asString(NoSQLUtils.asDBObject(rundown, IOctopusAPI.CHANNEL), IOctopusAPI.NAME);\r
Date scheduledStart = rundown.getDate(IOctopusAPI.SCHEDULED_START);\r
String start = CalendarUtils.toString(CalendarUtils.createCalendar(scheduledStart), SCHEDULED_FORMAT);\r
- //String rundownName = NoSQLUtils.asString(rundown, IOctopusAPI.NAME);\r
+ // String rundownName = NoSQLUtils.asString(rundown, IOctopusAPI.NAME);\r
rundownName = String.format("%s %s %s", start, name, channel);\r
List<DBObject> stories = octopusAPI.getRundownStories(rundownID, createFieldsObject());\r
if (stories != null)\r
throw e;\r
}\r
current++;\r
- setProgress(current * 100 / overall);\r
+ int progress = current * 100 / overall;\r
+ setProgress(progress);\r
}\r
return result;\r
}\r
BasicDBObject clip = (BasicDBObject) clipCollection.findOne(new BasicDBObject(LONGNAMEID, clipName));\r
if (clip != null) {\r
long duration = NoSQLUtils.asLong(clip, DURATION);\r
- //az ures klipp 1 kocka hosszu\r
+ // az ures klipp 1 kocka hosszu\r
if (duration > 1) {\r
mosObject.put("duration", duration);\r
foundAnyClip = true;\r
NoSQLUtils.addLong(perReporterStat, "archive_duration", archiveDuration);\r
}\r
\r
- //skipped\r
+ // skipped\r
if (sfCount > 0 && rdCount == 0) {\r
NoSQLUtils.addLong(planStat, "skip_count", 1);\r
NoSQLUtils.addLong(planStat, "skip_duration", duration);\r
NoSQLUtils.addLong(perReporterStat, "skip_duration", duration);\r
}\r
\r
- //onair\r
+ // onair\r
if (rdCount > 0) {\r
NoSQLUtils.addLong(planStat, "onair_count", 1);\r
NoSQLUtils.addLong(planStat, "onair_duration", duration);\r
\r
private boolean processPathItem(Path filePath) {\r
currentCount[0]++;\r
- setProgress(currentCount[0] * 100 / allCount[0]);\r
+ int progress = currentCount[0] * 100 / allCount[0];\r
+ setProgress(progress);\r
\r
if (filePath.toFile().isDirectory() || !filePath.toString().toUpperCase().endsWith(".EZP"))\r
return false;\r
public static final String GETCUSTOMVIEW = "/getCustomView";\r
\r
private static final Path subtitleRoot = Paths.get("X:\\PB_ARCH");\r
- private static final Path missingSubsRoot = Paths.get("R:\\BeachPool");\r
+ private static final Path missingSubsRoot = Paths.get("R:\\BeachPoolSubs");\r
private Set<Path> subsDirectoriesList;\r
\r
private static Document toDocument(String xml) {\r
return Paths.get(configDir, viewName);\r
}\r
\r
- public void init(String primaryEndPoint, String primaryUserName, String primaryPassword, String secondaryEndPoint,\r
- String secondaryUserName, String secondaryPassword, int rangeForwardHours) throws Exception {\r
+ public void init(String primaryEndPoint, String primaryUserName, String primaryPassword, String secondaryEndPoint, String secondaryUserName,\r
+ String secondaryPassword, int rangeForwardHours) throws Exception {\r
this.primaryEndPoint = primaryEndPoint;\r
this.primaryUserName = primaryUserName;\r
this.primaryPassword = primaryPassword;\r
DataInputStream is = null;\r
try {\r
URL url = new URL(endPoint);\r
- httpclient.getCredentialsProvider().setCredentials(\r
- new AuthScope(url.getHost(), url.getPort(), null, "Digest"),\r
+ httpclient.getCredentialsProvider().setCredentials(new AuthScope(url.getHost(), url.getPort(), null, "Digest"),\r
new UsernamePasswordCredentials(user, pwd));\r
\r
HttpPost httppost = new HttpPost(url.toURI());\r
}\r
\r
@Override\r
- public FileType createFileType(String name, String description, String videoCodec, String audioCodec,\r
- int videoTracks, int audioTracks, float frameRate) {\r
+ public FileType createFileType(String name, String description, String videoCodec, String audioCodec, int videoTracks, int audioTracks, float frameRate) {\r
traceIn();\r
FileType entity = new FileType();\r
entity.setPersister(this);\r
private IMediaFinder createFinder() {\r
IMediaFinder finder = null;\r
boolean externalIndexer = systemConfig.value("datasource.mediacube.external-indexer", false);\r
- if (externalIndexer) {\r
+// if (externalIndexer) {\r
// finder = new LuceneMediaFinder(this);\r
- } else {\r
- finder = new MediaFinder(this);\r
- }\r
+// } else {\r
+// finder = new MediaFinder(this);\r
+// }\r
+ finder = new MediaFinder(this);\r
return finder;\r
}\r
\r
}\r
\r
@Override\r
- public Metadata createMetadata(MetadataElement mde, ListType listType, GuiType guiType, String sqlField,\r
- StaticTables staticTable, String pojoField, MdType... flags) {\r
+ public Metadata createMetadata(MetadataElement mde, ListType listType, GuiType guiType, String sqlField, StaticTables staticTable, String pojoField,\r
+ MdType... flags) {\r
traceIn();\r
Metadata entity = new Metadata();\r
int values = MdType.getValues(flags);\r
}\r
\r
@Override\r
- public MetadataType createMetadataType(String name, BaseType baseType, String javaType, String dataType,\r
- int length) {\r
+ public MetadataType createMetadataType(String name, BaseType baseType, String javaType, String dataType, int length) {\r
traceIn();\r
MetadataType entity = new MetadataType();\r
entity.setPersister(this);\r
}\r
\r
@Override\r
- public StoreUri createStoreUri(RemoteStoreProtocol protocol, String uri, int portNumber, boolean isStream,\r
- boolean isSource, boolean isTarget, String userName, String password, String rootPath) {\r
+ public StoreUri createStoreUri(RemoteStoreProtocol protocol, String uri, int portNumber, boolean isStream, boolean isSource, boolean isTarget,\r
+ String userName, String password, String rootPath) {\r
traceIn();\r
StoreUri entity = new StoreUri();\r
entity.setPersister(this);\r
\r
@Override\r
public StoreUri createStoreUri(URI uri) {\r
- StoreUri result = createStoreUri(RemoteStoreProtocol.fromString(uri.toString()), uri.getHost(), uri.getPort(),\r
- false, false, false, null, null, null);\r
+ StoreUri result = createStoreUri(RemoteStoreProtocol.fromString(uri.toString()), uri.getHost(), uri.getPort(), false, false, false, null, null, null);\r
result.setCurrentPath(uri.getPath());\r
return result;\r
}\r
}\r
\r
@Override\r
- public WorkflowAction createWorkflowAction(Timestamp touched, Timestamp started, Timestamp finished,\r
- boolean successful, String houseId, String description, String source, String destination, String tag,\r
- long size) {\r
+ public WorkflowAction createWorkflowAction(Timestamp touched, Timestamp started, Timestamp finished, boolean successful, String houseId, String description,\r
+ String source, String destination, String tag, long size) {\r
traceIn();\r
\r
WorkflowAction entity = new WorkflowAction();\r
}\r
\r
@Override\r
- public StoreUri ensureUri(String storeName, String uri, boolean isSystem, boolean isLowres,\r
- RemoteStoreProtocol protocol) {\r
+ public StoreUri ensureUri(String storeName, String uri, boolean isSystem, boolean isLowres, RemoteStoreProtocol protocol) {\r
Store store = getStore(storeName);\r
StoreUri result = null;\r
if (store == null) {\r
}\r
\r
@Override\r
- public void executeQuery(Connection connection, String query, IResultSetConsumer consumer,\r
- IStatementDecorator decorator) {\r
+ public void executeQuery(Connection connection, String query, IResultSetConsumer consumer, IStatementDecorator decorator) {\r
ResultSet rs = null;\r
PreparedStatement st = null;\r
try {\r
}\r
\r
@Override\r
- public int executeUpdate(Connection connection, String query, IStatementDecorator decorator,\r
- IResultSetConsumer keysConsumer) {\r
+ public int executeUpdate(Connection connection, String query, IStatementDecorator decorator, IResultSetConsumer keysConsumer) {\r
int result = -1;\r
PreparedStatement st = null;\r
ResultSet rs = null;\r
try {\r
String date = df.format(scheduleDate.getTime());\r
String query = String.format(\r
- "SELECT COUNT(*) as count, SUM(size) as duration FROM VW_RD_INGEST WHERE houseid='%s' AND finished LIKE '%s%%' GROUP BY houseid",\r
- houseId, date);\r
+ "SELECT COUNT(*) as count, SUM(size) as duration FROM VW_RD_INGEST WHERE houseid='%s' AND finished LIKE '%s%%' GROUP BY houseid", houseId,\r
+ date);\r
st = connection.prepareStatement(query);\r
rs = st.executeQuery();\r
if (rs.next()) {\r
Calendar end = CalendarUtils.createZeroCalendar(date);\r
end.add(Calendar.DAY_OF_YEAR, 1);\r
WorkflowActionDAO dao = (WorkflowActionDAO) getBaseDAO(WorkflowAction.class);\r
- return (List<WorkflowAction>) (List<?>) dao.getWorkflowActions(new Timestamp(begin.getTimeInMillis()),\r
- new Timestamp(end.getTimeInMillis()));\r
+ return (List<WorkflowAction>) (List<?>) dao.getWorkflowActions(new Timestamp(begin.getTimeInMillis()), new Timestamp(end.getTimeInMillis()));\r
}\r
\r
void initialize() {\r
StoreUri result = null;\r
List<StoreUri> uris = store.getStoreUris();\r
if (uris != null && uris.size() > 1) {\r
- uris = uris.stream().filter(u -> u.getProtocol() == RemoteStoreProtocol.LOCAL && u.isTarget())\r
- .sorted((u1, u2) -> {\r
- return Integer.compare(u1.getPriority(), u2.getPriority());\r
- }).collect(Collectors.toList());\r
+ uris = uris.stream().filter(u -> u.getProtocol() == RemoteStoreProtocol.LOCAL && u.isTarget()).sorted((u1, u2) -> {\r
+ return Integer.compare(u1.getPriority(), u2.getPriority());\r
+ }).collect(Collectors.toList());\r
\r
for (StoreUri uri : uris) {\r
// min 5GB\r
\r
<!-- tag deklarációja -->\r
<?component name="search-filters" inline="true" macroURI="searchitems/filters.zul"?>\r
-<?component name="search-results" if inline="true" macroURI="searchitems/listresults.zul"?>\r
+<?component name="search-results" if inline="true" macroURI="searchitems/tabulatorresults.zul"?>\r
<?component name="item-details" inline="true" macroURI="searchitems/details.zul"?>\r
\r
<!DOCTYPE xml>\r
\r
<!-- csak igy jo a list sebessege -->\r
\r
- <div id="scdiv" width="100%" height="100%" viewModel="@id('vm') @init('user.jobengine.zk.model.ListSearchModel')">\r
+ <div id="scdiv" width="100%" height="100%" viewModel="@id('vm') @init('user.jobengine.zk.model.TabulatorSearchModel')">\r
<timer id="timer" delay="500" repeats="false" onTimer="@command('uiTick')" />\r
<div id="tagListener" onChange="@command('onTagChanged')" />\r
\r
\r
<zk xmlns:w="http://www.zkoss.org/2005/zk/client" xmlns:h="xhtml" xmlns:c="client">\r
<menupopup id="searchSettings">\r
- <menuitem label="10 találat oldalanként" value="10" checked="true" />\r
- <menuitem label="25 találat oldalanként" value="25" checked="true" onClick="@command('setPageSize', source=self)" autocheck="true"/>\r
- <menuitem label="50 találat oldalanként" value="50" checked="true" />\r
- <menuitem label="100 találat oldalanként" value="100" checked="true" />\r
- <menuitem label="200 találat oldalanként" value="200" checked="true" />\r
+ <menuitem label="10 találat oldalanként" value="10" checked="true" onClick="@command('setPageSize', source=self)"/>\r
+ <menuitem label="25 találat oldalanként" value="25" checked="true" onClick="@command('setPageSize', source=self)" />\r
+ <menuitem label="50 találat oldalanként" value="50" checked="true" onClick="@command('setPageSize', source=self)"/>\r
+ <menuitem label="100 találat oldalanként" value="100" checked="true" onClick="@command('setPageSize', source=self)"/>\r
+ <menuitem label="200 találat oldalanként" value="200" checked="true" onClick="@command('setPageSize', source=self)"/>\r
<menuseparator />\r
<menuitem label="Előzmények törlése" onClick="@command('clearHistory')" />\r
</menupopup>\r
}\r
}\r
\r
+ public List<ArchivedMedia> loadPage(int forIndex, int pageSize) {\r
+ List<ArchivedMedia> result = null;\r
+ try {\r
+ logger.info("Loading page {}", forIndex);\r
+ int startPos = forIndex * pageSize;\r
+ int endPos = startPos + pageSize;\r
+\r
+ SearchResult<ArchivedMedia> sr = createSearchResult(startPos, endPos);\r
+\r
+ if (sr != null) {\r
+ this.resultSetSize = (int) sr.getItemCount();\r
+ result = sr.getItems();\r
+ }\r
+ } catch (Exception e) {\r
+ fireCacheEvent(new Event(Events.ON_ERROR, null, e));\r
+ // ki kell nullazni, egyebkent tobbszeros lekerdezes van\r
+ resultSetSize = 0;\r
+ }\r
+ return result;\r
+ }\r
+\r
// kintrol is hivhatjak\r
public void reinit() {\r
logger.info("reinit()");\r
import org.zkoss.zk.ui.select.annotation.Wire;\r
import org.zkoss.zk.ui.util.Clients;\r
import org.zkoss.zul.Button;\r
-import org.zkoss.zul.Checkbox;\r
import org.zkoss.zul.Column;\r
import org.zkoss.zul.Combobox;\r
-import org.zkoss.zul.Detail;\r
-import org.zkoss.zul.Grid;\r
import org.zkoss.zul.Hbox;\r
-import org.zkoss.zul.Hlayout;\r
import org.zkoss.zul.ListModelList;\r
import org.zkoss.zul.Menuitem;\r
import org.zkoss.zul.Menupopup;\r
import org.zkoss.zul.Messagebox;\r
-import org.zkoss.zul.Paging;\r
import org.zkoss.zul.Panel;\r
-import org.zkoss.zul.Row;\r
import org.zkoss.zul.Timer;\r
import org.zkoss.zul.Toolbar;\r
import org.zkoss.zul.Toolbarbutton;\r
@Wire\r
Timer timer;\r
@Wire\r
- Grid itemsGrid;\r
- @Wire\r
Button backToVideoButton;\r
@Wire\r
Combobox search;\r
setColumnOrder();\r
showExternalMediaID();\r
\r
- if (itemsGrid != null) {\r
- configureSearchResultGrid();\r
- if (SessionUtil.getUserPageSize() != 0)\r
- itemsGrid.setPageSize(SessionUtil.getUserPageSize());\r
- setSettingsPageSize(itemsGrid.getPageSize());\r
- }\r
+ // TODO grid beallitasa mentett adatokbol\r
+// if (itemsGrid != null) {\r
+// Paging paging = itemsGrid.getPagingChild();\r
+// paging.setAutohide(false);\r
+//\r
+// for (Component child : itemsGrid.getColumns().getChildren()) {\r
+// Column column = (Column) child;\r
+// if (columnOrder != null)\r
+// if (column.getLabel().equals(columnOrder.entrySet().iterator().next().getKey()))\r
+// column.setSortDirection(columnOrder.entrySet().iterator().next().getValue());\r
+// column.addEventListener("onSort", evt -> doSort(evt));\r
+// }\r
+// if (SessionUtil.getUserPageSize() != 0)\r
+// itemsGrid.setPageSize(SessionUtil.getUserPageSize());\r
+// setSettingsPageSize(itemsGrid.getPageSize());\r
+// }\r
+ int pageSize = SessionUtil.getUserPageSize();\r
+ if (pageSize != 0)\r
+ setSettingsPageSize(pageSize);\r
+ else\r
+ setSettingsPageSize(25);\r
\r
if (!allChecked)\r
showSearchTypeWarning();\r
\r
- tags = itemManager.getAllTags();\r
- // lekerdezesi hiba\r
- if (tags == null)\r
- Clients.showNotification("A cimkék inicializálása sikertelen!", "error", tagsToolbar, "start_center",\r
- 3000);\r
- else\r
- setSearchTags();\r
+ initSearchTags();\r
\r
} catch (Exception e) {\r
handleSearchError(e);\r
\r
}\r
\r
+ private void initSearchTags() {\r
+ tags = itemManager.getAllTags();\r
+ // lekerdezesi hiba\r
+ if (tags == null)\r
+ Clients.showNotification("A cimkék inicializálása sikertelen!", "error", tagsToolbar, "start_center", 3000);\r
+ else\r
+ setSearchTags();\r
+ }\r
+\r
private void clearAllFilters() {\r
for (String filter : typeFilters.keySet()) {\r
typeFilters.get(filter).setChecked(false);\r
SessionUtil.putUserSearchHistory(searchHistory);\r
}\r
\r
- private void configureSearchResultGrid() {\r
- Paging paging = itemsGrid.getPagingChild();\r
- paging.setAutohide(false);\r
-\r
- for (Component child : itemsGrid.getColumns().getChildren()) {\r
- Column column = (Column) child;\r
- if (columnOrder != null)\r
- if (column.getLabel().equals(columnOrder.entrySet().iterator().next().getKey()))\r
- column.setSortDirection(columnOrder.entrySet().iterator().next().getValue());\r
- column.addEventListener("onSort", evt -> doSort(evt));\r
- }\r
- }\r
-\r
@Command\r
public void copyMediaIdToClipboard() {\r
- String port = (Executions.getCurrent().getServerPort() == 80) ? ""\r
- : (":" + Executions.getCurrent().getServerPort());\r
+ String port = (Executions.getCurrent().getServerPort() == 80) ? "" : (":" + Executions.getCurrent().getServerPort());\r
String baseURL = Executions.getCurrent().getScheme() + "://" + Executions.getCurrent().getServerName() + port\r
+ Executions.getCurrent().getContextPath();\r
String url = String.format("%s/?%s=%d", baseURL, MEDIA_ID, selectedObject.getMedia().getId());\r
- String email = String.format("mailto:?subject=Média címe: %s &body=A média itt tekinthető meg: %s",\r
- selectedObject.getMedia().getTitle(), url);\r
+ String email = String.format("mailto:?subject=Média címe: %s &body=A média itt tekinthető meg: %s", selectedObject.getMedia().getTitle(), url);\r
Executions.getCurrent().sendRedirect(email);\r
}\r
\r
parameters.put("successRecipient", SessionUtil.getUserPrincipal().getEmail());\r
\r
try {\r
- jobEngine.submit(CREATE_LOWRES_TEMPLATE, scheduledJob.getJobName(), parameters,\r
- SessionUtil.getUserPrincipal().getDisplayName());\r
- Messagebox.show("A proxy pótlása elindult, emailben értesíti a rendszer a folyamat végeztével.",\r
- "Információ", Messagebox.OK, Messagebox.INFORMATION);\r
+ jobEngine.submit(CREATE_LOWRES_TEMPLATE, scheduledJob.getJobName(), parameters, SessionUtil.getUserPrincipal().getDisplayName());\r
+ Messagebox.show("A proxy pótlása elindult, emailben értesíti a rendszer a folyamat végeztével.", "Információ", Messagebox.OK,\r
+ Messagebox.INFORMATION);\r
} catch (JobEngineException e) {\r
logger.info("Hiba a feladat indításakor", e);\r
- Messagebox.show("Hiba a feladat indításakor. A rendszer üzenete: " + e.getMessage(), "Hiba", Messagebox.OK,\r
- Messagebox.ERROR);\r
+ Messagebox.show("Hiba a feladat indításakor. A rendszer üzenete: " + e.getMessage(), "Hiba", Messagebox.OK, Messagebox.ERROR);\r
}\r
}\r
\r
search.close();\r
search.select();\r
searchResult = null;\r
- itemsGrid.setActivePage(0);\r
+\r
+ // TODO reset page to 0\r
+ // itemsGrid.setActivePage(0);\r
setSelectedObject(null);\r
String searchValue = search.getText();\r
\r
\r
List<Long> selectedTypeIds = getTypeIDs(searchFilters);\r
\r
- SearchOptions options = SearchOptions.create().setText(searchValue).setTypes(selectedTypeIds)\r
- .setTags(searchTags).setFrom(searchFrom).setTo(searchTo).setMissingProxy(missingProxy)\r
- .setDescLength(descLength).setOrder(orderBy, orderAscending);\r
+ SearchOptions options = SearchOptions.create().setText(searchValue).setTypes(selectedTypeIds).setTags(searchTags).setFrom(searchFrom)\r
+ .setTo(searchTo).setMissingProxy(missingProxy).setDescLength(descLength).setOrder(orderBy, orderAscending);\r
\r
if (!options.isValid())\r
- throw new Exception(\r
- "Legalább egy keresési opció használata kötelező: 3 karakter, hiányzó proxy, dátum, típus, cimke!");\r
+ throw new Exception("Legalább egy keresési opció használata kötelező: 3 karakter, hiányzó proxy, dátum, típus, cimke!");\r
+\r
+ if (!allChecked)\r
+ showSearchTypeWarning();\r
+\r
searchResult = new CachedListModel(options);\r
searchResult.addEventListener(e -> {\r
if (e.getName().equals(Events.ON_ERROR)) {\r
}\r
});\r
\r
- if (!allChecked)\r
- showSearchTypeWarning();\r
+ int pageSize = SessionUtil.getUserPageSize();\r
+ List<ArchivedMedia> page = searchResult.loadPage(0, pageSize);\r
\r
} catch (Exception e) {\r
handleSearchError(e);\r
}\r
\r
public void doSort(Event event) throws Exception {\r
- itemsGrid.getColumns().getChildren().forEach(c -> ((Column) c).setSortDirection("natural"));\r
+ // TODO hande sort\r
+ // itemsGrid.getColumns().getChildren().forEach(c -> ((Column)\r
+ // c).setSortDirection("natural"));\r
SortEvent evt = (SortEvent) event;\r
Column column = (Column) evt.getTarget();\r
column.setSortDirection(evt.isAscending() ? "ascending" : "descending");\r
}\r
\r
void ensureVisible(int pos) {\r
-\r
- registerTask(() -> {\r
- logger.info("Scrolling to pos {} begin", pos);\r
- List<Component> children = itemsGrid.getRows().getChildren();\r
- if (children.size() > 0) {\r
- Component top = children.get(pos);\r
- Clients.scrollIntoView(top);\r
- logger.info("Scrolled into the {}. row on the page.", pos);\r
- }\r
-\r
- if (positionToScroll > -1) {\r
- highlight(selectedObject, true);\r
- positionToScroll = -1;\r
- }\r
-\r
- logger.info("Scrolling to pos {} end", pos);\r
- preventAfterRender = false;\r
- });\r
- timer.start();\r
+ // TODO show selected row\r
+// registerTask(() -> {\r
+// logger.info("Scrolling to pos {} begin", pos);\r
+// List<Component> children = itemsGrid.getRows().getChildren();\r
+// if (children.size() > 0) {\r
+// Component top = children.get(pos);\r
+// Clients.scrollIntoView(top);\r
+// logger.info("Scrolled into the {}. row on the page.", pos);\r
+// }\r
+//\r
+// if (positionToScroll > -1) {\r
+// highlight(selectedObject, true);\r
+// positionToScroll = -1;\r
+// }\r
+//\r
+// logger.info("Scrolling to pos {} end", pos);\r
+// preventAfterRender = false;\r
+// });\r
+// timer.start();\r
}\r
\r
public Validator getAllFilterCheckedValidator() {\r
private void highlight(ArchivedMedia am, boolean highlight) {\r
if (am == null)\r
return;\r
- List<Component> components = itemsGrid.getRows().getChildren();\r
- for (int i = 0; i < components.size(); i++) {\r
- Row row = (Row) components.get(i);\r
- ArchivedMedia archivedMedia = (ArchivedMedia) row.getValue();\r
- if (archivedMedia != null && am.getMedia().getId() == archivedMedia.getMedia().getId()) {\r
- Detail detail = (Detail) row.getChildren().get(0);\r
- Hlayout hlayout = (Hlayout) detail.getChildren().get(0);\r
- if (highlight) {\r
- selectedRowIndex = i;\r
- row.setStyle("background: #F1F8E9;");\r
- hlayout.setStyle("border-bottom: 1px solid #C5E1A5; background: #F1F8E9;");\r
- } else {\r
- row.setStyle("background: none;");\r
- hlayout.setStyle("border-bottom: 1px solid #ebebeb; background: none;");\r
- }\r
- break;\r
\r
- }\r
- }\r
+ // TODO higlight selected row\r
+ // List<Component> components = itemsGrid.getRows().getChildren();\r
+// for (int i = 0; i < components.size(); i++) {\r
+// Row row = (Row) components.get(i);\r
+// ArchivedMedia archivedMedia = (ArchivedMedia) row.getValue();\r
+// if (archivedMedia != null && am.getMedia().getId() == archivedMedia.getMedia().getId()) {\r
+// Detail detail = (Detail) row.getChildren().get(0);\r
+// Hlayout hlayout = (Hlayout) detail.getChildren().get(0);\r
+// if (highlight) {\r
+// selectedRowIndex = i;\r
+// row.setStyle("background: #F1F8E9;");\r
+// hlayout.setStyle("border-bottom: 1px solid #C5E1A5; background: #F1F8E9;");\r
+// } else {\r
+// row.setStyle("background: none;");\r
+// hlayout.setStyle("border-bottom: 1px solid #ebebeb; background: none;");\r
+// }\r
+// break;\r
+//\r
+// }\r
+// }\r
}\r
\r
public boolean isAllChecked() {\r
doubleVar = (Double) jsObject.get("meta");\r
}\r
\r
- if (doubleVar.floatValue() >= ((selectedObject.getTcOut() == null) ? 9999999999999999999999.9\r
- : selectedObject.getTcOut())) {\r
+ if (doubleVar.floatValue() >= ((selectedObject.getTcOut() == null) ? 9999999999999999999999.9 : selectedObject.getTcOut())) {\r
throw new Exception("A kilépés időpontjának későbbinek kell lennie mint a belépés időpontja!");\r
} else {\r
selectedObject.setTcIn(new Float(doubleVar.floatValue()));\r
metaWindow = null;\r
};\r
\r
- metaWindow = (Window) Executions.createComponents(template, null,\r
- ListUtils.asMap("selectedObject", selectedObject, "listener", listener));\r
+ metaWindow = (Window) Executions.createComponents(template, null, ListUtils.asMap("selectedObject", selectedObject, "listener", listener));\r
metaWindow.doOverlapped();\r
metaWindow.addEventListener("onClose", listener);\r
}\r
case TAGTYPE_REMOVE:\r
mediaTags.remove(tagText.toLowerCase());\r
if (id == 0) {\r
- Messagebox.show("A cimke már nem található az adatbázisban: " + tagText, "Belső hiba!", Messagebox.OK,\r
- Messagebox.EXCLAMATION);\r
+ Messagebox.show("A cimke már nem található az adatbázisban: " + tagText, "Belső hiba!", Messagebox.OK, Messagebox.EXCLAMATION);\r
return;\r
}\r
itemManager.removeMediaTag(id, selectedObject.getMedia().getId());\r
\r
@Command\r
@NotifyChange({ "selectedObject", "hasLowresMediaFile", "hasTSMMediaFile", "lowresMediaFilePath" })\r
- public void select(@BindingParam("selectedObject") ArchivedMedia selectedObject,\r
- @ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) {\r
+ public void select(@BindingParam("selectedObject") ArchivedMedia selectedObject, @ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) {\r
Event event = ctx.getTriggerEvent();\r
// Nem mindig a row a target, ha a kepre kattintunk akkor az image\r
// selectedRowIndex = ((Row) event.getTarget()).getIndex();\r
this.allFilterCheckedValidator = allFilterCheckedValidator;\r
}\r
\r
- public void setAllSelected(boolean allSelected) {\r
- this.allSelected = allSelected;\r
- // itemsGrid.renderAll();\r
- List<Component> components = itemsGrid.getRows().getChildren();\r
- for (Component obj : components) {\r
- Row row = (Row) obj;\r
- List<Component> children = row.getChildren();\r
- if (children.size() < 2)\r
- continue;\r
- Component component = children.get(1);\r
- if (!(component instanceof Checkbox))\r
- continue;\r
- Checkbox ck = (Checkbox) component;\r
- ck.setChecked(allSelected);\r
- MenuModel model = (MenuModel) SessionUtil.getAttribute(SessionUtil.MENUMODEL);\r
- model.selectArchivedMedia(row.getValue(), allSelected);\r
- }\r
-\r
- }\r
+// public void setAllSelected(boolean allSelected) {\r
+// this.allSelected = allSelected;\r
+// // itemsGrid.renderAll();\r
+// List<Component> components = itemsGrid.getRows().getChildren();\r
+// for (Component obj : components) {\r
+// Row row = (Row) obj;\r
+// List<Component> children = row.getChildren();\r
+// if (children.size() < 2)\r
+// continue;\r
+// Component component = children.get(1);\r
+// if (!(component instanceof Checkbox))\r
+// continue;\r
+// Checkbox ck = (Checkbox) component;\r
+// ck.setChecked(allSelected);\r
+// MenuModel model = (MenuModel) SessionUtil.getAttribute(SessionUtil.MENUMODEL);\r
+// model.selectArchivedMedia(row.getValue(), allSelected);\r
+// }\r
+//\r
+// }\r
\r
public void setBottomTypeFilters(List<TypeFilter> bottomTypeFilters) {\r
this.bottomTypeFilters = bottomTypeFilters;\r
return;\r
int pageSize = Integer.parseInt(source.getValue());\r
setSettingsPageSize(pageSize);\r
- itemsGrid.setPageSize(pageSize);\r
- itemsGrid.setActivePage(0);\r
SessionUtil.putUserPageSize(pageSize);\r
+ logger.info("Result list page size set to {}", pageSize);\r
}\r
\r
public void setRowsExpanded(boolean rowsExpanded) {\r
public void showInResults() {\r
if (selectedObject == null)\r
return;\r
- int activePageIndex = selectedRowIndex / itemsGrid.getPageSize();\r
- positionToScroll = selectedRowIndex - itemsGrid.getPageSize() * activePageIndex;\r
- // preventAfterRender = true;\r
- if (activePageIndex != itemsGrid.getActivePage()) {\r
- itemsGrid.setActivePage(activePageIndex);\r
- logger.info(\r
- "Selected media is shown in the results, which can be found on {} page and also it will be highlighted.",\r
- activePageIndex + 1);\r
- } else {\r
- // TODO for debug purposes\r
- // onAfterRenderGrid();\r
- logger.info("Selected media is shown in the results, which can be found on opened page.");\r
- }\r
+\r
+ // TODO show selected item in list\r
+// int activePageIndex = selectedRowIndex / itemsGrid.getPageSize();\r
+// positionToScroll = selectedRowIndex - itemsGrid.getPageSize() * activePageIndex;\r
+// // preventAfterRender = true;\r
+// if (activePageIndex != itemsGrid.getActivePage()) {\r
+// itemsGrid.setActivePage(activePageIndex);\r
+// logger.info("Selected media is shown in the results, which can be found on {} page and also it will be highlighted.", activePageIndex + 1);\r
+// } else {\r
+// // TODO for debug purposes\r
+// // onAfterRenderGrid();\r
+// logger.info("Selected media is shown in the results, which can be found on opened page.");\r
+// }\r
}\r
\r
private void showSearchTypeWarning() {\r
- Clients.showNotification(String.format(\r
- "Figyelem!<br><br><span style='white-space:nowrap'> A keresés eredménye nem tartalmazza az összes típust.</span>"),\r
- "warning", toggleShowTypeFilters, "end_center", 3000);\r
+ Clients.showNotification(\r
+ String.format("Figyelem!<br><br><span style='white-space:nowrap'> A keresés eredménye nem tartalmazza az összes típust.</span>"), "warning",\r
+ toggleShowTypeFilters, "end_center", 3000);\r
}\r
\r
@Command\r