From: vasary.daniel Date: Mon, 11 Apr 2022 09:05:37 +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=7b7b77e475caf3c6fa50e39cd9102b7a750fab7c;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C33145 --- diff --git a/server/-dependencies/pom.xml b/server/-dependencies/pom.xml index 6d86d843..5fe2be44 100644 --- a/server/-dependencies/pom.xml +++ b/server/-dependencies/pom.xml @@ -214,16 +214,15 @@ com.microsoft.sqlserver:sqljdbc:6.0.8112-100 - - org.apache.logging.log4j:log4j-api:2.8.2 - - - org.apache.logging.log4j:log4j-core:2.8.2 - true - - - org.apache.logging.log4j:log4j-slf4j-impl:2.8.2 - + + + + + + + + + org.apache.servicemix.bundles:org.apache.servicemix.bundles.quartz:2.3.0_2 diff --git a/server/hu.user.mediacube.executors.tests/META-INF/MANIFEST.MF b/server/hu.user.mediacube.executors.tests/META-INF/MANIFEST.MF index 356d56da..9935785c 100644 --- a/server/hu.user.mediacube.executors.tests/META-INF/MANIFEST.MF +++ b/server/hu.user.mediacube.executors.tests/META-INF/MANIFEST.MF @@ -7,8 +7,6 @@ Fragment-Host: user.jobengine.executors;bundle-version="1.0.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Import-Package: org.apache.commons.io.filefilter;version="2.2.0", org.apache.commons.io.output;version="2.2.0", - org.apache.commons.logging, - org.apache.commons.logging.impl, org.apache.commons.net.ftp;version="3.6.0", org.apache.ibatis.jdbc;version="3.5.2", org.codehaus.groovy.control;version="3.0.3", diff --git a/server/hu.user.mediacube.executors.tests/settings/application.yaml b/server/hu.user.mediacube.executors.tests/settings/application.yaml index 62ec2469..f86325fe 100644 --- a/server/hu.user.mediacube.executors.tests/settings/application.yaml +++ b/server/hu.user.mediacube.executors.tests/settings/application.yaml @@ -1,6 +1,6 @@ datasource: mediacube: - url: jdbc:db2://localhost:50000/mc + url: jdbc:db2://192.168.224.128:50000/mc user: db2admin password: password external-indexer: false @@ -8,7 +8,7 @@ datasource: login-timeout: 3 pool-size: 10 mediacube-nosql: - url: jdbc:db2://localhost:50000/mc + url: jdbc:db2://192.168.224.128:50000/mc user: db2admin password: password schema: test @@ -29,7 +29,7 @@ services: disabled: true octopus: api: - address: http://10.10.1.11/api/v1 + address: http://192.168.224.128:91/api/v1 user: mama password: napocska # rundowns-collection-name: rundowns diff --git a/server/hu.user.mediacube.executors.tests/src/hu/user/mediacube/executors/tests/OctopusTests.java b/server/hu.user.mediacube.executors.tests/src/hu/user/mediacube/executors/tests/OctopusTests.java new file mode 100644 index 00000000..be865b6f --- /dev/null +++ b/server/hu.user.mediacube.executors.tests/src/hu/user/mediacube/executors/tests/OctopusTests.java @@ -0,0 +1,26 @@ +package hu.user.mediacube.executors.tests; + +import java.util.Date; +import java.util.List; + +import org.junit.Test; + +import com.ibm.nosql.json.api.DBObject; + +import user.commons.octopus.IOctopusAPI; +import user.commons.octopus.OctopusAPI; + +public class OctopusTests { + @Test + public void test0() throws Exception { + IOctopusAPI api = new OctopusAPI(); + List rundowns = api.getRundowns(new Date()); + rundowns.forEach(r -> processRundown(r)); + } + + private void processRundown(DBObject r) { + // NoSQLUtils.asString(r, null)) + System.out.println(r); + } + +} diff --git a/server/user.jobengine.executors/META-INF/MANIFEST.MF b/server/user.jobengine.executors/META-INF/MANIFEST.MF index f5af6b8c..bcccc737 100644 --- a/server/user.jobengine.executors/META-INF/MANIFEST.MF +++ b/server/user.jobengine.executors/META-INF/MANIFEST.MF @@ -23,7 +23,8 @@ Require-Bundle: user.jobengine.osgi.commons;bundle-version="1.0.0", org.jboss.resteasy.jaxrs;bundle-version="3.0.11", org.jboss.resteasy.jaxrs-api;bundle-version="3.0.11", org.jboss.resteasy.multipart-provider;bundle-version="3.0.11", - org.jboss.resteasy.validator-provider-11;bundle-version="3.0.11" + org.jboss.resteasy.validator-provider-11;bundle-version="3.0.11", + user.jobengine.log4j;bundle-version="1.0.0" Bundle-ClassPath: . Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Import-Package: groovy.lang;version="3.0.3", @@ -43,8 +44,6 @@ Import-Package: groovy.lang;version="3.0.3", org.apache.http.params, org.apache.http.protocol, org.apache.ibatis.jdbc;version="3.5.2", - org.apache.logging.log4j;version="2.8.2", - org.apache.logging.log4j.message;version="2.8.2", org.joda.time;version="2.2.0", org.joda.time.base;version="2.2.0", sqlj.runtime.ref, diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/OctopusDataMiner.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/OctopusDataMiner.java index a3f45946..2beaa5be 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/OctopusDataMiner.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/OctopusDataMiner.java @@ -46,14 +46,12 @@ public class OctopusDataMiner { private static final String LINEFEED = "\r\n"; private static final String SIMPLE_LINEFEED = "\n"; private static final String SAVING_STORY_ID = "Saving story {}"; - private static final String FIELDS_STORIES = "id,name,modified,type,format,mosObjects,script,scheduleFrom,scheduleTo,customColumns,CustomColumn.label,CustomColumn.value,reporters,User.longName,User.userName"; + private static final String FIELDS_STORIES = "id,name,modified,type,format,mosObjects,script,scheduleFrom,scheduleTo,customColumns,CustomColumn.label,CustomColumn.value,reporters,User.longName,User.userName,descriptions,StoryDescription.text"; private static final String FIELDS_RUNDOWN = "id,name,modified,scheduledStart,channel,Channel.name,rundownType,RundownType.name"; private static final String FIELDS_RUNDOWN_STORYIDS = "id,slugs,Slug.storyId,Slug.position"; private static final String FIELDS_STORYFOLDER = "id,name,modified"; private static final String FIELDS_STORYFOLDER_STORYIDS = "id,stories,Story.id"; private static final String RUNDOWN = "Rundown"; - // private static final String OCTOPUS_DEVICE_NAME = "Octopus-Device-Name"; - // private static final String OCTOPUS_DEVICE_ID = "Octopus-Device-Id"; private static final String FIELDS = "fields"; private static final String EXIT = "Exit"; private static final String RESULT = "result"; @@ -64,12 +62,6 @@ public class OctopusDataMiner { private static final String MOSLABEL = "MOS: "; private static final Object STORY = "Story"; - // private static String OCTOPUS_API_ADDRESS = - // SystemConfiguration.getInstance().value("services.octopus.api.address"); - // private static String OCTOPUS_API_USER = - // SystemConfiguration.getInstance().value("services.octopus.api.user"); - // private static String OCTOPUS_API_PASSWORD = - // SystemConfiguration.getInstance().value("services.octopus.api.password"); private DB db; private ResteasyWebTarget webTarget; private HashSet storyIDs = new HashSet<>(); @@ -268,27 +260,43 @@ public class OctopusDataMiner { return scriptContent; } - private String extractCustomColumnValue(String columnName, BasicDBObject story) { + /*** + * Get all custom columns label/non-null-value pair as map + * + * @param story + * @return + */ + private BasicDBObject getCustomColumns(BasicDBObject story) { + BasicDBObject result = new BasicDBObject(); List customColumns = NoSQLUtils.asList(story, IOctopusAPI.CUSTOM_COLUMNS); if (customColumns == null) return null; - String result = null; for (BasicDBObject customColumn : customColumns) { - if (!customColumn.containsKey(IOctopusAPI.LABEL)) - continue; - String currentName = customColumn.getString(IOctopusAPI.LABEL); + String currentName = NoSQLUtils.asString(customColumn, IOctopusAPI.LABEL); if (currentName == null) continue; - if (!currentName.toLowerCase().equals(columnName.toLowerCase())) - continue; - if (!customColumn.containsKey(IOctopusAPI.VALUE)) + String currentValue = NoSQLUtils.asString(customColumn, IOctopusAPI.VALUE); + if (currentValue == null) continue; - result = customColumn.getString(IOctopusAPI.VALUE); - break; + result.put(currentName, currentValue); } return result; } + private String getDescriptions(BasicDBObject story) { + StringBuilder result = new StringBuilder(); + List descriptions = NoSQLUtils.asList(story, IOctopusAPI.DESCRIPTIONS); + if (descriptions == null) + return null; + for (BasicDBObject description : descriptions) { + String currentDesc = NoSQLUtils.asString(description, IOctopusAPI.TEXT); + if (currentDesc == null) + continue; + result.append(currentDesc); + } + return result.toString(); + } + private BasicDBList extractRelevantMOSObjects(BasicDBObject story) { List mosObjects = NoSQLUtils.asList(story, IOctopusAPI.MOS_OBJECTS); if (mosObjects == null) @@ -440,16 +448,11 @@ public class OctopusDataMiner { throw new RuntimeException(e.getString("message")); } - // {"exception":{"message":"Invalid - // credentials.","publicName":"AuthenticationFailedException"}} - return result; } private Builder query(String path, String fields) { ResteasyWebTarget target = webTarget.path(path).queryParam(FIELDS, fields); - // Builder result = target.request().header(OCTOPUS_DEVICE_ID, - // OCTOPUS_API_USER).header(OCTOPUS_DEVICE_NAME, OCTOPUS_API_PASSWORD); Builder result = target.request(); return result; } @@ -654,13 +657,18 @@ public class OctopusDataMiner { else story.put(IOctopusAPI.MOS_OBJECTS, modifiedMOS); - String parentStoryId = extractCustomColumnValue(IOctopusAPI.PARENT_STORY_ID, story); + BasicDBObject customColumns = getCustomColumns(story); + String parentStoryId = NoSQLUtils.asString(customColumns, IOctopusAPI.PARENT_STORY_ID); if (parentStoryId == null) { logger.warn("Missing {} in story", IOctopusAPI.PARENT_STORY_ID, story.toPrettyString(null)); story.append(IOctopusAPI.PARENT_STORY_ID, storyID); } else story.append(IOctopusAPI.PARENT_STORY_ID, parentStoryId); + String location = NoSQLUtils.asString(customColumns, IOctopusAPI.LOCATION_HU); + story.append(IOctopusAPI.LOCATION, location); + story.append(IOctopusAPI.DESCRIPTIONS, getDescriptions(story)); + story.remove(IOctopusAPI.CUSTOM_COLUMNS); logger.debug(SAVING_STORY_ID, storyID); diff --git a/server/user.jobengine.osgi.commons/src/user/commons/octopus/IOctopusAPI.java b/server/user.jobengine.osgi.commons/src/user/commons/octopus/IOctopusAPI.java index 00d3861f..15afc1b7 100644 --- a/server/user.jobengine.osgi.commons/src/user/commons/octopus/IOctopusAPI.java +++ b/server/user.jobengine.osgi.commons/src/user/commons/octopus/IOctopusAPI.java @@ -9,9 +9,12 @@ import com.ibm.nosql.json.api.DBObject; import user.commons.configuration.SystemConfiguration; public interface IOctopusAPI { - static final String RUNDOWN_COLLECTION = SystemConfiguration.getInstance().value("services.octopus.rundowns-collection-name"); - static final String STORY_COLLECTION = SystemConfiguration.getInstance().value("services.octopus.stories-collection-name"); - static final String FOLDER_COLLECTION = SystemConfiguration.getInstance().value("services.octopus.folders-collection-name"); + static final String RUNDOWN_COLLECTION = SystemConfiguration.getInstance() + .value("services.octopus.rundowns-collection-name"); + static final String STORY_COLLECTION = SystemConfiguration.getInstance() + .value("services.octopus.stories-collection-name"); + static final String FOLDER_COLLECTION = SystemConfiguration.getInstance() + .value("services.octopus.folders-collection-name"); static final String TIME_COLLECTION_NAME = "time"; static final String SCRIPT_CONTENT = "script_content"; static final String RUNDOWN_TYPE = "rundownType"; @@ -19,8 +22,11 @@ public interface IOctopusAPI { static final String LASTUPDATE_TIME = "lastUpdateTime"; static final String NEXIO_MOS = "NEXIO.MOS"; static final String PARENT_STORY_ID = "parentStoryId"; + static final String LOCATION_HU = "Helyszín"; + static final String LOCATION = "location"; static final String VALUE = "value"; static final String CUSTOM_COLUMNS = "customColumns"; + static final String DESCRIPTIONS = "descriptions"; static final String MOS_ID = "mosId"; static final String MOS_OBJECTS = "mosObjects"; static final String NAME = "name";