<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>\r
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>\r
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory -Dorg.eclipse.equinox.http.jetty.http.port=8080 -Dorg.eclipse.epp.logging.aeri.skipReports=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djobengine.jobsteps.root="${workspace_loc}/user.jobengine.executors/config" -Djobengine.jobtemplates.root="${workspace_loc}/user.jobengine.executors/jobtemplates" -Djobengine.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true; -Djobengine.db.user=db2admin -Djobengine.db.password=password -Djobengine.loglevel=INFO -Dlog4j.configurationFile="${workspace_loc}/-configuration/log4j2.xml" -Djobengine.jobsteps.alternate.root="${workspace_loc}/user.jobengine.executors/bin/user/jobengine/server/steps" -Djetty.home="${workspace_loc:}/-configuration/jetty" -Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml -Djobengine.octopus.api.address=http://10.10.1.11/api/v1 -Djobengine.octopus.api.user=mam -Djobengine.octopus.api.password=napocska -Djobengine.nosql.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true; -Djobengine.nosql.db.user=db2admin -Djobengine.nosql.db.password=password -Djobengine.nosql.db.schema=test -Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl -Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC_v4.zenium -Djobengine.jobscheduling.config="${workspace_loc}/-configuration/scheduledjobs.json" -Dnexio.host=10.10.1.555"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory -Dorg.eclipse.equinox.http.jetty.http.port=8080 -Dorg.eclipse.epp.logging.aeri.skipReports=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djobengine.jobsteps.root="${workspace_loc}/user.jobengine.executors/config" -Djobengine.jobtemplates.root="${workspace_loc}/user.jobengine.executors/jobtemplates" -Djobengine.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true; -Djobengine.db.user=db2admin -Djobengine.db.password=password -Djobengine.loglevel=INFO -Dlog4j.configurationFile="${workspace_loc}/-configuration/log4j2.xml" -Djobengine.jobsteps.alternate.root="${workspace_loc}/user.jobengine.executors/bin/user/jobengine/server/steps" -Djetty.home="${workspace_loc:}/-configuration/jetty" -Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml -Djobengine.octopus.api.address=http://10.10.1.11/api/v1 -Djobengine.octopus.api.user=mam -Djobengine.octopus.api.password=napocska -Djobengine.nosql.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true; -Djobengine.nosql.db.user=db2admin -Djobengine.nosql.db.password=password -Djobengine.nosql.db.schema=test -Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl -Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium -Djobengine.jobscheduling.config="${workspace_loc}/-configuration/scheduledjobs.json" -Dnexio.host=10.10.1.555"/>\r
<stringAttribute key="pde.version" value="3.3"/>\r
<booleanAttribute key="show_selected_only" value="false"/>\r
<stringAttribute key="target_bundles" value="cglib@default:default,com.auth0.java-jwt@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.fasterxml.jackson.datatype.jackson-datatype-joda@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-base@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider@default:default,com.fasterxml.jackson.module.jackson-module-jaxb-annotations@default:default,com.google.guava@default:default,com.ibm.db2jcc4@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.el.javax.el@default:default,commons-logging@default:default,javassist@default:default,javax.annotation-api@default:default,javax.inject@default:default,javax.mail@default:default,javax.servlet-api@default:default,javax.servlet.jsp-api@default:default,javax.validation.api@default:default,javax.ws.rs-api@default:default,jcifs@default:default,joda-time@default:default,org.apache.aries.spifly.dynamic.bundle@default:default,org.apache.aries.util@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.digester@default:default,org.apache.commons.io@default:default,org.apache.commons.lang3@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.jasper.glassfish@default:default,org.apache.logging.log4j.api@1:true,org.apache.logging.log4j.core@default:default,org.apache.logging.log4j.slf4j-impl@default:default,org.apache.servicemix.bundles.quartz@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.util@default:default,org.eclipse.jdt.core.compiler.batch@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.jsp@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.jetty.schemas@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.websocket.server@default:default,org.eclipse.jetty.websocket.servlet@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.jboss.resteasy.client@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.jvnet.mimepull@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.reflections@default:default,slf4j.api@default:default,slf4j.simple@default:false"/>\r
import com.ibm.nosql.json.JSONUtil;\r
import com.ibm.nosql.json.api.BasicDBObject;\r
\r
+import user.commons.nosql.NoSQLUtils;\r
import user.jobengine.server.IJobEngine;\r
import user.jobengine.server.IJobRuntime;\r
\r
public static final String MEDIA_HOUSEID = "mediaHouseId";\r
public static final String MEDIA_TITLE = "mediaTitle";\r
public static final String MEDIA_DESCRIPTION = "mediaDescription";\r
+ private static final String DURATION = "duration";\r
\r
private ArchiveItem createArchiveItem(Path jsonFilePath, Path mediaFilePath, Path catchedFilePath) {\r
ArchiveItem result = null;\r
result.setMediaDescription(getMetadata(dbObject, MEDIA_DESCRIPTION));\r
result.setMediaFile(mediaFilePath.toString());\r
result.setCatchedFile(catchedFilePath.toString());\r
-\r
+ result.setDuration(NoSQLUtils.asLong(dbObject, DURATION));\r
} catch (IOException e) {\r
logger.catching(e);\r
return null;\r
package user.jobengine.server.steps;\r
\r
import java.io.IOException;\r
+import java.io.OutputStream;\r
import java.net.InetAddress;\r
import java.net.URI;\r
import java.net.URISyntaxException;\r
import user.jobengine.server.steps.MetadataTypeDetector.MetadataType;\r
\r
public class CopyForArchiveNEXIOMaterialsStep extends JobStep {\r
+ private static final String UTF_8 = "utf-8";\r
+ private static final String JSON_EXT = ".json";\r
+ private static final String DURATION = "duration";\r
private static final String MXFEXT = ".MXF";\r
private static final Logger logger = LogManager.getLogger();\r
private static final String NEXIOCLIPS = "nexioclips";\r
\r
private void copy(RundownArchive rundownArchive) throws Exception {\r
for (StoryArchive storyArchive : rundownArchive.getStoryArchives()) {\r
- for (String fileName : storyArchive.getFileNames()) {\r
- copyFile(fileName, rundownArchive, storyArchive);\r
+ for (FileArchive fileArchive : storyArchive.getFileArchives()) {\r
+ copyFile(fileArchive, rundownArchive, storyArchive);\r
}\r
}\r
}\r
\r
- private void copyFile(String fileName, RundownArchive rundownArchive, StoryArchive storyArchive) throws Exception {\r
+ private void copyFile(FileArchive fileArchive, RundownArchive rundownArchive, StoryArchive storyArchive) throws Exception {\r
FTPClient source = ((FtpDirectoryLister) RemoteFileHandler.createLister(sourceUri)).connect();\r
- FTPClient target = ((FtpDirectoryLister) RemoteFileHandler.createLister(sourceUri)).connect();\r
+ FTPClient target = ((FtpDirectoryLister) RemoteFileHandler.createLister(targetUri)).connect();\r
+ String fileName = fileArchive.getFileName();\r
transferFile(source, target, fileName);\r
- BasicDBObject metadata = createMetadata(rundownArchive, storyArchive);\r
- transferMetadata(target, metadata);\r
- createTargetKillDateFile(target, fileName);\r
+ BasicDBObject metadata = createMetadata(rundownArchive, storyArchive, fileArchive);\r
+ try {\r
+ if (!target.changeWorkingDirectory(EscortFiles.STATUSFOLDER))\r
+ target.makeDirectory(EscortFiles.STATUSFOLDER);\r
+ if (!target.changeWorkingDirectory(EscortFiles.STATUSFOLDER))\r
+ throw new Exception("!STATUSFOLDER");\r
+ } catch (Exception e) {\r
+ logger.catching(e);\r
+ throw e;\r
+ }\r
+ transferMetadata(target, fileName, metadata);\r
createSourceKillDateFile(source, fileName);\r
}\r
\r
- private BasicDBObject createMetadata(RundownArchive rundownArchive, StoryArchive storyArchive) {\r
+ private BasicDBObject createMetadata(RundownArchive rundownArchive, StoryArchive storyArchive, FileArchive fileArchive) {\r
// {\r
// "itemHouseId": "43",\r
// "itemTitle": "Hazahúzó",\r
result.put("mediaHouseId", storyArchive.getMediaHouseId());\r
result.put("mediaTitle", storyArchive.getMediaTitle());\r
result.put("mediaDescription", storyArchive.getMediaDesc());\r
+\r
+ result.put("duration", fileArchive.getDuration());\r
return result;\r
}\r
\r
private void createSourceKillDateFile(FTPClient source, String fileName) {\r
}\r
\r
- private void createTargetKillDateFile(FTPClient target, String fileName) {\r
- }\r
-\r
@StepEntry\r
public Object[] execute(int nexioPort, String nexioUserName, String nexioPassword, String archiveFtp, String archiveUserName, String archivePassword,\r
int daysBeforeNow, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
return null;\r
}\r
\r
- private String processMosObject(BasicDBObject rundown, BasicDBObject story, BasicDBObject mosObject) throws Exception {\r
+ private FileArchive processMosObject(BasicDBObject rundown, BasicDBObject story, BasicDBObject mosObject) throws Exception {\r
String mosID = mosObject.getString(IOctopusAPI.OBJ_ID);\r
if (MetadataTypeDetector.GuessMetadataType(mosID) != MetadataType.OCTOPUSPLACEHOLDER) {\r
logger.warn("Skipping MOS object {}", mosID);\r
return null;\r
}\r
DBCollection clips = db.getCollection(NEXIOCLIPS);\r
- DBObject clip = clips.findOne(new BasicDBObject(LONGNAMEID, mosID));\r
+ BasicDBObject clip = (BasicDBObject) clips.findOne(new BasicDBObject(LONGNAMEID, mosID));\r
if (clip == null) {\r
logger.info("File NOT exists {}", mosID);\r
- throw new Exception(String.format("File NOT exists %s"));\r
+ throw new Exception(String.format("File NOT exists %s", mosID));\r
} else {\r
logger.info("File exists {}", mosID);\r
}\r
- return mosID + MXFEXT;\r
+ long duration = NoSQLUtils.asLong(clip, DURATION);\r
+ return new FileArchive(mosID + MXFEXT, duration);\r
}\r
\r
private RundownArchive processRundow(DBObject r) throws Exception {\r
return null;\r
StoryArchive storyArchive = null;\r
for (BasicDBObject mosObject : mosObjects) {\r
- String fileName = processMosObject(rundown, story, mosObject);\r
- if (fileName == null)\r
+ FileArchive fileArchive = processMosObject(rundown, story, mosObject);\r
+ if (fileArchive == null)\r
continue;\r
if (storyArchive == null) {\r
storyArchive = new StoryArchive();\r
storyArchive.setMediaHouseId(parentStoryID);\r
storyArchive.setMediaTitle(story.getString(IOctopusAPI.NAME));\r
storyArchive.setMediaDesc(story.getString(IOctopusAPI.SCRIPT_CONTENT));\r
+\r
}\r
- storyArchive.addFile(fileName);\r
+ storyArchive.addFileArchive(fileArchive);\r
}\r
- return null;\r
+ return storyArchive;\r
\r
}\r
\r
if (!source.setFileType(FTP.BINARY_FILE_TYPE))\r
throw new Exception("!SOURCE TYPE");\r
\r
+ source.retr(fileName);\r
+\r
if (!target.setFileType(FTP.BINARY_FILE_TYPE))\r
throw new Exception("!TARGET TYPE");\r
\r
- source.retr(fileName);\r
target.stor(fileName);\r
\r
while (true) {\r
String replyText = source.getReplyString();\r
if ("Transaction completed".equals(replyText))\r
break;\r
+ Thread.sleep(500);\r
}\r
}\r
\r
- private void transferMetadata(FTPClient target, BasicDBObject metadata) {\r
+ private void transferMetadata(FTPClient target, String fileName, BasicDBObject metadata) throws Exception {\r
+ try (OutputStream outStream = target.storeFileStream(fileName + JSON_EXT)) {\r
+ outStream.write(metadata.toString().getBytes(UTF_8));\r
+ outStream.flush();\r
+ } catch (Exception e) {\r
+ logger.catching(e);\r
+ throw e;\r
+ }\r
}\r
\r
}\r
archiveItem.getItemHouseId());\r
mediaCubeMedia = itemManager.createMedia(ITEMTYPENAME, archiveItem.getMediaTitle(), archiveItem.getMediaDescription(),\r
archiveItem.getMediaHouseId());\r
+ mediaCubeMedia.setLength(archiveItem.getDuration());\r
mediaCubeItem.appendMedia(mediaCubeMedia);\r
\r
itemManager.mergeItemStructure(mediaCubeItem);\r
saveMetadata(mediaCubeMedia, sourceFileName);\r
logger.info(getMarker(), "Az '{}' állomány archiválása sikeres.", sourceMediaFile.getName());\r
\r
- if (killDateDays > 0) {\r
- KillDateFile killDateFile = new KillDateFile(sourceMediaFile.getParent().toString(), sourceMediaFile.getName().toString());\r
- killDateFile.create(killDateDays, getMarker());\r
- }\r
+ if (killDateDays > 0)\r
+ EscortFiles.createUNCKillDate(sourceMediaFile.getParent().toString(), sourceMediaFile.getName().toString(), killDateDays, getMarker());\r
} catch (Exception e) {\r
logger.catching(e);\r
logger.error(getMarker(), "Az '{}' állomány archiválása sikertelen. A rendszer hibaüzenete: {}", sourceMediaFile.getName(), e.getMessage());\r
logger.info(new MediaCubeMarker(successRecipient), successMessage, sourceFileName, targetPath, targetFileName);\r
logger.info(getMarker(), successMessage, sourceFileName, targetPath, targetFileName);\r
\r
- if (killDateDays > 0) {\r
- KillDateFile killDateFile = new KillDateFile(targetPath, targetFileName);\r
- killDateFile.create(killDateDays, getMarker());\r
- }\r
+ if (killDateDays > 0)\r
+ EscortFiles.createUNCKillDate(targetPath, targetFileName, killDateDays, getMarker());\r
\r
} catch (Exception e) {\r
logger.error(getMarker(), "Az '{}' állomány visszatöltése sikertelen. A rendszer hibaüzenete: {}", sourceFileName, e.getMessage());\r
}\r
\r
/*\r
- \r
+\r
int c = connection.read(buffer, 0, 2);\r
//2 bytes hosszan az idokozben hozzaadott id-k szamossaga\r
if (c < 2) {\r
throw new ProtocolException("c, 2, 2");\r
}\r
//MSB, LSB\r
- \r
+\r
return nofIds;\r
*/\r
return ret;\r
logger.info("NEXIO server connected");\r
\r
this.progressListenerList = new EventListenerList();\r
- this.dropAllClipsFromMongo();\r
- this.ensureIndexes();\r
+ // this.dropAllClipsFromMongo();\r
+ // this.ensureIndexes();\r
boolean[] useMOSGateway = { false };\r
try {\r
useMOSGateway[0] = Boolean.parseBoolean(System.getProperty(NEXIO_USE_MOS_GATEWAY));\r
executor.submit(() -> {\r
try {\r
if (useMOSGateway[0]) {\r
- NexioDataMiner dm = new NexioDataMiner();\r
- dm.transferClips();\r
+ // NexioDataMiner dm = new NexioDataMiner();\r
+ // dm.transferClips();\r
} else {\r
copyClipsIntoMongo();\r
}\r
private String mediaDescription;\r
private String mediaFile = null;\r
private String catchedFile = null;\r
+ private long duration;\r
\r
public String getCatchedFile() {\r
return catchedFile;\r
}\r
\r
+ public long getDuration() {\r
+ return duration;\r
+ }\r
+\r
public String getItemDescription() {\r
return itemDescription;\r
}\r
this.catchedFile = catchedFile;\r
}\r
\r
+ public void setDuration(long duration) {\r
+ this.duration = duration;\r
+ }\r
+\r
public void setItemDescription(String itemDescription) {\r
this.itemDescription = itemDescription;\r
}\r
import org.apache.logging.log4j.Logger;\r
import org.apache.logging.log4j.Marker;\r
\r
-public class KillDateFile {\r
+public class EscortFiles {\r
private static final Logger logger = LogManager.getLogger();\r
private static final String KILLDATE_NAME = "%s.%s.killdate";\r
- private static final String YYYY_M_MDD = "yyyyMMdd";\r
- private static final String STATUSFOLDER = ".STATUS";\r
- private String filePath;\r
- private String fileName;\r
+ private static final String YYYYMMDD = "yyyyMMdd";\r
+ public static final String STATUSFOLDER = ".STATUS";\r
\r
- public KillDateFile(String filePath, String fileName) {\r
- this.filePath = filePath;\r
- this.fileName = fileName;\r
+ private static String composeKillDateFileName(String fileName, int days) {\r
+ Calendar killDate = Calendar.getInstance();\r
+ killDate.add(Calendar.DAY_OF_YEAR, days);\r
+ SimpleDateFormat dateFormat = new SimpleDateFormat(YYYYMMDD);\r
+ return String.format(KILLDATE_NAME, fileName, dateFormat.format(killDate.getTime()));\r
+ }\r
+\r
+ public static void createUNCKillDate(String filePath, String fileName, int days, Marker marker) throws IOException {\r
+ ensureUNCFolder(filePath, STATUSFOLDER, marker);\r
+ String killDateFileName = composeKillDateFileName(fileName, days);\r
+ Path killDatePath = Paths.get(filePath, STATUSFOLDER, killDateFileName);\r
+ if (Files.exists(killDatePath))\r
+ logger.warn(marker, "Az '{}' állomány már létezik.", killDatePath);\r
+ else\r
+ Files.createFile(killDatePath);\r
}\r
\r
- public void create(int days, Marker marker) throws IOException {\r
- Path statusPath = Paths.get(filePath, STATUSFOLDER);\r
+ public static void ensureUNCFolder(String filePath, String folderName, Marker marker) throws IOException {\r
+ Path statusPath = Paths.get(filePath, folderName);\r
File statusFolder = statusPath.toFile();\r
if (!statusFolder.exists() || !statusFolder.isDirectory()) {\r
Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwxrwxrwx");\r
FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(perms);\r
Files.createDirectory(statusPath, attr);\r
}\r
- Calendar killDate = Calendar.getInstance();\r
- killDate.add(Calendar.DAY_OF_YEAR, days);\r
- SimpleDateFormat dateFormat = new SimpleDateFormat(YYYY_M_MDD);\r
- String killDateFileName = String.format(KILLDATE_NAME, fileName, dateFormat.format(killDate.getTime()));\r
- Path killDatePath = Paths.get(filePath, STATUSFOLDER, killDateFileName);\r
- if (Files.exists(killDatePath))\r
- logger.warn(marker, "Az '{}' állomány már létezik.", killDatePath);\r
- else\r
- Files.createFile(killDatePath);\r
}\r
+\r
}\r
--- /dev/null
+package user.jobengine.server.steps;\r
+\r
+public class FileArchive {\r
+ private String fileName;\r
+ private long duration;\r
+\r
+ public FileArchive(String fileName, long duration) {\r
+ this.fileName = fileName;\r
+ this.duration = duration;\r
+ }\r
+\r
+ public long getDuration() {\r
+ return duration;\r
+ }\r
+\r
+ public String getFileName() {\r
+ return fileName;\r
+ }\r
+\r
+ public void setDuration(long duration) {\r
+ this.duration = duration;\r
+ }\r
+\r
+ public void setFileName(String fileName) {\r
+ this.fileName = fileName;\r
+ }\r
+\r
+}
\ No newline at end of file
import java.util.ArrayList;\r
import java.util.List;\r
\r
-class RundownArchive {\r
+public class RundownArchive {\r
private String itemHouseId;\r
private String itemTitle;\r
private String itemDesc;\r
import java.util.ArrayList;\r
import java.util.List;\r
\r
-class StoryArchive {\r
+public class StoryArchive {\r
private String mediaHouseId;\r
private String mediaTitle;\r
private String mediaDesc;\r
- private List<String> fileNames;\r
+ private List<FileArchive> fileArchives;\r
\r
- public void addFile(String fileName) {\r
- if (fileNames == null)\r
- fileNames = new ArrayList<>();\r
- fileNames.add(fileName);\r
+ public void addFileArchive(FileArchive fileArchive) {\r
+ if (fileArchives == null)\r
+ fileArchives = new ArrayList<>();\r
+ fileArchives.add(fileArchive);\r
}\r
\r
- public List<String> getFileNames() {\r
- return fileNames;\r
+ public List<FileArchive> getFileArchives() {\r
+ return fileArchives;\r
}\r
\r
- public String getMediaHouseId() {\r
- return mediaHouseId;\r
+ public String getMediaDesc() {\r
+ return mediaDesc;\r
}\r
\r
- public void setMediaHouseId(String mediaHouseId) {\r
- this.mediaHouseId = mediaHouseId;\r
+ public String getMediaHouseId() {\r
+ return mediaHouseId;\r
}\r
\r
public String getMediaTitle() {\r
return mediaTitle;\r
}\r
\r
- public void setMediaTitle(String mediaTitle) {\r
- this.mediaTitle = mediaTitle;\r
+ public void setMediaDesc(String mediaDesc) {\r
+ this.mediaDesc = mediaDesc;\r
}\r
\r
- public String getMediaDesc() {\r
- return mediaDesc;\r
+ public void setMediaHouseId(String mediaHouseId) {\r
+ this.mediaHouseId = mediaHouseId;\r
}\r
\r
- public void setMediaDesc(String mediaDesc) {\r
- this.mediaDesc = mediaDesc;\r
+ public void setMediaTitle(String mediaTitle) {\r
+ this.mediaTitle = mediaTitle;\r
}\r
+\r
}
\ No newline at end of file