Initial import
authorelgekko <vasary@elgekko.net>
Mon, 4 Sep 2023 19:27:28 +0000 (21:27 +0200)
committerelgekko <vasary@elgekko.net>
Mon, 4 Sep 2023 19:27:28 +0000 (21:27 +0200)
145 files changed:
mc-intergator/.idea/.gitignore [new file with mode: 0644]
mc-intergator/.idea/compiler.xml [new file with mode: 0644]
mc-intergator/.idea/encodings.xml [new file with mode: 0644]
mc-intergator/.idea/jarRepositories.xml [new file with mode: 0644]
mc-intergator/.idea/jpa-buddy.xml [new file with mode: 0644]
mc-intergator/.idea/misc.xml [new file with mode: 0644]
mc-intergator/.idea/modules.xml [new file with mode: 0644]
mc-intergator/.idea/vcs.xml [new file with mode: 0644]
mc-intergator/dumper-mc/pom.xml [new file with mode: 0644]
mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/AMCDBDump.java [new file with mode: 0644]
mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/Cmd.java [new file with mode: 0644]
mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/LoggerConfiguration.java [new file with mode: 0644]
mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/Main.java [new file with mode: 0644]
mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/MediaWithMediaFile.java [new file with mode: 0644]
mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/MediaWithMediaFileMapper.java [new file with mode: 0644]
mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/MyBatisConfig.java [new file with mode: 0644]
mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/TSMProperties.java [new file with mode: 0644]
mc-intergator/dumper-mc/src/main/resources/application.yaml [new file with mode: 0644]
mc-intergator/dumper-mc/src/main/resources/logback.xml [new file with mode: 0644]
mc-intergator/integration-amc/pom.xml [new file with mode: 0644]
mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCCSV.java [new file with mode: 0644]
mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCDBDump.java [new file with mode: 0644]
mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCMigrator.java [new file with mode: 0644]
mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCPartRename.java [new file with mode: 0644]
mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCProcessor.java [new file with mode: 0644]
mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCProcessorBuilder.java [new file with mode: 0644]
mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCProcessorConfig.java [new file with mode: 0644]
mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCRecord.java [new file with mode: 0644]
mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/DBMappers.java [new file with mode: 0644]
mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/LoggerConfiguration.java [new file with mode: 0644]
mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/Main.java [new file with mode: 0644]
mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/MyBatisConfig.java [new file with mode: 0644]
mc-intergator/integration-amc/src/main/resources/application.yaml [new file with mode: 0644]
mc-intergator/integration-amc/src/main/resources/logback.xml [new file with mode: 0644]
mc-intergator/mc-db/bootstrap.cmd [new file with mode: 0644]
mc-intergator/mc-db/bootstrap.sh [new file with mode: 0644]
mc-intergator/mc-db/generate-java.cmd [new file with mode: 0644]
mc-intergator/mc-db/migrate/README [new file with mode: 0644]
mc-intergator/mc-db/migrate/environments/development.properties [new file with mode: 0644]
mc-intergator/mc-db/migrate/scripts/20200124140811_create_changelog.sql [new file with mode: 0644]
mc-intergator/mc-db/migrate/scripts/20200124140812_first_migration.sql [new file with mode: 0644]
mc-intergator/mc-db/migrate/scripts/bootstrap.sql [new file with mode: 0644]
mc-intergator/mc-db/pom.xml [new file with mode: 0644]
mc-intergator/mc-db/reset.cmd [new file with mode: 0644]
mc-intergator/mc-db/reset.sh [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/FiletypeMapper.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/FiletypeSqlProvider.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/ItemMapper.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/ItemSqlProvider.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/ItemtypeMapper.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/ItemtypeSqlProvider.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MasteridMapper.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MasteridSqlProvider.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MediaMapper.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MediaSqlProvider.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MediafileMapper.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MediafileSqlProvider.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/StoreMapper.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/StoreSqlProvider.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/StoreuriMapper.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/StoreuriSqlProvider.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Filetype.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/FiletypeExample.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/FiletypeKey.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Item.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/ItemExample.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/ItemKey.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Itemtype.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/ItemtypeExample.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/ItemtypeKey.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Masterid.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MasteridExample.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MasteridKey.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Media.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediaExample.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediaKey.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediaWithBLOBs.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Mediafile.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediafileExample.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediafileKey.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Store.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/StoreExample.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/StoreKey.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Storeuri.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/StoreuriExample.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/StoreuriKey.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/java/hu/user/mediacube/rdb/MediaCubeMapper.java [new file with mode: 0644]
mc-intergator/mc-db/src/main/resources/generator-config.xml [new file with mode: 0644]
mc-intergator/mc-db/src/test/resources/application-test.yaml [new file with mode: 0644]
mc-intergator/mc-db/src/test/resources/logback-test.xml [new file with mode: 0644]
mc-intergator/mc-db/src/test/resources/navision-generator-config.xml [new file with mode: 0644]
mc-intergator/pom.xml [new file with mode: 0644]
mc-intergator/sync.cmd [new file with mode: 0644]
mc-intergator/tsm-clientapi/pom.xml [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/Main.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMArchiveFileObject.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMBackupFileObject.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMBufferedClient.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMClient.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMException.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMObject.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMObjectListener.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DataBlk.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmApiVersionEx.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmArchiveDelInfo.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmBackupDelInfo.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmDate.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmDosFSAttr.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmEndTxnExIn.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmEndTxnExOut.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmFSAttr.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmGetList.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmHandle.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmInitExIn.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmInitExOut.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmObjName.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmUnixFSAttr.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/JNIException.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/McBindKey.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/ObjAttr.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/PartialObjData.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/QryArchiveData.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/QryBackupData.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/QryRespArchiveData.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/QryRespBackupData.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/RegFSData.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/SndArchiveData.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/TSMAPI.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/TSMAPIConstants.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/test/BackupTest.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/test/QueryBackupDataTest.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/test/RestoreTest.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Backup.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/BackupTest1.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/BackupTest2.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Connect.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Delete.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/DeleteTest1.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/MultiThread.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Query.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/RegisterFilespace.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Restore.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/RestoreTest1.java [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/resources/application.yaml [new file with mode: 0644]
mc-intergator/tsm-clientapi/src/main/resources/logback.xml [new file with mode: 0644]

diff --git a/mc-intergator/.idea/.gitignore b/mc-intergator/.idea/.gitignore
new file mode 100644 (file)
index 0000000..26d3352
--- /dev/null
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/mc-intergator/.idea/compiler.xml b/mc-intergator/.idea/compiler.xml
new file mode 100644 (file)
index 0000000..20f5f54
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="mc-db" />
+        <module name="dumper-mc" />
+        <module name="integration-amc" />
+        <module name="tsm-clientapi" />
+      </profile>
+    </annotationProcessing>
+    <bytecodeTargetLevel>
+      <module name="app" target="1.5" />
+      <module name="integration" target="1.5" />
+      <module name="server" target="1.8" />
+    </bytecodeTargetLevel>
+  </component>
+  <component name="JavacSettings">
+    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
+      <module name="app" options="" />
+      <module name="dumper-mc" options="-parameters" />
+      <module name="integration" options="" />
+      <module name="integration-amc" options="-parameters" />
+      <module name="mc-db" options="-parameters" />
+      <module name="tsm-clientapi" options="-parameters" />
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/mc-intergator/.idea/encodings.xml b/mc-intergator/.idea/encodings.xml
new file mode 100644 (file)
index 0000000..f3c8a27
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/app/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/dumper-mc/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/integration-amc/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/integration/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/mc-db/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/tsm-clientapi/src/main/java" charset="UTF-8" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/mc-intergator/.idea/jarRepositories.xml b/mc-intergator/.idea/jarRepositories.xml
new file mode 100644 (file)
index 0000000..712ab9d
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+  </component>
+</project>
\ No newline at end of file
diff --git a/mc-intergator/.idea/jpa-buddy.xml b/mc-intergator/.idea/jpa-buddy.xml
new file mode 100644 (file)
index 0000000..966d5f5
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="JpaBuddyIdeaProjectConfig">
+    <option name="renamerInitialized" value="true" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/mc-intergator/.idea/misc.xml b/mc-intergator/.idea/misc.xml
new file mode 100644 (file)
index 0000000..149970a
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/pom.xml" />
+      </list>
+    </option>
+    <option name="ignoredFiles">
+      <set>
+        <option value="$PROJECT_DIR$/app/pom.xml" />
+        <option value="$PROJECT_DIR$/integration/pom.xml" />
+      </set>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
+  <component name="ProjectType">
+    <option name="id" value="jpab" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/mc-intergator/.idea/modules.xml b/mc-intergator/.idea/modules.xml
new file mode 100644 (file)
index 0000000..1b101a0
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/db/mc-db.iml" filepath="$PROJECT_DIR$/db/mc-db.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/mc-intergator/.idea/vcs.xml b/mc-intergator/.idea/vcs.xml
new file mode 100644 (file)
index 0000000..6c0b863
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/mc-intergator/dumper-mc/pom.xml b/mc-intergator/dumper-mc/pom.xml
new file mode 100644 (file)
index 0000000..0079e48
--- /dev/null
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>net.elgekko.mediacube</groupId>
+    <artifactId>dumper-mc</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <parent>
+        <groupId>net.elgekko.mediacube</groupId>
+        <artifactId>mc-integrator</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <dependencies>
+        <dependency>
+            <groupId>net.elgekko.mediacube</groupId>
+            <artifactId>mc-db</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <!--
+        <dependency>
+            <groupId>com.ibm</groupId>
+            <artifactId>db2jcc4</artifactId>
+            <version>4.19.26</version>
+        </dependency>
+                <dependency>
+                    <groupId>com.ibm</groupId>
+                    <artifactId>nosql</artifactId>
+                    <version>4.19.26</version>
+                </dependency>
+        -->
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-autoconfigure</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.opencsv</groupId>
+            <artifactId>opencsv</artifactId>
+            <version>5.1</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <mode>development</mode>
+                            <url>${project.url}</url>
+                            <key>value</key>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/AMCDBDump.java b/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/AMCDBDump.java
new file mode 100644 (file)
index 0000000..aaebbe3
--- /dev/null
@@ -0,0 +1,156 @@
+package net.elgekko.mediacube.integration.amc;
+
+import hu.user.mediacube.rdb.MediaMapper;
+import hu.user.mediacube.rdb.MediafileMapper;
+import hu.user.mediacube.rdb.model.Media;
+import hu.user.mediacube.rdb.model.MediaExample;
+import hu.user.mediacube.rdb.model.Mediafile;
+import hu.user.mediacube.rdb.model.MediafileExample;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+
+@Service
+public class AMCDBDump {
+    @Autowired
+    MediaMapper mediaMapper;
+    @Autowired
+    MediafileMapper mediaFileMapper;
+    @Autowired
+    MediaWithMediaFileMapper mmfMapper;
+    @Autowired
+    private Logger logger;
+    @Autowired
+    private TSMProperties tsmProperties;
+
+    /*
+
+        C:\pasa\sport1\TOOLS\lekerdezes>ECHO OFF
+        ID;NAME;ONTSM;EXPIRATION;CREATED;ID;MEDIAOBJECT_ID;FILENAME;LASTMODIFIED;SIZE;ID;MEDIAOBJECTPART_ID;NAME;VALUE;
+    674205;MX_11810023.mxf;Y;2110-01-18 04:21:34.468;2010-02-16 15:02:49.291;663009;674205;MX_11810023.mxf;2010-02-16 15:00:15.0;1034944512;716841;663009;ATTRIBUTE_MEDIASTORE;user.pasa.server.MSFTPNexio;
+    674206;MX_11810024.mxf;Y;2110-01-18 04:21:34.468;2010-02-16 15:20:02.572;663010;674206;MX_11810024.mxf;2010-02-16 15:17:31.0;1034944512;716844;663010;ATTRIBUTE_MEDIASTORE;user.pasa.server.MSFTPNexio;
+    */
+    List<Media> getMedias() {
+        MediaExample ex = new MediaExample();
+        ex.createCriteria().andTitleIsNotNull();
+        ex.setOrderByClause("TITLE");
+        return mediaMapper.selectByExample(ex);
+    }
+
+    Mediafile getMediaFile(long mediaId) throws ParseException {
+        MediafileExample ex = new MediafileExample();
+        ex.createCriteria().andMediaidEqualTo(mediaId);
+        return mediaFileMapper.selectByExample(ex).get(0);
+    }
+
+    List<Mediafile> getMediaFiles() throws ParseException {
+        MediafileExample ex = new MediafileExample();
+        ex.setOrderByClause("relativepath");
+        return mediaFileMapper.selectByExample(ex);
+    }
+
+    List<Media> getMediasArchivedAt() throws ParseException {
+        MediaExample ex = new MediaExample();
+        SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
+        ex.createCriteria().andArchivedBetween(df.parse("2020.09.02 00:00:00"), df.parse("2020.09.03 00:00:00"));
+        ex.setOrderByClause("ARCHIVED DESC");
+        return mediaMapper.selectByExample(ex);
+    }
+
+    public void dump(String fileName, boolean dumpMissings) throws Exception {
+//        if (tsmProperties != null) {
+//            List<String> tsmList = new ArrayList<>();
+//            ProcessBuilder processBuilder = Cmd.create(tsmProperties.getExecutable(), tsmProperties.getArgs());
+//            Cmd.execute(processBuilder, false, r -> {
+//                logger.info(r);
+//                tsmList.add(r);
+//            });
+//
+//            logger.info("TSM contains {} items", tsmList.size());
+//            return;
+//        }
+
+        logger.info("Current path is {}", System.getProperty("user.dir"));
+        Path tsmPath = Paths.get("tsm.txt");
+        if (!Files.exists(tsmPath)) {
+            logger.error("Missing tsm.txt!!!");
+            return;
+        }
+
+        HashSet<String> tsmFiles = new HashSet<>(Files.readAllLines(tsmPath));
+
+        logger.info("Starting export to {}", fileName);
+        List<Mediafile> mediaFiles = getMediaFiles();
+        logger.info("Dumping {} records", mediaFiles.size());
+        List<String> lines = new ArrayList<>();
+        lines.add("EMPTY LINE");
+        lines.add("ECHO");
+        lines.add("HEADERS");
+
+
+        int lastProgress = 0;
+        int current = 0;
+        int processedLines = 0;
+        List<String> missings = new ArrayList<>();
+        for (Mediafile mediaFile : mediaFiles) {
+            current++;
+            String title = mediaFile.getRelativepath();
+            if (!tsmFiles.contains(title) && dumpMissings) {
+                //logger.info("{} missing from TSM", title);
+                missings.add(title);
+                continue;
+            }
+
+            lines.add(";" + title);
+            int currentProgress = (int) current * 100 / mediaFiles.size();
+            if (currentProgress > lastProgress) {
+                lastProgress = currentProgress;
+                logger.info("Progress {}%", lastProgress);
+            }
+
+            processedLines++;
+//            if (processedLines % 1000 == 0)
+//                logger.info("Processed {} items", processedLines);
+        }
+        logger.info("Processed {} items", processedLines);
+        Files.write(Paths.get(fileName), lines);
+        if (dumpMissings)
+            Files.write(Paths.get("missing_" + fileName), missings);
+        logger.info("Dump completed");
+    }
+
+//    public void lastmod() throws IOException, ParseException {
+//        logger.info("Starting lastmod");
+//
+//        List<MediaWithMediaFile> mediaWithMediaFiles = mmfMapper.get();
+//
+//        List<Media> medias = getMediasArchivedAt();
+//        logger.info("Processing {} records", medias.size());
+//        int i = 0;
+//        int lastPercent = 0;
+//        logger.info("First {} to {}", medias.get(0).getArchived(), medias.get(medias.size() - 1).getArchived());
+//        for (Media media : medias) {
+//            Mediafile mediaFile = getMediaFile(media.getId());
+//            //logger.info("Setting archived {} to {}", media.getArchived(), mediaFile.getLastmodified());
+//            media.setArchived(mediaFile.getLastmodified());
+//            mediaMapper.updateByPrimaryKey(media);
+//            i++;
+//            int percent = (int) (i * 100 / medias.size());
+//            if (percent > lastPercent) {
+//                lastPercent = percent;
+//                logger.info("Completed {}%", percent);
+//            }
+//        }
+//        logger.info("Lastmod completed");
+//    }
+
+}
diff --git a/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/Cmd.java b/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/Cmd.java
new file mode 100644 (file)
index 0000000..afe2ed6
--- /dev/null
@@ -0,0 +1,79 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+
+public class Cmd {
+    private static final Logger log = LogManager.getLogger();
+
+    private static ProcessBuilder create(Object... args) {
+        List<String> chunks = new ArrayList<>();
+        for (Object arg : args)
+            chunks.add(String.valueOf(arg));
+
+        ProcessBuilder processBuilder = new ProcessBuilder();
+        processBuilder.command(chunks).redirectErrorStream(true);
+        return processBuilder;
+    }
+
+    public static ProcessBuilder create(String command, String args) {
+        String[] chunks = args.toString().replace("\r\n", " ").split(" ");
+        List<String> argsList = new ArrayList<>();
+        argsList.add(command);
+
+        for (String arg : chunks)
+            argsList.add(arg);
+
+        return create(argsList.toArray());
+    }
+
+    public static String execute(ProcessBuilder processBuilder) {
+        return execute(processBuilder, true);
+    }
+
+    public static String execute(ProcessBuilder processBuilder, boolean firstResponse) {
+        return execute(processBuilder, firstResponse, null);
+    }
+
+    public static String execute(ProcessBuilder processBuilder, boolean firstResponse, IResponseCallback responseCallBack) {
+        String result = null;
+        try {
+            log.debug("Executing : {}", processBuilder.command().toString().replace("[", "").replace("]", "").replace(",", ""));
+            Process process = processBuilder.start();
+
+            try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
+                String line = null;
+                while ((line = reader.readLine()) != null) {
+                    log.debug("Process response: {}", line);
+                    if (responseCallBack != null)
+                        responseCallBack.onResponse(line);
+                    //System.out.println(line);
+                    if (line != null && line.length() > 0) {
+                        result = line;
+                        if (firstResponse)
+                            break;
+                    }
+                }
+                int exitCode = process.waitFor();
+                if (exitCode != 0)
+                    log.error("Exited with error code : " + exitCode);
+            } catch (Exception e) {
+                throw e;
+            }
+        } catch (Exception e) {
+            log.error(e);
+        }
+
+        return result;
+    }
+
+    interface IResponseCallback {
+        void onResponse(String line);
+    }
+
+}
diff --git a/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/LoggerConfiguration.java b/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/LoggerConfiguration.java
new file mode 100644 (file)
index 0000000..777b93f
--- /dev/null
@@ -0,0 +1,25 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.InjectionPoint;
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Scope;
+
+@Configuration
+public class LoggerConfiguration {
+
+    @Bean
+    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+    public Logger logger(InjectionPoint ip) {
+        final Class lClass;
+        if (ip.getMethodParameter() == null)
+            lClass = ip.getField().getDeclaringClass();
+        else
+            lClass = ip.getMethodParameter().getContainingClass();
+        return LoggerFactory.getLogger(lClass);
+    }
+
+}
\ No newline at end of file
diff --git a/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/Main.java b/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/Main.java
new file mode 100644 (file)
index 0000000..99b1a95
--- /dev/null
@@ -0,0 +1,34 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.ApplicationContext;
+import org.springframework.core.env.Environment;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@SpringBootApplication()
+@MapperScan({"hu.user.mediacube.rdb", "net.elgekko.mediacube.integration.amc"})
+//@SpringBootApplication(scanBasePackages = "net.elgekko")
+public class Main implements CommandLineRunner {
+    @Autowired
+    Environment env;
+    @Autowired
+    AMCDBDump dumper;
+
+    public static void main(String[] args) {
+        ApplicationContext ctx = SpringApplication.run(Main.class, args);
+    }
+
+    @Override
+    public void run(String... args) throws Exception {
+        SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
+        String fileName = "output_" + df.format(new Date()) + ".txt";
+        boolean dumpMissings = args.length > 0 && args[0].equals("dumpMissings");
+        dumper.dump(fileName, dumpMissings);
+    }
+}
diff --git a/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/MediaWithMediaFile.java b/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/MediaWithMediaFile.java
new file mode 100644 (file)
index 0000000..047d733
--- /dev/null
@@ -0,0 +1,25 @@
+package net.elgekko.mediacube.integration.amc;
+
+import hu.user.mediacube.rdb.model.Media;
+import hu.user.mediacube.rdb.model.Mediafile;
+
+public class MediaWithMediaFile {
+    private Media media;
+    private Mediafile mediaFile;
+
+    public Media getMedia() {
+        return media;
+    }
+
+    public void setMedia(Media media) {
+        this.media = media;
+    }
+
+    public Mediafile getMediaFile() {
+        return mediaFile;
+    }
+
+    public void setMediaFile(Mediafile mediaFile) {
+        this.mediaFile = mediaFile;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/MediaWithMediaFileMapper.java b/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/MediaWithMediaFileMapper.java
new file mode 100644 (file)
index 0000000..ecabe5c
--- /dev/null
@@ -0,0 +1,40 @@
+package net.elgekko.mediacube.integration.amc;
+
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Result;
+import org.apache.ibatis.annotations.Results;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.apache.ibatis.jdbc.SQL;
+import org.apache.ibatis.type.JdbcType;
+
+import java.text.ParseException;
+import java.util.List;
+
+@Mapper()
+public interface MediaWithMediaFileMapper {
+
+    @SelectProvider(type = WebUsersViewProvider.class, method = "get")
+    @Results({
+            @Result(property = "media.id", column = "id", jdbcType = JdbcType.BIGINT, id = true),
+            @Result(property = "media.archived", column = "archived", jdbcType = JdbcType.TIMESTAMP),
+            @Result(property = "mediaFile.id", column = "mfid", jdbcType = JdbcType.BIGINT, id = true),
+            @Result(property = "mediaFile.lastmodified", column = "lastmodified", jdbcType = JdbcType.TIMESTAMP)
+    })
+    public List<MediaWithMediaFile> get();
+
+    public class WebUsersViewProvider {
+        public String get() throws ParseException {
+            SQL sql = new SQL();
+            sql.SELECT("m.id", "m.archived", "mf.id mfid", "mf.lastmodified");
+            sql.FROM("media m");
+            sql.LEFT_OUTER_JOIN("mediafile mf ON (mf.mediaId = m.id)");
+            sql.WHERE("m.archived < '2120-09-03 00:00:00'");
+            sql.ORDER_BY("m.archived DESC");
+            return sql.toString();
+        }
+
+    }
+
+
+}
diff --git a/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/MyBatisConfig.java b/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/MyBatisConfig.java
new file mode 100644 (file)
index 0000000..d3532ff
--- /dev/null
@@ -0,0 +1,18 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class MyBatisConfig {
+    @Bean
+    ConfigurationCustomizer mybatisConfigurationCustomizer() {
+        return new ConfigurationCustomizer() {
+            @Override
+            public void customize(org.apache.ibatis.session.Configuration configuration) {
+                configuration.setCacheEnabled(false);
+            }
+        };
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/TSMProperties.java b/mc-intergator/dumper-mc/src/main/java/net/elgekko/mediacube/integration/amc/TSMProperties.java
new file mode 100644 (file)
index 0000000..4f4b78b
--- /dev/null
@@ -0,0 +1,27 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ConfigurationProperties(prefix = "tsm")
+public class TSMProperties {
+    private String executable;
+    private String args;
+
+    public String getExecutable() {
+        return executable;
+    }
+
+    public void setExecutable(String executable) {
+        this.executable = executable;
+    }
+
+    public String getArgs() {
+        return args;
+    }
+
+    public void setArgs(String args) {
+        this.args = args;
+    }
+}
diff --git a/mc-intergator/dumper-mc/src/main/resources/application.yaml b/mc-intergator/dumper-mc/src/main/resources/application.yaml
new file mode 100644 (file)
index 0000000..9363773
--- /dev/null
@@ -0,0 +1,19 @@
+spring:
+  main:
+    banner-mode: off
+  output:
+    ansi:
+      enabled: always
+  datasource:
+    url: jdbc:db2://10.228.212.42:50000/mc:retrieveMessagesFromServerOnGetMessage=true;
+    username: blobtest
+    password: blobtest
+    driver-class-name: com.ibm.db2.jcc.DB2Driver
+    type: com.zaxxer.hikari.HikariDataSource
+    hikari:
+      pool-name: pool-mediacube
+      maximum-pool-size: 50
+      minimum-idle: 10
+tsm:
+  executable: c:\program files\tivoli\client\ba\bin\dsmadmc.exe
+  args: -id=support -password=userkft -TABdelimited "select LL_NAME from backups where NODE_NAME='PASANODE'"
diff --git a/mc-intergator/dumper-mc/src/main/resources/logback.xml b/mc-intergator/dumper-mc/src/main/resources/logback.xml
new file mode 100644 (file)
index 0000000..0173054
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <include resource="org/springframework/boot/logging/logback/base.xml"/>
+    <logger name="org.springframework" level="ERROR"/>
+</configuration>
\ No newline at end of file
diff --git a/mc-intergator/integration-amc/pom.xml b/mc-intergator/integration-amc/pom.xml
new file mode 100644 (file)
index 0000000..eff556b
--- /dev/null
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>net.elgekko.mediacube</groupId>
+    <artifactId>integration-amc</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <parent>
+        <groupId>net.elgekko.mediacube</groupId>
+        <artifactId>mc-integrator</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <dependencies>
+        <dependency>
+            <groupId>net.elgekko.mediacube</groupId>
+            <artifactId>mc-db</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-autoconfigure</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.opencsv</groupId>
+            <artifactId>opencsv</artifactId>
+            <version>5.1</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <mode>development</mode>
+                            <url>${project.url}</url>
+                            <key>value</key>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCCSV.java b/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCCSV.java
new file mode 100644 (file)
index 0000000..0f783ee
--- /dev/null
@@ -0,0 +1,52 @@
+package net.elgekko.mediacube.integration.amc;
+
+import com.opencsv.bean.CsvToBean;
+import com.opencsv.bean.CsvToBeanBuilder;
+import com.opencsv.bean.HeaderColumnNameMappingStrategy;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.Iterator;
+import java.util.List;
+
+@Service
+public class AMCCSV {
+    Reader reader;
+    Iterator<AMCRecord> iterator;
+    CsvToBean<AMCRecord> csvToBean;
+
+    void open(String file) throws IOException {
+        reader = Files.newBufferedReader(Paths.get(file));
+
+        HeaderColumnNameMappingStrategy<AMCRecord> strategy = new HeaderColumnNameMappingStrategy<>();
+        strategy.setType(AMCRecord.class);
+
+        csvToBean = new CsvToBeanBuilder(reader)
+                .withType(AMCRecord.class)
+                .withIgnoreLeadingWhiteSpace(true)
+                .withSeparator(';')
+                .withMappingStrategy(strategy)
+                .build();
+
+        iterator = csvToBean.iterator();
+    }
+
+    AMCRecord getNext() {
+        if (iterator.hasNext())
+            return iterator.next();
+        else
+            return null;
+    }
+
+    List<AMCRecord> parse() {
+        return csvToBean.parse();
+    }
+
+    void close() throws IOException {
+        reader.close();
+    }
+
+}
diff --git a/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCDBDump.java b/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCDBDump.java
new file mode 100644 (file)
index 0000000..55fe646
--- /dev/null
@@ -0,0 +1,47 @@
+package net.elgekko.mediacube.integration.amc;
+
+import hu.user.mediacube.rdb.model.Media;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class AMCDBDump {
+    @Autowired
+    DBMappers dbMappers;
+    @Autowired
+    private Logger logger;
+
+    /*
+
+        C:\pasa\sport1\TOOLS\lekerdezes>ECHO OFF
+        ID;NAME;ONTSM;EXPIRATION;CREATED;ID;MEDIAOBJECT_ID;FILENAME;LASTMODIFIED;SIZE;ID;MEDIAOBJECTPART_ID;NAME;VALUE;
+    674205;MX_11810023.mxf;Y;2110-01-18 04:21:34.468;2010-02-16 15:02:49.291;663009;674205;MX_11810023.mxf;2010-02-16 15:00:15.0;1034944512;716841;663009;ATTRIBUTE_MEDIASTORE;user.pasa.server.MSFTPNexio;
+    674206;MX_11810024.mxf;Y;2110-01-18 04:21:34.468;2010-02-16 15:20:02.572;663010;674206;MX_11810024.mxf;2010-02-16 15:17:31.0;1034944512;716844;663010;ATTRIBUTE_MEDIASTORE;user.pasa.server.MSFTPNexio;
+    */
+
+    public void dump(String fileName) throws IOException {
+        logger.info("Starting export to {}", fileName);
+        List<Media> medias = dbMappers.getMedias();
+        logger.info("Dumping {} records", medias.size());
+        List<String> lines = new ArrayList<>();
+        lines.add("EMPTY LINE");
+        lines.add("ECHO");
+        lines.add("HEADERS");
+        for (Media media : medias) {
+            String title = media.getTitle();
+            if (!title.endsWith(".mxf"))
+                title += ".mxf";
+            lines.add(";" + title);
+        }
+        Files.write(Paths.get(fileName), lines);
+        logger.info("Dump completed");
+    }
+
+}
diff --git a/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCMigrator.java b/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCMigrator.java
new file mode 100644 (file)
index 0000000..45eae4b
--- /dev/null
@@ -0,0 +1,107 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.DataIntegrityViolationException;
+
+import java.io.IOException;
+import java.time.Duration;
+import java.time.Instant;
+import java.util.Collection;
+
+public class AMCMigrator {
+    @Autowired
+    DBMappers dbMappers;
+    @Autowired
+    AMCProcessorBuilder processorBuilder;
+    @Autowired
+    private Logger logger;
+
+
+    public void migrate(String masterFile, String finalFile) throws IOException {
+        AMCProcessor masterProcessor = null;
+        AMCProcessor finalProcessor = null;
+
+        try {
+            Instant start = Instant.now();
+
+            dbMappers.init();
+
+            masterProcessor = processorBuilder.build(masterFile);
+            masterProcessor.load();
+
+            //kezdeti migracio
+            int c = 0;
+            int allCount = 0;
+            if (finalFile == null) {
+                logger.info("Inserting master records");
+                dbMappers.truncate();
+                Collection<AMCRecord> records = masterProcessor.getRecords();
+                allCount = records.size();
+
+                for (AMCRecord amcRecord : records) {
+                    dbMappers.insert(amcRecord);
+                    c++;
+                    if (c % 1000 == 0) {
+                        logger.info("Processed {} of {}, progress {}%", c, allCount, c * 100 / allCount);
+                    }
+                }
+            } else {
+                logger.info("Processing final records");
+                finalProcessor = processorBuilder.build(finalFile);
+                finalProcessor.load();
+
+                Collection<AMCRecord> finalRecords = finalProcessor.getRecords();
+                allCount = finalRecords.size();
+                for (AMCRecord finalRecord : finalRecords) {
+                    int action = masterProcessor.compareRecords(finalRecord);
+                    if (action == 1) {
+                        logger.info("Inserting new record {}", finalRecord.id);
+                        dbMappers.insert(finalRecord);
+                    }
+
+                    if (action == -1) {
+                        logger.info("Updating existing record {}", finalRecord.id);
+                        dbMappers.update(finalRecord);
+                    }
+
+                    c++;
+                    if (c % 1000 == 0) {
+                        logger.info("Processed {} of {}, progress {}%", c, allCount, c * 100 / allCount);
+                    }
+                }
+            }
+
+            Instant end = Instant.now();
+            long d = Duration.between(start, end).toMillis() / 1000;
+            String elapsed = String.format("%d:%02d:%02d", d / 3600, (d % 3600) / 60, (d % 60));
+            logger.info("Done in {}", elapsed);
+        } catch (Exception e) {
+            log(e);
+        } finally {
+            if (masterProcessor != null)
+                masterProcessor.close();
+            if (finalProcessor != null)
+                finalProcessor.close();
+        }
+    }
+
+    private void log(Exception e) {
+        String m = e.getMessage();
+        if (e instanceof DataIntegrityViolationException && m.contains("TBSPACEID") && m.contains("TABLEID") && m.contains("COLNO")) {
+            //TBSPACEID=2, TABLEID=18, COLNO=3
+            int start = m.indexOf("TBSPACEID") + 10;
+            int end = m.indexOf("\"", m.indexOf("COLNO"));
+            m = m.substring(start, end);
+            m = m.replace("TABLEID=", "").replace("COLNO=", "");
+            String[] data = m.split(",");
+            int sid = Integer.parseInt(data[0].trim());
+            int tid = Integer.parseInt(data[1].trim());
+            int cid = Integer.parseInt(data[2].trim());
+
+            logger.info("Specify value for {}", dbMappers.getColumnName(sid, tid, cid));
+        } else
+            logger.error(m, e);
+    }
+
+}
diff --git a/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCPartRename.java b/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCPartRename.java
new file mode 100644 (file)
index 0000000..ce9602b
--- /dev/null
@@ -0,0 +1,38 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+
+@Service
+public class AMCPartRename {
+    @Autowired
+    private Logger logger;
+
+
+    public void rename(String masterFile) throws IOException {
+        List<String> lines = Files.readAllLines(Paths.get(masterFile));
+        Set<String> names = new TreeSet<>();
+        for (String line : lines) {
+            //logger.info(line);
+
+            String id = line.trim().replace(".mxf.part", "");
+            names.add(id);
+
+        }
+
+        for (String id : names)
+            System.out.println(id);
+
+        logger.info("" + names.size());
+
+    }
+
+}
diff --git a/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCProcessor.java b/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCProcessor.java
new file mode 100644 (file)
index 0000000..60b171a
--- /dev/null
@@ -0,0 +1,124 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.io.IOException;
+import java.util.*;
+
+public class AMCProcessor {
+    AMCCSV reader;
+    private Map<Long, List<AMCRecord>> recordsById = new HashMap<>();
+    private Map<String, AMCRecord> recordsByTitle = new HashMap<>();
+    @Autowired
+    private Logger logger;
+
+    public AMCProcessor(AMCCSV reader, String file) throws IOException {
+        this.reader = reader;
+        reader.open(file);
+    }
+
+    public Collection<AMCRecord> getRecords() {
+        return recordsByTitle.values();
+    }
+
+    public void loadRecords() {
+        logger.info("Loading records");
+        while (true) {
+            AMCRecord r = reader.getNext();
+            if (r == null)
+                break;
+
+            if (!"Y".equals(r.ontsm))
+                continue;
+
+            List<AMCRecord> members = recordsById.get(r.id);
+            if (members == null) {
+                members = new ArrayList<>();
+                recordsById.put(r.id, members);
+            } else {
+                boolean eq = true;
+                String filenames = "";
+                for (AMCRecord ri : members) {
+                    if (!ri.equals(r)) {
+                        eq = false;
+                        filenames += " " + ri.filename;
+                    }
+                }
+                filenames += " " + r.filename;
+                if (!eq)
+                    logger.info("Multiple records for {} {}", r.id, filenames);
+            }
+            members.add(r);
+        }
+    }
+
+    public void transformRecords() {
+        logger.info("Transforming records");
+        for (long id : recordsById.keySet()) {
+            List<AMCRecord> recordList = recordsById.get(id);
+            AMCRecord currentRecord = recordList.get(0);
+            if (recordList.size() > 1) {
+                logger.info("Skipping multiple records for id {}", currentRecord.id);
+                continue;
+            }
+            String title = currentRecord.getTitle();
+
+            if (recordsByTitle.containsKey(title)) {
+                AMCRecord storedRecord = recordsByTitle.get(title);
+                if (!currentRecord.equals(storedRecord)) {
+                    if (currentRecord.lastmodified == null) {
+                        logger.info("Skipping  {} with null modification date", currentRecord.id);
+                        continue;
+                    }
+
+                    if (currentRecord.lastmodified.equals(storedRecord.lastmodified)) {
+                        if (StringUtils.isBlank(currentRecord.origtsmfilename))
+                            continue;
+                        logger.info("Replacing same record with TSM filename specified for name {}", currentRecord.name);
+                    } else {
+                        if (currentRecord.lastmodified.after(storedRecord.lastmodified))
+                            logger.info("Replacing record with newer for name {}", currentRecord.name);
+                        else {
+                            logger.info("Leaving newer record for name {}", currentRecord.name);
+                            continue;
+                        }
+                    }
+
+                }
+            }
+            recordsByTitle.put(title, currentRecord);
+        }
+    }
+
+    /*
+    1: insert
+    0: skip
+    -1: update
+     */
+    public int compareRecords(AMCRecord finalRecord) {
+        String title = finalRecord.getTitle();
+        if (!recordsByTitle.containsKey(title))
+            return 1;
+
+        if (recordsByTitle.get(title).equals(finalRecord))
+            return 0;
+
+        return -1;
+    }
+
+    public void close() {
+        try {
+            reader.close();
+        } catch (IOException e) {
+            logger.error(e.getMessage());
+        }
+    }
+
+    public void load() {
+        loadRecords();
+        transformRecords();
+        logger.info("Got {} records", recordsByTitle.size());
+    }
+}
diff --git a/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCProcessorBuilder.java b/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCProcessorBuilder.java
new file mode 100644 (file)
index 0000000..fba3efd
--- /dev/null
@@ -0,0 +1,25 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.stereotype.Component;
+
+@Component
+public class AMCProcessorBuilder {
+    @Autowired
+    AMCCSV reader;
+    @Autowired
+    private Logger logger;
+    private ApplicationContext applicationContext;
+
+    public AMCProcessorBuilder(ApplicationContext applicationContext) {
+        this.applicationContext = applicationContext;
+    }
+
+    public AMCProcessor build(String file) {
+        logger.info("Creating processor for {}", file);
+        return (AMCProcessor) applicationContext.getBean("AMCProcessor", reader, file);
+    }
+
+}
diff --git a/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCProcessorConfig.java b/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCProcessorConfig.java
new file mode 100644 (file)
index 0000000..40b0cf7
--- /dev/null
@@ -0,0 +1,17 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.springframework.beans.factory.config.BeanDefinition;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Scope;
+
+import java.io.IOException;
+
+@Configuration
+public class AMCProcessorConfig {
+    @Bean(name = "AMCProcessor")
+    @Scope(BeanDefinition.SCOPE_PROTOTYPE)
+    public AMCProcessor createPrototype(AMCCSV reader, String file) throws IOException {
+        return new AMCProcessor(reader, file);
+    }
+}
diff --git a/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCRecord.java b/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/AMCRecord.java
new file mode 100644 (file)
index 0000000..9afe9f6
--- /dev/null
@@ -0,0 +1,40 @@
+package net.elgekko.mediacube.integration.amc;
+
+import com.opencsv.bean.CsvDate;
+
+import java.util.Date;
+
+public class AMCRecord {
+    //ID;NAME;ONTSM;EXPIRATION;CREATED;PID;FILENAME;LASTMODIFIED;SIZE;PARTS;MEDIASTORE;NOF_FRAMES;ORIGMEDIASTORE;ORIGTSMFILENAME
+
+    String name;
+    String ontsm;
+    long pid;
+    String filename;
+    long size;
+    int parts;
+    String mediastore;
+    long nof_frames;
+    String origmediastore;
+    String origtsmfilename;
+    long id;
+    @CsvDate(value = "yyyy-MM-dd HH:mm:ss.SSS")
+    Date expiration;
+    @CsvDate(value = "yyyy-MM-dd HH:mm:ss.SSS")
+    Date created;
+    @CsvDate(value = "yyyy-MM-dd HH:mm:ss.SSS")
+    Date lastmodified;
+
+    public boolean equals(AMCRecord r) {
+        boolean eq =
+                getTitle().equals(r.getTitle()) && filename.equals(r.filename) && size == r.size && nof_frames == r.nof_frames && created.equals(r.created) && lastmodified.equals(r.lastmodified);
+        return eq;
+    }
+
+    public String getTitle() {
+        String title = name;
+        if (title.contains("."))
+            title = title.substring(0, title.lastIndexOf("."));
+        return title.toUpperCase();
+    }
+}
diff --git a/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/DBMappers.java b/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/DBMappers.java
new file mode 100644 (file)
index 0000000..a75c867
--- /dev/null
@@ -0,0 +1,219 @@
+package net.elgekko.mediacube.integration.amc;
+
+import hu.user.mediacube.rdb.*;
+import hu.user.mediacube.rdb.model.*;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.sql.Timestamp;
+import java.time.Instant;
+import java.util.List;
+
+@Service
+public class DBMappers {
+    @Autowired
+    MasteridMapper masterIdMapper;
+    @Autowired
+    ItemMapper itemMapper;
+    @Autowired
+    MediaMapper mediaMapper;
+    @Autowired
+    MediafileMapper mediaFileMapper;
+    @Autowired
+    ItemtypeMapper itemTypeMapper;
+    @Autowired
+    StoreMapper storeMapper;
+    @Autowired
+    StoreuriMapper storeUriMapper;
+    @Autowired
+    FiletypeMapper fileTypeMapper;
+    @Autowired
+    MediaCubeMapper mediaCubeMapper;
+    private Itemtype genericItemType;
+    private Filetype genericFileType;
+    private Store genericStore;
+    @Autowired
+    private Logger logger;
+
+    public DBMappers() {
+    }
+
+    public void init() {
+//        genericFileType = createFileType("MXF");
+//        genericStore = createStore("TSM", true, false);
+        genericItemType = getItemType("Generic");
+        genericFileType = getFileType("MXF");
+        genericStore = getStore("TSM");
+    }
+
+    public void truncate() {
+        mediaCubeMapper.constraintsOff();
+        mediaCubeMapper.truncateMediaDescription();
+        mediaCubeMapper.truncateItem();
+        mediaCubeMapper.truncateMasterId();
+        mediaCubeMapper.truncateMedia();
+        mediaCubeMapper.truncateMediaFile();
+//        mediaCubeMapper.truncateStore();
+//        mediaCubeMapper.truncateStoreUri();
+//        mediaCubeMapper.truncateFileType();
+        mediaCubeMapper.constraintsOn();
+    }
+
+    Filetype createFileType(String name) {
+        Filetype result = new Filetype();
+        result.setName(name);
+        result.setFramerate(25D);
+        result.setVideocodec("MPEG2");
+        result.setAudiocodec("AAC");
+        result.setVideotracks(1);
+        result.setAudiotracks(4);
+        fileTypeMapper.insert(result);
+        return result;
+    }
+
+    Itemtype getItemType(String name) {
+        ItemtypeExample ex = new ItemtypeExample();
+        ex.createCriteria().andNameEqualTo(name);
+        return itemTypeMapper.selectByExample(ex).get(0);
+    }
+
+    List<Media> getMedias() {
+        MediaExample ex = new MediaExample();
+        ex.createCriteria().andTitleIsNotNull();
+        ex.setOrderByClause("TITLE");
+        return mediaMapper.selectByExample(ex);
+    }
+
+    Store getStore(String name) {
+        StoreExample ex = new StoreExample();
+        ex.createCriteria().andNameEqualTo(name);
+        return storeMapper.selectByExample(ex).get(0);
+    }
+
+    Filetype getFileType(String name) {
+        FiletypeExample ex = new FiletypeExample();
+        ex.createCriteria().andNameEqualTo(name);
+        return fileTypeMapper.selectByExample(ex).get(0);
+    }
+
+    Store createStore(String name, boolean system, boolean lowres) {
+        Store result = null;
+        result = new Store();
+        result.setName(name);
+        result.setIslowres(lowres ? "Y" : "N");
+        result.setIssystem(system ? "Y" : "N");
+        storeMapper.insert(result);
+        return result;
+    }
+
+    long getMasterId() {
+        Masterid result = new Masterid();
+        result.setCreated(Timestamp.from(Instant.now()));
+        masterIdMapper.insert(result);
+        return result.getId();
+    }
+
+    String getColumnName(int sid, int tid, int cid) {
+        return mediaCubeMapper.getColumnName(sid, tid, cid);
+    }
+
+    public void insert(AMCRecord amcRecord) {
+        Item item = createItem(amcRecord);
+        Media media = createMedia(amcRecord, item);
+        createMediaFile(amcRecord, media);
+    }
+
+    public void update(AMCRecord finalRecord) {
+        Item item = updateItem(finalRecord);
+        Media media = updateMedia(finalRecord, item);
+        updateMediaFile(finalRecord, media);
+    }
+
+    Item createItem(AMCRecord amcRecord) {
+        Item result = new Item();
+        result.setId(getMasterId());
+        result.setTitle(amcRecord.getTitle());
+        result.setHouseid(String.valueOf(amcRecord.id));
+        result.setItemtypeid(genericItemType.getId());
+        result.setIsfolder("N");
+        result.setCreated(amcRecord.created);
+        result.setModified(Timestamp.from(Instant.now()));
+        itemMapper.insert(result);
+        return result;
+    }
+
+    Item updateItem(AMCRecord amcRecord) {
+        ItemExample ex = new ItemExample();
+        ex.createCriteria().andHouseidEqualTo(String.valueOf(amcRecord.id));
+        List<Item> items = itemMapper.selectByExample(ex);
+        if (items.size() != 1)
+            logger.error("Multiple item records found!");
+        Item item = items.get(0);
+        item.setCreated(amcRecord.created);
+        item.setModified(Timestamp.from(Instant.now()));
+        itemMapper.updateByPrimaryKey(item);
+        return item;
+    }
+
+    Media createMedia(AMCRecord amcRecord, Item item) {
+        MediaWithBLOBs result = new MediaWithBLOBs();
+        result.setId(getMasterId());
+        result.setCreated(amcRecord.created);
+        result.setModified(Timestamp.from(Instant.now()));
+        result.setArchived(Timestamp.from(Instant.now()));
+        result.setLength(amcRecord.nof_frames);
+        result.setTitle(amcRecord.getTitle());
+        result.setHouseid(String.valueOf(amcRecord.pid));
+        result.setItemtypeid(genericItemType.getId());
+        result.setItemid(item.getId());
+        mediaMapper.insert(result);
+        return result;
+    }
+
+    /*
+    Visszater a Media-val
+     */
+    Media updateMedia(AMCRecord amcRecord, Item item) {
+        MediaExample ex = new MediaExample();
+        ex.createCriteria().andItemidEqualTo(item.getId());
+        List<MediaWithBLOBs> medias = mediaMapper.selectByExampleWithBLOBs(ex);
+        if (medias.size() != 1)
+            logger.error("Multiple media records found!");
+        Media media = medias.get(0);
+        media.setCreated(Timestamp.from(Instant.now()));
+        media.setArchived(amcRecord.created);
+        media.setLength(amcRecord.nof_frames);
+        mediaMapper.updateByPrimaryKey(media);
+        return media;
+    }
+
+    Mediafile createMediaFile(AMCRecord amcRecord, Media media) {
+        Mediafile result = new Mediafile();
+        result.setId(getMasterId());
+        result.setFiletypeid(genericFileType.getId());
+        result.setFilesize(amcRecord.size);
+        if (StringUtils.isNotBlank(amcRecord.origtsmfilename))
+            result.setRelativepath(amcRecord.origtsmfilename);
+        else
+            result.setRelativepath(amcRecord.filename);
+        result.setMediaid(media.getId());
+        result.setStoreid(genericStore.getId());
+        result.setLastmodified(amcRecord.lastmodified);
+        mediaFileMapper.insert(result);
+        return result;
+    }
+
+    void updateMediaFile(AMCRecord amcRecord, Media media) {
+        MediafileExample ex = new MediafileExample();
+        ex.createCriteria().andMediaidEqualTo(media.getId());
+        List<Mediafile> mediafiles = mediaFileMapper.selectByExample(ex);
+        if (mediafiles.size() != 1)
+            logger.error("Multiple mediafiles records found!");
+        Mediafile mediafile = mediafiles.get(0);
+        mediafile.setFilesize(amcRecord.size);
+        mediaFileMapper.updateByPrimaryKey(mediafile);
+    }
+
+}
diff --git a/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/LoggerConfiguration.java b/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/LoggerConfiguration.java
new file mode 100644 (file)
index 0000000..777b93f
--- /dev/null
@@ -0,0 +1,25 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.InjectionPoint;
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Scope;
+
+@Configuration
+public class LoggerConfiguration {
+
+    @Bean
+    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+    public Logger logger(InjectionPoint ip) {
+        final Class lClass;
+        if (ip.getMethodParameter() == null)
+            lClass = ip.getField().getDeclaringClass();
+        else
+            lClass = ip.getMethodParameter().getContainingClass();
+        return LoggerFactory.getLogger(lClass);
+    }
+
+}
\ No newline at end of file
diff --git a/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/Main.java b/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/Main.java
new file mode 100644 (file)
index 0000000..a22b870
--- /dev/null
@@ -0,0 +1,41 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.ApplicationContext;
+import org.springframework.core.env.Environment;
+
+@SpringBootApplication()
+@MapperScan("hu.user.mediacube.rdb")
+//@SpringBootApplication(scanBasePackages = "net.elgekko")
+public class Main implements CommandLineRunner {
+    @Autowired
+    Environment env;
+    //    @Autowired
+//    AMCMigrator migrator;
+    @Autowired
+    AMCPartRename renamer;
+//    @Autowired
+//    AMCDBDump dumper;
+
+    public static void main(String[] args) {
+        ApplicationContext ctx = SpringApplication.run(Main.class, args);
+    }
+
+    @Override
+    public void run(String... args) throws Exception {
+//        String masterFile = args.length > 0 ? args[0] : null;
+//        String finalFile = args.length > 1 ? args[1] : null;
+//        migrator.migrate(masterFile, finalFile);
+
+//        SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
+//        String fileName = "output_" + df.format(new Date()) + ".txt";
+//        dumper.dump(fileName);
+
+        renamer.rename(args[0]);
+
+    }
+}
diff --git a/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/MyBatisConfig.java b/mc-intergator/integration-amc/src/main/java/net/elgekko/mediacube/integration/amc/MyBatisConfig.java
new file mode 100644 (file)
index 0000000..d3532ff
--- /dev/null
@@ -0,0 +1,18 @@
+package net.elgekko.mediacube.integration.amc;
+
+import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class MyBatisConfig {
+    @Bean
+    ConfigurationCustomizer mybatisConfigurationCustomizer() {
+        return new ConfigurationCustomizer() {
+            @Override
+            public void customize(org.apache.ibatis.session.Configuration configuration) {
+                configuration.setCacheEnabled(false);
+            }
+        };
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/integration-amc/src/main/resources/application.yaml b/mc-intergator/integration-amc/src/main/resources/application.yaml
new file mode 100644 (file)
index 0000000..be48ce3
--- /dev/null
@@ -0,0 +1,16 @@
+spring:
+  main:
+    banner-mode: off
+  output:
+    ansi:
+      enabled: always
+  datasource:
+    url: jdbc:db2://10.228.212.42:50000/mc:retrieveMessagesFromServerOnGetMessage=true;
+    username: blobtest
+    password: blobtest
+    driver-class-name: com.ibm.db2.jcc.DB2Driver
+    type: com.zaxxer.hikari.HikariDataSource
+    hikari:
+      pool-name: pool-mediacube
+      maximum-pool-size: 50
+      minimum-idle: 10
diff --git a/mc-intergator/integration-amc/src/main/resources/logback.xml b/mc-intergator/integration-amc/src/main/resources/logback.xml
new file mode 100644 (file)
index 0000000..0173054
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <include resource="org/springframework/boot/logging/logback/base.xml"/>
+    <logger name="org.springframework" level="ERROR"/>
+</configuration>
\ No newline at end of file
diff --git a/mc-intergator/mc-db/bootstrap.cmd b/mc-intergator/mc-db/bootstrap.cmd
new file mode 100644 (file)
index 0000000..3a5291f
--- /dev/null
@@ -0,0 +1 @@
+call migrate bootstrap --path=migrate --env=bootstrap
\ No newline at end of file
diff --git a/mc-intergator/mc-db/bootstrap.sh b/mc-intergator/mc-db/bootstrap.sh
new file mode 100644 (file)
index 0000000..6814879
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/bash
+migrate bootstrap --path=migrate --env=bootstrap
\ No newline at end of file
diff --git a/mc-intergator/mc-db/generate-java.cmd b/mc-intergator/mc-db/generate-java.cmd
new file mode 100644 (file)
index 0000000..bed1df9
--- /dev/null
@@ -0,0 +1,3 @@
+call del /f /q src\main\generated\hu\user\mediacube\rdb\*.*
+call del /f /q src\main\generated\hu\user\mediacube\rdb\model\*.*
+call mvn mybatis-generator:generate -P mediacube
\ No newline at end of file
diff --git a/mc-intergator/mc-db/migrate/README b/mc-intergator/mc-db/migrate/README
new file mode 100644 (file)
index 0000000..55d4a96
--- /dev/null
@@ -0,0 +1,38 @@
+Welcome!
+
+This is an MyBatis Migration repository.  You can specify the repository
+directory when running migrations using the --path=<repos-directory>
+option.  The default path is the current working directory ("./").
+
+The repository base directory contains three subdirectories as follows:
+
+./drivers
+
+Place your JDBC driver .jar or .zip files in this directory.  Upon running a
+migration, the drivers will be dynamically loaded.
+
+./environments
+
+In the environments folder you will find .properties files that represent
+your database instances.  By default a development.properties file is
+created for you to configure your development time database properties.
+You can also create test.properties and production.properties files.
+The environment can be specified when running a migration by using
+the --env=<environment> option (without the path or ".properties" part).
+
+The default environment is "development".
+
+./scripts
+
+This directory contains your migration SQL files.  These are the files
+that contain your DDL to both upgrade and downgrade your database
+structure.  By default, the directory will contain the script to
+create the changelog table, plus one empty "first" migration script.
+To create a new migration script, use the "new" command.  To run
+all pending migrations, use the "up" command.  To undo the last
+migration applied, use the "down" command etc.
+
+For more information about commands and options, run the MyBatis
+Migration script with the --help option.
+
+Enjoy.
diff --git a/mc-intergator/mc-db/migrate/environments/development.properties b/mc-intergator/mc-db/migrate/environments/development.properties
new file mode 100644 (file)
index 0000000..36434b6
--- /dev/null
@@ -0,0 +1,57 @@
+## Base time zone to ensure times are consistent across machines
+time_zone=GMT+0:00
+## The character set that scripts are encoded with
+script_char_set=UTF-8
+## JDBC connection properties.
+driver=com.ibm.db2.jcc.DB2Driver
+url=jdbc:db2://10.228.212.42:50000/mc:retrieveMessagesFromServerOnGetMessage=true;
+username=blobtest
+password=blobtest
+#
+# A NOTE ON STORED PROCEDURES AND DELIMITERS
+#
+# Stored procedures and functions commonly have nested delimiters
+# that conflict with the schema migration parsing.  If you tend
+# to use procs, functions, triggers or anything that could create
+# this situation, then you may want to experiment with
+# send_full_script=true (preferred), or if you can't use
+# send_full_script, then you may have to resort to a full
+# line delimiter such as "GO" or "/" or "!RUN!".
+#
+# Also play with the autocommit settings, as some drivers
+# or databases don't support creating procs, functions or
+# even tables in a transaction, and others require it.
+#
+# This ignores the line delimiters and
+# simply sends the entire script at once.
+# Use with JDBC drivers that can accept large
+# blocks of delimited text at once.
+send_full_script=false
+# This controls how statements are delimited.
+# By default statements are delimited by an
+# end of line semicolon.  Some databases may
+# (e.g. MS SQL Server) may require a full line
+# delimiter such as GO.
+# These are ignored if send_full_script is true.
+delimiter=;
+full_line_delimiter=false
+# If set to true, each statement is isolated
+# in its own transaction.  Otherwise the entire
+# script is executed in one transaction.
+# Few databases should need this set to true,
+# but some do.
+auto_commit=false
+# If set to false, warnings from the database will interrupt migrations.
+ignore_warnings=true
+# Custom driver path to allow you to centralize your driver files
+# Default requires the drivers to be in the drivers directory of your
+# initialized migration directory (created with "migrate init")
+# driver_path=
+# Name of the table that tracks changes to the database
+changelog=CHANGELOG
+# Migrations support variable substitutions in the form of ${variable}
+# in the migration scripts.  All of the above properties will be ignored though,
+# with the exception of changelog.
+# Example: The following would be referenced in a migration file as ${ip_address}
+# ip_address=192.168.0.1
+
diff --git a/mc-intergator/mc-db/migrate/scripts/20200124140811_create_changelog.sql b/mc-intergator/mc-db/migrate/scripts/20200124140811_create_changelog.sql
new file mode 100644 (file)
index 0000000..806cd14
--- /dev/null
@@ -0,0 +1,22 @@
+-- // Create Changelog
+
+-- Default DDL for changelog table that will keep
+-- a record of the migrations that have been run.
+
+-- You can modify this to suit your database before
+-- running your first migration.
+
+-- Be sure that ID and DESCRIPTION fields exist in
+-- BigInteger and String compatible fields respectively.
+CREATE TABLE ${changelog} (
+ID NUMERIC(20,0) NOT NULL,
+APPLIED_AT VARCHAR(25) NOT NULL,
+DESCRIPTION VARCHAR(255) NOT NULL
+);
+
+ALTER TABLE ${changelog}
+ADD CONSTRAINT PK_${changelog}
+PRIMARY KEY (id);
+
+-- //@UNDO
+DROP TABLE ${changelog};
diff --git a/mc-intergator/mc-db/migrate/scripts/20200124140812_first_migration.sql b/mc-intergator/mc-db/migrate/scripts/20200124140812_first_migration.sql
new file mode 100644 (file)
index 0000000..1ad40ab
--- /dev/null
@@ -0,0 +1,32 @@
+-- // First migration.
+-- Migration SQL that makes the change goes here.
+CREATE TABLE web_role (
+       id BIGINT NOT NULL AUTO_INCREMENT,
+       name VARCHAR(50),
+       code SMALLINT,
+       PRIMARY KEY (id),
+       UNIQUE KEY(name),
+       UNIQUE KEY(code)
+);
+
+CREATE TABLE web_user (
+       id BIGINT NOT NULL AUTO_INCREMENT,
+       email VARCHAR(50), 
+       name VARCHAR(50),
+       password VARCHAR(50),
+       roleid BIGINT NULL,
+       PRIMARY KEY (id),
+       UNIQUE KEY(email),
+       FOREIGN KEY (roleid) REFERENCES web_role(id)
+);
+
+INSERT INTO web_role (name, code) VALUES
+       ('Admin', 0),('ÜzletkötÅ‘', 1),('Ügyfél', 2);
+INSERT INTO web_user (email, name, password, roleid) VALUES
+       ('vasary@elgekko.net', 'Vásáry Dániel', SHA1('password'), (SELECT id FROM web_role WHERE code=0));
+
+-- //@UNDO
+-- SQL to undo the change goes here.
+DROP TABLE web_user;
+DROP TABLE web_role;
+
diff --git a/mc-intergator/mc-db/migrate/scripts/bootstrap.sql b/mc-intergator/mc-db/migrate/scripts/bootstrap.sql
new file mode 100644 (file)
index 0000000..0d93d32
--- /dev/null
@@ -0,0 +1,3 @@
+-- // Bootstrap.sql
+DROP DATABASE IF EXISTS maszkaweb;
+CREATE DATABASE maszkaweb CHARACTER SET utf8mb4 COLLATE utf8mb4_hungarian_ci;
diff --git a/mc-intergator/mc-db/pom.xml b/mc-intergator/mc-db/pom.xml
new file mode 100644 (file)
index 0000000..70daead
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>net.elgekko.mediacube</groupId>
+    <artifactId>mc-db</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <parent>
+        <groupId>net.elgekko.mediacube</groupId>
+        <artifactId>mc-integrator</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.mybatis.maven</groupId>
+                <artifactId>migrations-maven-plugin</artifactId>
+                <version>1.1.4</version>
+                <configuration>
+                    <repository>${project.basedir}/migrations</repository>
+                </configuration>
+                <dependencies>
+                    <dependency>
+                        <groupId>com.ibm.db2</groupId>
+                        <artifactId>jcc</artifactId>
+                        <version>11.5.8.0</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+        <!--        <dependency>-->
+        <!--            <groupId>org.springframework.data</groupId>-->
+        <!--            <artifactId>spring-data-mongodb-parent</artifactId>-->
+        <!--            <version>${spring.version}</version>-->
+        <!--            <type>pom</type>-->
+        <!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>org.springframework.data</groupId>-->
+        <!--            <artifactId>spring-data-mongodb</artifactId>-->
+        <!--        </dependency>-->
+        <dependency>
+            <groupId>org.mybatis.spring.boot</groupId>
+            <artifactId>mybatis-spring-boot-starter</artifactId>
+            <version>2.1.1</version>
+        </dependency>
+        <dependency>
+            <groupId>com.ibm.db2</groupId>
+            <artifactId>jcc</artifactId>
+            <version>11.5.8.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.junit.vintage</groupId>
+                    <artifactId>junit-vintage-engine</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+    </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/mc-intergator/mc-db/reset.cmd b/mc-intergator/mc-db/reset.cmd
new file mode 100644 (file)
index 0000000..5e3c85d
--- /dev/null
@@ -0,0 +1,2 @@
+call migrate bootstrap --path=migrate --env=bootstrap
+call migrate up --path=migrate
\ No newline at end of file
diff --git a/mc-intergator/mc-db/reset.sh b/mc-intergator/mc-db/reset.sh
new file mode 100644 (file)
index 0000000..842ff9c
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+migrate bootstrap --path=migrate --env=bootstrap
+migrate up --path=migrate
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/FiletypeMapper.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/FiletypeMapper.java
new file mode 100644 (file)
index 0000000..733994c
--- /dev/null
@@ -0,0 +1,191 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Filetype;
+import hu.user.mediacube.rdb.model.FiletypeExample;
+import hu.user.mediacube.rdb.model.FiletypeKey;
+import java.util.List;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.InsertProvider;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Result;
+import org.apache.ibatis.annotations.Results;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.annotations.UpdateProvider;
+import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.type.JdbcType;
+
+@Mapper
+public interface FiletypeMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=FiletypeSqlProvider.class, method="countByExample")
+    long countByExample(FiletypeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @DeleteProvider(type=FiletypeSqlProvider.class, method="deleteByExample")
+    int deleteByExample(FiletypeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Delete({
+        "delete from FILETYPE",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int deleteByPrimaryKey(FiletypeKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Insert({
+        "insert into FILETYPE (NAME, DESCRIPTION, ",
+        "VIDEOCODEC, AUDIOCODEC, ",
+        "VIDEOTRACKS, AUDIOTRACKS, ",
+        "FRAMERATE)",
+        "values (#{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, ",
+        "#{videocodec,jdbcType=VARCHAR}, #{audiocodec,jdbcType=VARCHAR}, ",
+        "#{videotracks,jdbcType=INTEGER}, #{audiotracks,jdbcType=INTEGER}, ",
+        "#{framerate,jdbcType=DOUBLE})"
+    })
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insert(Filetype record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @InsertProvider(type=FiletypeSqlProvider.class, method="insertSelective")
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insertSelective(Filetype record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=FiletypeSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="NAME", property="name", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="VIDEOCODEC", property="videocodec", jdbcType=JdbcType.VARCHAR),
+        @Result(column="AUDIOCODEC", property="audiocodec", jdbcType=JdbcType.VARCHAR),
+        @Result(column="VIDEOTRACKS", property="videotracks", jdbcType=JdbcType.INTEGER),
+        @Result(column="AUDIOTRACKS", property="audiotracks", jdbcType=JdbcType.INTEGER),
+        @Result(column="FRAMERATE", property="framerate", jdbcType=JdbcType.DOUBLE)
+    })
+    List<Filetype> selectByExampleWithRowbounds(FiletypeExample example, RowBounds rowBounds);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=FiletypeSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="NAME", property="name", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="VIDEOCODEC", property="videocodec", jdbcType=JdbcType.VARCHAR),
+        @Result(column="AUDIOCODEC", property="audiocodec", jdbcType=JdbcType.VARCHAR),
+        @Result(column="VIDEOTRACKS", property="videotracks", jdbcType=JdbcType.INTEGER),
+        @Result(column="AUDIOTRACKS", property="audiotracks", jdbcType=JdbcType.INTEGER),
+        @Result(column="FRAMERATE", property="framerate", jdbcType=JdbcType.DOUBLE)
+    })
+    List<Filetype> selectByExample(FiletypeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Select({
+        "select",
+        "ID, NAME, DESCRIPTION, VIDEOCODEC, AUDIOCODEC, VIDEOTRACKS, AUDIOTRACKS, FRAMERATE",
+        "from FILETYPE",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="NAME", property="name", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="VIDEOCODEC", property="videocodec", jdbcType=JdbcType.VARCHAR),
+        @Result(column="AUDIOCODEC", property="audiocodec", jdbcType=JdbcType.VARCHAR),
+        @Result(column="VIDEOTRACKS", property="videotracks", jdbcType=JdbcType.INTEGER),
+        @Result(column="AUDIOTRACKS", property="audiotracks", jdbcType=JdbcType.INTEGER),
+        @Result(column="FRAMERATE", property="framerate", jdbcType=JdbcType.DOUBLE)
+    })
+    Filetype selectByPrimaryKey(FiletypeKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=FiletypeSqlProvider.class, method="updateByExampleSelective")
+    int updateByExampleSelective(@Param("record") Filetype record, @Param("example") FiletypeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=FiletypeSqlProvider.class, method="updateByExample")
+    int updateByExample(@Param("record") Filetype record, @Param("example") FiletypeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=FiletypeSqlProvider.class, method="updateByPrimaryKeySelective")
+    int updateByPrimaryKeySelective(Filetype record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Update({
+        "update FILETYPE",
+        "set NAME = #{name,jdbcType=VARCHAR},",
+          "DESCRIPTION = #{description,jdbcType=VARCHAR},",
+          "VIDEOCODEC = #{videocodec,jdbcType=VARCHAR},",
+          "AUDIOCODEC = #{audiocodec,jdbcType=VARCHAR},",
+          "VIDEOTRACKS = #{videotracks,jdbcType=INTEGER},",
+          "AUDIOTRACKS = #{audiotracks,jdbcType=INTEGER},",
+          "FRAMERATE = #{framerate,jdbcType=DOUBLE}",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int updateByPrimaryKey(Filetype record);
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/FiletypeSqlProvider.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/FiletypeSqlProvider.java
new file mode 100644 (file)
index 0000000..af0f2c8
--- /dev/null
@@ -0,0 +1,323 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Filetype;
+import hu.user.mediacube.rdb.model.FiletypeExample.Criteria;
+import hu.user.mediacube.rdb.model.FiletypeExample.Criterion;
+import hu.user.mediacube.rdb.model.FiletypeExample;
+import java.util.List;
+import java.util.Map;
+import org.apache.ibatis.jdbc.SQL;
+
+public class FiletypeSqlProvider {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String countByExample(FiletypeExample example) {
+        SQL sql = new SQL();
+        sql.SELECT("count(*)").FROM("FILETYPE");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String deleteByExample(FiletypeExample example) {
+        SQL sql = new SQL();
+        sql.DELETE_FROM("FILETYPE");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String insertSelective(Filetype record) {
+        SQL sql = new SQL();
+        sql.INSERT_INTO("FILETYPE");
+        
+        if (record.getName() != null) {
+            sql.VALUES("NAME", "#{name,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDescription() != null) {
+            sql.VALUES("DESCRIPTION", "#{description,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getVideocodec() != null) {
+            sql.VALUES("VIDEOCODEC", "#{videocodec,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getAudiocodec() != null) {
+            sql.VALUES("AUDIOCODEC", "#{audiocodec,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getVideotracks() != null) {
+            sql.VALUES("VIDEOTRACKS", "#{videotracks,jdbcType=INTEGER}");
+        }
+        
+        if (record.getAudiotracks() != null) {
+            sql.VALUES("AUDIOTRACKS", "#{audiotracks,jdbcType=INTEGER}");
+        }
+        
+        if (record.getFramerate() != null) {
+            sql.VALUES("FRAMERATE", "#{framerate,jdbcType=DOUBLE}");
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String selectByExample(FiletypeExample example) {
+        SQL sql = new SQL();
+        if (example != null && example.isDistinct()) {
+            sql.SELECT_DISTINCT("ID");
+        } else {
+            sql.SELECT("ID");
+        }
+        sql.SELECT("NAME");
+        sql.SELECT("DESCRIPTION");
+        sql.SELECT("VIDEOCODEC");
+        sql.SELECT("AUDIOCODEC");
+        sql.SELECT("VIDEOTRACKS");
+        sql.SELECT("AUDIOTRACKS");
+        sql.SELECT("FRAMERATE");
+        sql.FROM("FILETYPE");
+        applyWhere(sql, example, false);
+        
+        if (example != null && example.getOrderByClause() != null) {
+            sql.ORDER_BY(example.getOrderByClause());
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExampleSelective(Map<String, Object> parameter) {
+        Filetype record = (Filetype) parameter.get("record");
+        FiletypeExample example = (FiletypeExample) parameter.get("example");
+        
+        SQL sql = new SQL();
+        sql.UPDATE("FILETYPE");
+        
+        if (record.getId() != null) {
+            sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        }
+        
+        if (record.getName() != null) {
+            sql.SET("NAME = #{record.name,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDescription() != null) {
+            sql.SET("DESCRIPTION = #{record.description,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getVideocodec() != null) {
+            sql.SET("VIDEOCODEC = #{record.videocodec,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getAudiocodec() != null) {
+            sql.SET("AUDIOCODEC = #{record.audiocodec,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getVideotracks() != null) {
+            sql.SET("VIDEOTRACKS = #{record.videotracks,jdbcType=INTEGER}");
+        }
+        
+        if (record.getAudiotracks() != null) {
+            sql.SET("AUDIOTRACKS = #{record.audiotracks,jdbcType=INTEGER}");
+        }
+        
+        if (record.getFramerate() != null) {
+            sql.SET("FRAMERATE = #{record.framerate,jdbcType=DOUBLE}");
+        }
+        
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExample(Map<String, Object> parameter) {
+        SQL sql = new SQL();
+        sql.UPDATE("FILETYPE");
+        
+        sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        sql.SET("NAME = #{record.name,jdbcType=VARCHAR}");
+        sql.SET("DESCRIPTION = #{record.description,jdbcType=VARCHAR}");
+        sql.SET("VIDEOCODEC = #{record.videocodec,jdbcType=VARCHAR}");
+        sql.SET("AUDIOCODEC = #{record.audiocodec,jdbcType=VARCHAR}");
+        sql.SET("VIDEOTRACKS = #{record.videotracks,jdbcType=INTEGER}");
+        sql.SET("AUDIOTRACKS = #{record.audiotracks,jdbcType=INTEGER}");
+        sql.SET("FRAMERATE = #{record.framerate,jdbcType=DOUBLE}");
+        
+        FiletypeExample example = (FiletypeExample) parameter.get("example");
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByPrimaryKeySelective(Filetype record) {
+        SQL sql = new SQL();
+        sql.UPDATE("FILETYPE");
+        
+        if (record.getName() != null) {
+            sql.SET("NAME = #{name,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDescription() != null) {
+            sql.SET("DESCRIPTION = #{description,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getVideocodec() != null) {
+            sql.SET("VIDEOCODEC = #{videocodec,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getAudiocodec() != null) {
+            sql.SET("AUDIOCODEC = #{audiocodec,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getVideotracks() != null) {
+            sql.SET("VIDEOTRACKS = #{videotracks,jdbcType=INTEGER}");
+        }
+        
+        if (record.getAudiotracks() != null) {
+            sql.SET("AUDIOTRACKS = #{audiotracks,jdbcType=INTEGER}");
+        }
+        
+        if (record.getFramerate() != null) {
+            sql.SET("FRAMERATE = #{framerate,jdbcType=DOUBLE}");
+        }
+        
+        sql.WHERE("ID = #{id,jdbcType=BIGINT}");
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected void applyWhere(SQL sql, FiletypeExample example, boolean includeExamplePhrase) {
+        if (example == null) {
+            return;
+        }
+        
+        String parmPhrase1;
+        String parmPhrase1_th;
+        String parmPhrase2;
+        String parmPhrase2_th;
+        String parmPhrase3;
+        String parmPhrase3_th;
+        if (includeExamplePhrase) {
+            parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        } else {
+            parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        }
+        
+        StringBuilder sb = new StringBuilder();
+        List<Criteria> oredCriteria = example.getOredCriteria();
+        boolean firstCriteria = true;
+        for (int i = 0; i < oredCriteria.size(); i++) {
+            Criteria criteria = oredCriteria.get(i);
+            if (criteria.isValid()) {
+                if (firstCriteria) {
+                    firstCriteria = false;
+                } else {
+                    sb.append(" or ");
+                }
+                
+                sb.append('(');
+                List<Criterion> criterions = criteria.getAllCriteria();
+                boolean firstCriterion = true;
+                for (int j = 0; j < criterions.size(); j++) {
+                    Criterion criterion = criterions.get(j);
+                    if (firstCriterion) {
+                        firstCriterion = false;
+                    } else {
+                        sb.append(" and ");
+                    }
+                    
+                    if (criterion.isNoValue()) {
+                        sb.append(criterion.getCondition());
+                    } else if (criterion.isSingleValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isBetweenValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isListValue()) {
+                        sb.append(criterion.getCondition());
+                        sb.append(" (");
+                        List<?> listItems = (List<?>) criterion.getValue();
+                        boolean comma = false;
+                        for (int k = 0; k < listItems.size(); k++) {
+                            if (comma) {
+                                sb.append(", ");
+                            } else {
+                                comma = true;
+                            }
+                            if (criterion.getTypeHandler() == null) {
+                                sb.append(String.format(parmPhrase3, i, j, k));
+                            } else {
+                                sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));
+                            }
+                        }
+                        sb.append(')');
+                    }
+                }
+                sb.append(')');
+            }
+        }
+        
+        if (sb.length() > 0) {
+            sql.WHERE(sb.toString());
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/ItemMapper.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/ItemMapper.java
new file mode 100644 (file)
index 0000000..8706d56
--- /dev/null
@@ -0,0 +1,188 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Item;
+import hu.user.mediacube.rdb.model.ItemExample;
+import hu.user.mediacube.rdb.model.ItemKey;
+import java.util.List;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.InsertProvider;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Result;
+import org.apache.ibatis.annotations.Results;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.annotations.UpdateProvider;
+import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.type.JdbcType;
+
+@Mapper
+public interface ItemMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=ItemSqlProvider.class, method="countByExample")
+    long countByExample(ItemExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @DeleteProvider(type=ItemSqlProvider.class, method="deleteByExample")
+    int deleteByExample(ItemExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Delete({
+        "delete from ITEM",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int deleteByPrimaryKey(ItemKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Insert({
+        "insert into ITEM (ID, ITEMTYPEID, ",
+        "HOUSEID, TITLE, ",
+        "DESCRIPTION, ISFOLDER, ",
+        "CREATED, MODIFIED)",
+        "values (#{id,jdbcType=BIGINT}, #{itemtypeid,jdbcType=BIGINT}, ",
+        "#{houseid,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR}, ",
+        "#{description,jdbcType=VARCHAR}, #{isfolder,jdbcType=CHAR}, ",
+        "#{created,jdbcType=TIMESTAMP}, #{modified,jdbcType=TIMESTAMP})"
+    })
+    int insert(Item record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @InsertProvider(type=ItemSqlProvider.class, method="insertSelective")
+    int insertSelective(Item record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=ItemSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="ITEMTYPEID", property="itemtypeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="HOUSEID", property="houseid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="TITLE", property="title", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ISFOLDER", property="isfolder", jdbcType=JdbcType.CHAR),
+        @Result(column="CREATED", property="created", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="MODIFIED", property="modified", jdbcType=JdbcType.TIMESTAMP)
+    })
+    List<Item> selectByExampleWithRowbounds(ItemExample example, RowBounds rowBounds);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=ItemSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="ITEMTYPEID", property="itemtypeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="HOUSEID", property="houseid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="TITLE", property="title", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ISFOLDER", property="isfolder", jdbcType=JdbcType.CHAR),
+        @Result(column="CREATED", property="created", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="MODIFIED", property="modified", jdbcType=JdbcType.TIMESTAMP)
+    })
+    List<Item> selectByExample(ItemExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Select({
+        "select",
+        "ID, ITEMTYPEID, HOUSEID, TITLE, DESCRIPTION, ISFOLDER, CREATED, MODIFIED",
+        "from ITEM",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="ITEMTYPEID", property="itemtypeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="HOUSEID", property="houseid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="TITLE", property="title", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ISFOLDER", property="isfolder", jdbcType=JdbcType.CHAR),
+        @Result(column="CREATED", property="created", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="MODIFIED", property="modified", jdbcType=JdbcType.TIMESTAMP)
+    })
+    Item selectByPrimaryKey(ItemKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=ItemSqlProvider.class, method="updateByExampleSelective")
+    int updateByExampleSelective(@Param("record") Item record, @Param("example") ItemExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=ItemSqlProvider.class, method="updateByExample")
+    int updateByExample(@Param("record") Item record, @Param("example") ItemExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=ItemSqlProvider.class, method="updateByPrimaryKeySelective")
+    int updateByPrimaryKeySelective(Item record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Update({
+        "update ITEM",
+        "set ITEMTYPEID = #{itemtypeid,jdbcType=BIGINT},",
+          "HOUSEID = #{houseid,jdbcType=VARCHAR},",
+          "TITLE = #{title,jdbcType=VARCHAR},",
+          "DESCRIPTION = #{description,jdbcType=VARCHAR},",
+          "ISFOLDER = #{isfolder,jdbcType=CHAR},",
+          "CREATED = #{created,jdbcType=TIMESTAMP},",
+          "MODIFIED = #{modified,jdbcType=TIMESTAMP}",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int updateByPrimaryKey(Item record);
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/ItemSqlProvider.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/ItemSqlProvider.java
new file mode 100644 (file)
index 0000000..162c3ed
--- /dev/null
@@ -0,0 +1,327 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Item;
+import hu.user.mediacube.rdb.model.ItemExample.Criteria;
+import hu.user.mediacube.rdb.model.ItemExample.Criterion;
+import hu.user.mediacube.rdb.model.ItemExample;
+import java.util.List;
+import java.util.Map;
+import org.apache.ibatis.jdbc.SQL;
+
+public class ItemSqlProvider {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String countByExample(ItemExample example) {
+        SQL sql = new SQL();
+        sql.SELECT("count(*)").FROM("ITEM");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String deleteByExample(ItemExample example) {
+        SQL sql = new SQL();
+        sql.DELETE_FROM("ITEM");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String insertSelective(Item record) {
+        SQL sql = new SQL();
+        sql.INSERT_INTO("ITEM");
+        
+        if (record.getId() != null) {
+            sql.VALUES("ID", "#{id,jdbcType=BIGINT}");
+        }
+        
+        if (record.getItemtypeid() != null) {
+            sql.VALUES("ITEMTYPEID", "#{itemtypeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getHouseid() != null) {
+            sql.VALUES("HOUSEID", "#{houseid,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getTitle() != null) {
+            sql.VALUES("TITLE", "#{title,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDescription() != null) {
+            sql.VALUES("DESCRIPTION", "#{description,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getIsfolder() != null) {
+            sql.VALUES("ISFOLDER", "#{isfolder,jdbcType=CHAR}");
+        }
+        
+        if (record.getCreated() != null) {
+            sql.VALUES("CREATED", "#{created,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getModified() != null) {
+            sql.VALUES("MODIFIED", "#{modified,jdbcType=TIMESTAMP}");
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String selectByExample(ItemExample example) {
+        SQL sql = new SQL();
+        if (example != null && example.isDistinct()) {
+            sql.SELECT_DISTINCT("ID");
+        } else {
+            sql.SELECT("ID");
+        }
+        sql.SELECT("ITEMTYPEID");
+        sql.SELECT("HOUSEID");
+        sql.SELECT("TITLE");
+        sql.SELECT("DESCRIPTION");
+        sql.SELECT("ISFOLDER");
+        sql.SELECT("CREATED");
+        sql.SELECT("MODIFIED");
+        sql.FROM("ITEM");
+        applyWhere(sql, example, false);
+        
+        if (example != null && example.getOrderByClause() != null) {
+            sql.ORDER_BY(example.getOrderByClause());
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExampleSelective(Map<String, Object> parameter) {
+        Item record = (Item) parameter.get("record");
+        ItemExample example = (ItemExample) parameter.get("example");
+        
+        SQL sql = new SQL();
+        sql.UPDATE("ITEM");
+        
+        if (record.getId() != null) {
+            sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        }
+        
+        if (record.getItemtypeid() != null) {
+            sql.SET("ITEMTYPEID = #{record.itemtypeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getHouseid() != null) {
+            sql.SET("HOUSEID = #{record.houseid,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getTitle() != null) {
+            sql.SET("TITLE = #{record.title,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDescription() != null) {
+            sql.SET("DESCRIPTION = #{record.description,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getIsfolder() != null) {
+            sql.SET("ISFOLDER = #{record.isfolder,jdbcType=CHAR}");
+        }
+        
+        if (record.getCreated() != null) {
+            sql.SET("CREATED = #{record.created,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getModified() != null) {
+            sql.SET("MODIFIED = #{record.modified,jdbcType=TIMESTAMP}");
+        }
+        
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExample(Map<String, Object> parameter) {
+        SQL sql = new SQL();
+        sql.UPDATE("ITEM");
+        
+        sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        sql.SET("ITEMTYPEID = #{record.itemtypeid,jdbcType=BIGINT}");
+        sql.SET("HOUSEID = #{record.houseid,jdbcType=VARCHAR}");
+        sql.SET("TITLE = #{record.title,jdbcType=VARCHAR}");
+        sql.SET("DESCRIPTION = #{record.description,jdbcType=VARCHAR}");
+        sql.SET("ISFOLDER = #{record.isfolder,jdbcType=CHAR}");
+        sql.SET("CREATED = #{record.created,jdbcType=TIMESTAMP}");
+        sql.SET("MODIFIED = #{record.modified,jdbcType=TIMESTAMP}");
+        
+        ItemExample example = (ItemExample) parameter.get("example");
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByPrimaryKeySelective(Item record) {
+        SQL sql = new SQL();
+        sql.UPDATE("ITEM");
+        
+        if (record.getItemtypeid() != null) {
+            sql.SET("ITEMTYPEID = #{itemtypeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getHouseid() != null) {
+            sql.SET("HOUSEID = #{houseid,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getTitle() != null) {
+            sql.SET("TITLE = #{title,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDescription() != null) {
+            sql.SET("DESCRIPTION = #{description,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getIsfolder() != null) {
+            sql.SET("ISFOLDER = #{isfolder,jdbcType=CHAR}");
+        }
+        
+        if (record.getCreated() != null) {
+            sql.SET("CREATED = #{created,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getModified() != null) {
+            sql.SET("MODIFIED = #{modified,jdbcType=TIMESTAMP}");
+        }
+        
+        sql.WHERE("ID = #{id,jdbcType=BIGINT}");
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected void applyWhere(SQL sql, ItemExample example, boolean includeExamplePhrase) {
+        if (example == null) {
+            return;
+        }
+        
+        String parmPhrase1;
+        String parmPhrase1_th;
+        String parmPhrase2;
+        String parmPhrase2_th;
+        String parmPhrase3;
+        String parmPhrase3_th;
+        if (includeExamplePhrase) {
+            parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        } else {
+            parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        }
+        
+        StringBuilder sb = new StringBuilder();
+        List<Criteria> oredCriteria = example.getOredCriteria();
+        boolean firstCriteria = true;
+        for (int i = 0; i < oredCriteria.size(); i++) {
+            Criteria criteria = oredCriteria.get(i);
+            if (criteria.isValid()) {
+                if (firstCriteria) {
+                    firstCriteria = false;
+                } else {
+                    sb.append(" or ");
+                }
+                
+                sb.append('(');
+                List<Criterion> criterions = criteria.getAllCriteria();
+                boolean firstCriterion = true;
+                for (int j = 0; j < criterions.size(); j++) {
+                    Criterion criterion = criterions.get(j);
+                    if (firstCriterion) {
+                        firstCriterion = false;
+                    } else {
+                        sb.append(" and ");
+                    }
+                    
+                    if (criterion.isNoValue()) {
+                        sb.append(criterion.getCondition());
+                    } else if (criterion.isSingleValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isBetweenValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isListValue()) {
+                        sb.append(criterion.getCondition());
+                        sb.append(" (");
+                        List<?> listItems = (List<?>) criterion.getValue();
+                        boolean comma = false;
+                        for (int k = 0; k < listItems.size(); k++) {
+                            if (comma) {
+                                sb.append(", ");
+                            } else {
+                                comma = true;
+                            }
+                            if (criterion.getTypeHandler() == null) {
+                                sb.append(String.format(parmPhrase3, i, j, k));
+                            } else {
+                                sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));
+                            }
+                        }
+                        sb.append(')');
+                    }
+                }
+                sb.append(')');
+            }
+        }
+        
+        if (sb.length() > 0) {
+            sql.WHERE(sb.toString());
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/ItemtypeMapper.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/ItemtypeMapper.java
new file mode 100644 (file)
index 0000000..f58fe8e
--- /dev/null
@@ -0,0 +1,171 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Itemtype;
+import hu.user.mediacube.rdb.model.ItemtypeExample;
+import hu.user.mediacube.rdb.model.ItemtypeKey;
+import java.util.List;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.InsertProvider;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Result;
+import org.apache.ibatis.annotations.Results;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.annotations.UpdateProvider;
+import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.type.JdbcType;
+
+@Mapper
+public interface ItemtypeMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=ItemtypeSqlProvider.class, method="countByExample")
+    long countByExample(ItemtypeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @DeleteProvider(type=ItemtypeSqlProvider.class, method="deleteByExample")
+    int deleteByExample(ItemtypeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Delete({
+        "delete from ITEMTYPE",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int deleteByPrimaryKey(ItemtypeKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Insert({
+        "insert into ITEMTYPE (NAME, DESCRIPTION, ",
+        "ISSTATIC)",
+        "values (#{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, ",
+        "#{isstatic,jdbcType=CHAR})"
+    })
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insert(Itemtype record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @InsertProvider(type=ItemtypeSqlProvider.class, method="insertSelective")
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insertSelective(Itemtype record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=ItemtypeSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="NAME", property="name", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ISSTATIC", property="isstatic", jdbcType=JdbcType.CHAR)
+    })
+    List<Itemtype> selectByExampleWithRowbounds(ItemtypeExample example, RowBounds rowBounds);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=ItemtypeSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="NAME", property="name", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ISSTATIC", property="isstatic", jdbcType=JdbcType.CHAR)
+    })
+    List<Itemtype> selectByExample(ItemtypeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Select({
+        "select",
+        "ID, NAME, DESCRIPTION, ISSTATIC",
+        "from ITEMTYPE",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="NAME", property="name", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ISSTATIC", property="isstatic", jdbcType=JdbcType.CHAR)
+    })
+    Itemtype selectByPrimaryKey(ItemtypeKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=ItemtypeSqlProvider.class, method="updateByExampleSelective")
+    int updateByExampleSelective(@Param("record") Itemtype record, @Param("example") ItemtypeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=ItemtypeSqlProvider.class, method="updateByExample")
+    int updateByExample(@Param("record") Itemtype record, @Param("example") ItemtypeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=ItemtypeSqlProvider.class, method="updateByPrimaryKeySelective")
+    int updateByPrimaryKeySelective(Itemtype record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Update({
+        "update ITEMTYPE",
+        "set NAME = #{name,jdbcType=VARCHAR},",
+          "DESCRIPTION = #{description,jdbcType=VARCHAR},",
+          "ISSTATIC = #{isstatic,jdbcType=CHAR}",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int updateByPrimaryKey(Itemtype record);
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/ItemtypeSqlProvider.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/ItemtypeSqlProvider.java
new file mode 100644 (file)
index 0000000..a178265
--- /dev/null
@@ -0,0 +1,267 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Itemtype;
+import hu.user.mediacube.rdb.model.ItemtypeExample.Criteria;
+import hu.user.mediacube.rdb.model.ItemtypeExample.Criterion;
+import hu.user.mediacube.rdb.model.ItemtypeExample;
+import java.util.List;
+import java.util.Map;
+import org.apache.ibatis.jdbc.SQL;
+
+public class ItemtypeSqlProvider {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String countByExample(ItemtypeExample example) {
+        SQL sql = new SQL();
+        sql.SELECT("count(*)").FROM("ITEMTYPE");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String deleteByExample(ItemtypeExample example) {
+        SQL sql = new SQL();
+        sql.DELETE_FROM("ITEMTYPE");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String insertSelective(Itemtype record) {
+        SQL sql = new SQL();
+        sql.INSERT_INTO("ITEMTYPE");
+        
+        if (record.getName() != null) {
+            sql.VALUES("NAME", "#{name,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDescription() != null) {
+            sql.VALUES("DESCRIPTION", "#{description,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getIsstatic() != null) {
+            sql.VALUES("ISSTATIC", "#{isstatic,jdbcType=CHAR}");
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String selectByExample(ItemtypeExample example) {
+        SQL sql = new SQL();
+        if (example != null && example.isDistinct()) {
+            sql.SELECT_DISTINCT("ID");
+        } else {
+            sql.SELECT("ID");
+        }
+        sql.SELECT("NAME");
+        sql.SELECT("DESCRIPTION");
+        sql.SELECT("ISSTATIC");
+        sql.FROM("ITEMTYPE");
+        applyWhere(sql, example, false);
+        
+        if (example != null && example.getOrderByClause() != null) {
+            sql.ORDER_BY(example.getOrderByClause());
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExampleSelective(Map<String, Object> parameter) {
+        Itemtype record = (Itemtype) parameter.get("record");
+        ItemtypeExample example = (ItemtypeExample) parameter.get("example");
+        
+        SQL sql = new SQL();
+        sql.UPDATE("ITEMTYPE");
+        
+        if (record.getId() != null) {
+            sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        }
+        
+        if (record.getName() != null) {
+            sql.SET("NAME = #{record.name,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDescription() != null) {
+            sql.SET("DESCRIPTION = #{record.description,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getIsstatic() != null) {
+            sql.SET("ISSTATIC = #{record.isstatic,jdbcType=CHAR}");
+        }
+        
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExample(Map<String, Object> parameter) {
+        SQL sql = new SQL();
+        sql.UPDATE("ITEMTYPE");
+        
+        sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        sql.SET("NAME = #{record.name,jdbcType=VARCHAR}");
+        sql.SET("DESCRIPTION = #{record.description,jdbcType=VARCHAR}");
+        sql.SET("ISSTATIC = #{record.isstatic,jdbcType=CHAR}");
+        
+        ItemtypeExample example = (ItemtypeExample) parameter.get("example");
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByPrimaryKeySelective(Itemtype record) {
+        SQL sql = new SQL();
+        sql.UPDATE("ITEMTYPE");
+        
+        if (record.getName() != null) {
+            sql.SET("NAME = #{name,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDescription() != null) {
+            sql.SET("DESCRIPTION = #{description,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getIsstatic() != null) {
+            sql.SET("ISSTATIC = #{isstatic,jdbcType=CHAR}");
+        }
+        
+        sql.WHERE("ID = #{id,jdbcType=BIGINT}");
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected void applyWhere(SQL sql, ItemtypeExample example, boolean includeExamplePhrase) {
+        if (example == null) {
+            return;
+        }
+        
+        String parmPhrase1;
+        String parmPhrase1_th;
+        String parmPhrase2;
+        String parmPhrase2_th;
+        String parmPhrase3;
+        String parmPhrase3_th;
+        if (includeExamplePhrase) {
+            parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        } else {
+            parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        }
+        
+        StringBuilder sb = new StringBuilder();
+        List<Criteria> oredCriteria = example.getOredCriteria();
+        boolean firstCriteria = true;
+        for (int i = 0; i < oredCriteria.size(); i++) {
+            Criteria criteria = oredCriteria.get(i);
+            if (criteria.isValid()) {
+                if (firstCriteria) {
+                    firstCriteria = false;
+                } else {
+                    sb.append(" or ");
+                }
+                
+                sb.append('(');
+                List<Criterion> criterions = criteria.getAllCriteria();
+                boolean firstCriterion = true;
+                for (int j = 0; j < criterions.size(); j++) {
+                    Criterion criterion = criterions.get(j);
+                    if (firstCriterion) {
+                        firstCriterion = false;
+                    } else {
+                        sb.append(" and ");
+                    }
+                    
+                    if (criterion.isNoValue()) {
+                        sb.append(criterion.getCondition());
+                    } else if (criterion.isSingleValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isBetweenValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isListValue()) {
+                        sb.append(criterion.getCondition());
+                        sb.append(" (");
+                        List<?> listItems = (List<?>) criterion.getValue();
+                        boolean comma = false;
+                        for (int k = 0; k < listItems.size(); k++) {
+                            if (comma) {
+                                sb.append(", ");
+                            } else {
+                                comma = true;
+                            }
+                            if (criterion.getTypeHandler() == null) {
+                                sb.append(String.format(parmPhrase3, i, j, k));
+                            } else {
+                                sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));
+                            }
+                        }
+                        sb.append(')');
+                    }
+                }
+                sb.append(')');
+            }
+        }
+        
+        if (sb.length() > 0) {
+            sql.WHERE(sb.toString());
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MasteridMapper.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MasteridMapper.java
new file mode 100644 (file)
index 0000000..1b045a2
--- /dev/null
@@ -0,0 +1,161 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Masterid;
+import hu.user.mediacube.rdb.model.MasteridExample;
+import hu.user.mediacube.rdb.model.MasteridKey;
+import java.util.List;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.InsertProvider;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Result;
+import org.apache.ibatis.annotations.Results;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.annotations.UpdateProvider;
+import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.type.JdbcType;
+
+@Mapper
+public interface MasteridMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=MasteridSqlProvider.class, method="countByExample")
+    long countByExample(MasteridExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @DeleteProvider(type=MasteridSqlProvider.class, method="deleteByExample")
+    int deleteByExample(MasteridExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Delete({
+        "delete from MASTERID",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int deleteByPrimaryKey(MasteridKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Insert({
+        "insert into MASTERID (CREATED)",
+        "values (#{created,jdbcType=TIMESTAMP})"
+    })
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insert(Masterid record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @InsertProvider(type=MasteridSqlProvider.class, method="insertSelective")
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insertSelective(Masterid record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=MasteridSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="CREATED", property="created", jdbcType=JdbcType.TIMESTAMP)
+    })
+    List<Masterid> selectByExampleWithRowbounds(MasteridExample example, RowBounds rowBounds);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=MasteridSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="CREATED", property="created", jdbcType=JdbcType.TIMESTAMP)
+    })
+    List<Masterid> selectByExample(MasteridExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Select({
+        "select",
+        "ID, CREATED",
+        "from MASTERID",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="CREATED", property="created", jdbcType=JdbcType.TIMESTAMP)
+    })
+    Masterid selectByPrimaryKey(MasteridKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=MasteridSqlProvider.class, method="updateByExampleSelective")
+    int updateByExampleSelective(@Param("record") Masterid record, @Param("example") MasteridExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=MasteridSqlProvider.class, method="updateByExample")
+    int updateByExample(@Param("record") Masterid record, @Param("example") MasteridExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=MasteridSqlProvider.class, method="updateByPrimaryKeySelective")
+    int updateByPrimaryKeySelective(Masterid record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Update({
+        "update MASTERID",
+        "set CREATED = #{created,jdbcType=TIMESTAMP}",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int updateByPrimaryKey(Masterid record);
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MasteridSqlProvider.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MasteridSqlProvider.java
new file mode 100644 (file)
index 0000000..b4e6365
--- /dev/null
@@ -0,0 +1,239 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Masterid;
+import hu.user.mediacube.rdb.model.MasteridExample.Criteria;
+import hu.user.mediacube.rdb.model.MasteridExample.Criterion;
+import hu.user.mediacube.rdb.model.MasteridExample;
+import java.util.List;
+import java.util.Map;
+import org.apache.ibatis.jdbc.SQL;
+
+public class MasteridSqlProvider {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String countByExample(MasteridExample example) {
+        SQL sql = new SQL();
+        sql.SELECT("count(*)").FROM("MASTERID");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String deleteByExample(MasteridExample example) {
+        SQL sql = new SQL();
+        sql.DELETE_FROM("MASTERID");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String insertSelective(Masterid record) {
+        SQL sql = new SQL();
+        sql.INSERT_INTO("MASTERID");
+        
+        if (record.getCreated() != null) {
+            sql.VALUES("CREATED", "#{created,jdbcType=TIMESTAMP}");
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String selectByExample(MasteridExample example) {
+        SQL sql = new SQL();
+        if (example != null && example.isDistinct()) {
+            sql.SELECT_DISTINCT("ID");
+        } else {
+            sql.SELECT("ID");
+        }
+        sql.SELECT("CREATED");
+        sql.FROM("MASTERID");
+        applyWhere(sql, example, false);
+        
+        if (example != null && example.getOrderByClause() != null) {
+            sql.ORDER_BY(example.getOrderByClause());
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExampleSelective(Map<String, Object> parameter) {
+        Masterid record = (Masterid) parameter.get("record");
+        MasteridExample example = (MasteridExample) parameter.get("example");
+        
+        SQL sql = new SQL();
+        sql.UPDATE("MASTERID");
+        
+        if (record.getId() != null) {
+            sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        }
+        
+        if (record.getCreated() != null) {
+            sql.SET("CREATED = #{record.created,jdbcType=TIMESTAMP}");
+        }
+        
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExample(Map<String, Object> parameter) {
+        SQL sql = new SQL();
+        sql.UPDATE("MASTERID");
+        
+        sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        sql.SET("CREATED = #{record.created,jdbcType=TIMESTAMP}");
+        
+        MasteridExample example = (MasteridExample) parameter.get("example");
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByPrimaryKeySelective(Masterid record) {
+        SQL sql = new SQL();
+        sql.UPDATE("MASTERID");
+        
+        if (record.getCreated() != null) {
+            sql.SET("CREATED = #{created,jdbcType=TIMESTAMP}");
+        }
+        
+        sql.WHERE("ID = #{id,jdbcType=BIGINT}");
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected void applyWhere(SQL sql, MasteridExample example, boolean includeExamplePhrase) {
+        if (example == null) {
+            return;
+        }
+        
+        String parmPhrase1;
+        String parmPhrase1_th;
+        String parmPhrase2;
+        String parmPhrase2_th;
+        String parmPhrase3;
+        String parmPhrase3_th;
+        if (includeExamplePhrase) {
+            parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        } else {
+            parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        }
+        
+        StringBuilder sb = new StringBuilder();
+        List<Criteria> oredCriteria = example.getOredCriteria();
+        boolean firstCriteria = true;
+        for (int i = 0; i < oredCriteria.size(); i++) {
+            Criteria criteria = oredCriteria.get(i);
+            if (criteria.isValid()) {
+                if (firstCriteria) {
+                    firstCriteria = false;
+                } else {
+                    sb.append(" or ");
+                }
+                
+                sb.append('(');
+                List<Criterion> criterions = criteria.getAllCriteria();
+                boolean firstCriterion = true;
+                for (int j = 0; j < criterions.size(); j++) {
+                    Criterion criterion = criterions.get(j);
+                    if (firstCriterion) {
+                        firstCriterion = false;
+                    } else {
+                        sb.append(" and ");
+                    }
+                    
+                    if (criterion.isNoValue()) {
+                        sb.append(criterion.getCondition());
+                    } else if (criterion.isSingleValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isBetweenValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isListValue()) {
+                        sb.append(criterion.getCondition());
+                        sb.append(" (");
+                        List<?> listItems = (List<?>) criterion.getValue();
+                        boolean comma = false;
+                        for (int k = 0; k < listItems.size(); k++) {
+                            if (comma) {
+                                sb.append(", ");
+                            } else {
+                                comma = true;
+                            }
+                            if (criterion.getTypeHandler() == null) {
+                                sb.append(String.format(parmPhrase3, i, j, k));
+                            } else {
+                                sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));
+                            }
+                        }
+                        sb.append(')');
+                    }
+                }
+                sb.append(')');
+            }
+        }
+        
+        if (sb.length() > 0) {
+            sql.WHERE(sb.toString());
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MediaMapper.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MediaMapper.java
new file mode 100644 (file)
index 0000000..fd58736
--- /dev/null
@@ -0,0 +1,278 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Media;
+import hu.user.mediacube.rdb.model.MediaExample;
+import hu.user.mediacube.rdb.model.MediaKey;
+import hu.user.mediacube.rdb.model.MediaWithBLOBs;
+import java.util.List;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.InsertProvider;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Result;
+import org.apache.ibatis.annotations.Results;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.annotations.UpdateProvider;
+import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.type.JdbcType;
+
+@Mapper
+public interface MediaMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=MediaSqlProvider.class, method="countByExample")
+    long countByExample(MediaExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @DeleteProvider(type=MediaSqlProvider.class, method="deleteByExample")
+    int deleteByExample(MediaExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Delete({
+        "delete from MEDIA",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int deleteByPrimaryKey(MediaKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Insert({
+        "insert into MEDIA (ID, ITEMID, ",
+        "ITEMTYPEID, HOUSEID, ",
+        "TITLE, DESCRIPTION, ",
+        "LENGTH, CREATED, ",
+        "MODIFIED, ARCHIVED, ",
+        "POSTER)",
+        "values (#{id,jdbcType=BIGINT}, #{itemid,jdbcType=BIGINT}, ",
+        "#{itemtypeid,jdbcType=BIGINT}, #{houseid,jdbcType=VARCHAR}, ",
+        "#{title,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, ",
+        "#{length,jdbcType=BIGINT}, #{created,jdbcType=TIMESTAMP}, ",
+        "#{modified,jdbcType=TIMESTAMP}, #{archived,jdbcType=TIMESTAMP}, ",
+        "#{poster,jdbcType=BLOB})"
+    })
+    int insert(MediaWithBLOBs record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @InsertProvider(type=MediaSqlProvider.class, method="insertSelective")
+    int insertSelective(MediaWithBLOBs record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=MediaSqlProvider.class, method="selectByExampleWithBLOBs")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="ITEMID", property="itemid", jdbcType=JdbcType.BIGINT),
+        @Result(column="ITEMTYPEID", property="itemtypeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="HOUSEID", property="houseid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="TITLE", property="title", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="LENGTH", property="length", jdbcType=JdbcType.BIGINT),
+        @Result(column="CREATED", property="created", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="MODIFIED", property="modified", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="ARCHIVED", property="archived", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="POSTER", property="poster", jdbcType=JdbcType.BLOB)
+    })
+    List<MediaWithBLOBs> selectByExampleWithBLOBsWithRowbounds(MediaExample example, RowBounds rowBounds);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=MediaSqlProvider.class, method="selectByExampleWithBLOBs")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="ITEMID", property="itemid", jdbcType=JdbcType.BIGINT),
+        @Result(column="ITEMTYPEID", property="itemtypeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="HOUSEID", property="houseid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="TITLE", property="title", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="LENGTH", property="length", jdbcType=JdbcType.BIGINT),
+        @Result(column="CREATED", property="created", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="MODIFIED", property="modified", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="ARCHIVED", property="archived", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="POSTER", property="poster", jdbcType=JdbcType.BLOB)
+    })
+    List<MediaWithBLOBs> selectByExampleWithBLOBs(MediaExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=MediaSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="ITEMID", property="itemid", jdbcType=JdbcType.BIGINT),
+        @Result(column="ITEMTYPEID", property="itemtypeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="HOUSEID", property="houseid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="TITLE", property="title", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="LENGTH", property="length", jdbcType=JdbcType.BIGINT),
+        @Result(column="CREATED", property="created", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="MODIFIED", property="modified", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="ARCHIVED", property="archived", jdbcType=JdbcType.TIMESTAMP)
+    })
+    List<Media> selectByExampleWithRowbounds(MediaExample example, RowBounds rowBounds);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=MediaSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="ITEMID", property="itemid", jdbcType=JdbcType.BIGINT),
+        @Result(column="ITEMTYPEID", property="itemtypeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="HOUSEID", property="houseid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="TITLE", property="title", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="LENGTH", property="length", jdbcType=JdbcType.BIGINT),
+        @Result(column="CREATED", property="created", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="MODIFIED", property="modified", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="ARCHIVED", property="archived", jdbcType=JdbcType.TIMESTAMP)
+    })
+    List<Media> selectByExample(MediaExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Select({
+        "select",
+        "ID, ITEMID, ITEMTYPEID, HOUSEID, TITLE, DESCRIPTION, LENGTH, CREATED, MODIFIED, ",
+        "ARCHIVED, POSTER",
+        "from MEDIA",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="ITEMID", property="itemid", jdbcType=JdbcType.BIGINT),
+        @Result(column="ITEMTYPEID", property="itemtypeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="HOUSEID", property="houseid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="TITLE", property="title", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DESCRIPTION", property="description", jdbcType=JdbcType.VARCHAR),
+        @Result(column="LENGTH", property="length", jdbcType=JdbcType.BIGINT),
+        @Result(column="CREATED", property="created", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="MODIFIED", property="modified", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="ARCHIVED", property="archived", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="POSTER", property="poster", jdbcType=JdbcType.BLOB)
+    })
+    MediaWithBLOBs selectByPrimaryKey(MediaKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=MediaSqlProvider.class, method="updateByExampleSelective")
+    int updateByExampleSelective(@Param("record") MediaWithBLOBs record, @Param("example") MediaExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=MediaSqlProvider.class, method="updateByExampleWithBLOBs")
+    int updateByExampleWithBLOBs(@Param("record") MediaWithBLOBs record, @Param("example") MediaExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=MediaSqlProvider.class, method="updateByExample")
+    int updateByExample(@Param("record") Media record, @Param("example") MediaExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=MediaSqlProvider.class, method="updateByPrimaryKeySelective")
+    int updateByPrimaryKeySelective(MediaWithBLOBs record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Update({
+        "update MEDIA",
+        "set ITEMID = #{itemid,jdbcType=BIGINT},",
+          "ITEMTYPEID = #{itemtypeid,jdbcType=BIGINT},",
+          "HOUSEID = #{houseid,jdbcType=VARCHAR},",
+          "TITLE = #{title,jdbcType=VARCHAR},",
+          "DESCRIPTION = #{description,jdbcType=VARCHAR},",
+          "LENGTH = #{length,jdbcType=BIGINT},",
+          "CREATED = #{created,jdbcType=TIMESTAMP},",
+          "MODIFIED = #{modified,jdbcType=TIMESTAMP},",
+          "ARCHIVED = #{archived,jdbcType=TIMESTAMP},",
+          "POSTER = #{poster,jdbcType=BLOB}",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int updateByPrimaryKeyWithBLOBs(MediaWithBLOBs record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Update({
+        "update MEDIA",
+        "set ITEMID = #{itemid,jdbcType=BIGINT},",
+          "ITEMTYPEID = #{itemtypeid,jdbcType=BIGINT},",
+          "HOUSEID = #{houseid,jdbcType=VARCHAR},",
+          "TITLE = #{title,jdbcType=VARCHAR},",
+          "DESCRIPTION = #{description,jdbcType=VARCHAR},",
+          "LENGTH = #{length,jdbcType=BIGINT},",
+          "CREATED = #{created,jdbcType=TIMESTAMP},",
+          "MODIFIED = #{modified,jdbcType=TIMESTAMP},",
+          "ARCHIVED = #{archived,jdbcType=TIMESTAMP}",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int updateByPrimaryKey(Media record);
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MediaSqlProvider.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MediaSqlProvider.java
new file mode 100644 (file)
index 0000000..87bcc03
--- /dev/null
@@ -0,0 +1,427 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.MediaExample.Criteria;
+import hu.user.mediacube.rdb.model.MediaExample.Criterion;
+import hu.user.mediacube.rdb.model.MediaExample;
+import hu.user.mediacube.rdb.model.MediaWithBLOBs;
+import java.util.List;
+import java.util.Map;
+import org.apache.ibatis.jdbc.SQL;
+
+public class MediaSqlProvider {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String countByExample(MediaExample example) {
+        SQL sql = new SQL();
+        sql.SELECT("count(*)").FROM("MEDIA");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String deleteByExample(MediaExample example) {
+        SQL sql = new SQL();
+        sql.DELETE_FROM("MEDIA");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String insertSelective(MediaWithBLOBs record) {
+        SQL sql = new SQL();
+        sql.INSERT_INTO("MEDIA");
+        
+        if (record.getId() != null) {
+            sql.VALUES("ID", "#{id,jdbcType=BIGINT}");
+        }
+        
+        if (record.getItemid() != null) {
+            sql.VALUES("ITEMID", "#{itemid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getItemtypeid() != null) {
+            sql.VALUES("ITEMTYPEID", "#{itemtypeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getHouseid() != null) {
+            sql.VALUES("HOUSEID", "#{houseid,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getTitle() != null) {
+            sql.VALUES("TITLE", "#{title,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDescription() != null) {
+            sql.VALUES("DESCRIPTION", "#{description,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getLength() != null) {
+            sql.VALUES("LENGTH", "#{length,jdbcType=BIGINT}");
+        }
+        
+        if (record.getCreated() != null) {
+            sql.VALUES("CREATED", "#{created,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getModified() != null) {
+            sql.VALUES("MODIFIED", "#{modified,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getArchived() != null) {
+            sql.VALUES("ARCHIVED", "#{archived,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getPoster() != null) {
+            sql.VALUES("POSTER", "#{poster,jdbcType=BLOB}");
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String selectByExampleWithBLOBs(MediaExample example) {
+        SQL sql = new SQL();
+        if (example != null && example.isDistinct()) {
+            sql.SELECT_DISTINCT("ID");
+        } else {
+            sql.SELECT("ID");
+        }
+        sql.SELECT("ITEMID");
+        sql.SELECT("ITEMTYPEID");
+        sql.SELECT("HOUSEID");
+        sql.SELECT("TITLE");
+        sql.SELECT("DESCRIPTION");
+        sql.SELECT("LENGTH");
+        sql.SELECT("CREATED");
+        sql.SELECT("MODIFIED");
+        sql.SELECT("ARCHIVED");
+        sql.SELECT("POSTER");
+        sql.FROM("MEDIA");
+        applyWhere(sql, example, false);
+        
+        if (example != null && example.getOrderByClause() != null) {
+            sql.ORDER_BY(example.getOrderByClause());
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String selectByExample(MediaExample example) {
+        SQL sql = new SQL();
+        if (example != null && example.isDistinct()) {
+            sql.SELECT_DISTINCT("ID");
+        } else {
+            sql.SELECT("ID");
+        }
+        sql.SELECT("ITEMID");
+        sql.SELECT("ITEMTYPEID");
+        sql.SELECT("HOUSEID");
+        sql.SELECT("TITLE");
+        sql.SELECT("DESCRIPTION");
+        sql.SELECT("LENGTH");
+        sql.SELECT("CREATED");
+        sql.SELECT("MODIFIED");
+        sql.SELECT("ARCHIVED");
+        sql.FROM("MEDIA");
+        applyWhere(sql, example, false);
+        
+        if (example != null && example.getOrderByClause() != null) {
+            sql.ORDER_BY(example.getOrderByClause());
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExampleSelective(Map<String, Object> parameter) {
+        MediaWithBLOBs record = (MediaWithBLOBs) parameter.get("record");
+        MediaExample example = (MediaExample) parameter.get("example");
+        
+        SQL sql = new SQL();
+        sql.UPDATE("MEDIA");
+        
+        if (record.getId() != null) {
+            sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        }
+        
+        if (record.getItemid() != null) {
+            sql.SET("ITEMID = #{record.itemid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getItemtypeid() != null) {
+            sql.SET("ITEMTYPEID = #{record.itemtypeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getHouseid() != null) {
+            sql.SET("HOUSEID = #{record.houseid,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getTitle() != null) {
+            sql.SET("TITLE = #{record.title,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDescription() != null) {
+            sql.SET("DESCRIPTION = #{record.description,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getLength() != null) {
+            sql.SET("LENGTH = #{record.length,jdbcType=BIGINT}");
+        }
+        
+        if (record.getCreated() != null) {
+            sql.SET("CREATED = #{record.created,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getModified() != null) {
+            sql.SET("MODIFIED = #{record.modified,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getArchived() != null) {
+            sql.SET("ARCHIVED = #{record.archived,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getPoster() != null) {
+            sql.SET("POSTER = #{record.poster,jdbcType=BLOB}");
+        }
+        
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExampleWithBLOBs(Map<String, Object> parameter) {
+        SQL sql = new SQL();
+        sql.UPDATE("MEDIA");
+        
+        sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        sql.SET("ITEMID = #{record.itemid,jdbcType=BIGINT}");
+        sql.SET("ITEMTYPEID = #{record.itemtypeid,jdbcType=BIGINT}");
+        sql.SET("HOUSEID = #{record.houseid,jdbcType=VARCHAR}");
+        sql.SET("TITLE = #{record.title,jdbcType=VARCHAR}");
+        sql.SET("DESCRIPTION = #{record.description,jdbcType=VARCHAR}");
+        sql.SET("LENGTH = #{record.length,jdbcType=BIGINT}");
+        sql.SET("CREATED = #{record.created,jdbcType=TIMESTAMP}");
+        sql.SET("MODIFIED = #{record.modified,jdbcType=TIMESTAMP}");
+        sql.SET("ARCHIVED = #{record.archived,jdbcType=TIMESTAMP}");
+        sql.SET("POSTER = #{record.poster,jdbcType=BLOB}");
+        
+        MediaExample example = (MediaExample) parameter.get("example");
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExample(Map<String, Object> parameter) {
+        SQL sql = new SQL();
+        sql.UPDATE("MEDIA");
+        
+        sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        sql.SET("ITEMID = #{record.itemid,jdbcType=BIGINT}");
+        sql.SET("ITEMTYPEID = #{record.itemtypeid,jdbcType=BIGINT}");
+        sql.SET("HOUSEID = #{record.houseid,jdbcType=VARCHAR}");
+        sql.SET("TITLE = #{record.title,jdbcType=VARCHAR}");
+        sql.SET("DESCRIPTION = #{record.description,jdbcType=VARCHAR}");
+        sql.SET("LENGTH = #{record.length,jdbcType=BIGINT}");
+        sql.SET("CREATED = #{record.created,jdbcType=TIMESTAMP}");
+        sql.SET("MODIFIED = #{record.modified,jdbcType=TIMESTAMP}");
+        sql.SET("ARCHIVED = #{record.archived,jdbcType=TIMESTAMP}");
+        
+        MediaExample example = (MediaExample) parameter.get("example");
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByPrimaryKeySelective(MediaWithBLOBs record) {
+        SQL sql = new SQL();
+        sql.UPDATE("MEDIA");
+        
+        if (record.getItemid() != null) {
+            sql.SET("ITEMID = #{itemid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getItemtypeid() != null) {
+            sql.SET("ITEMTYPEID = #{itemtypeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getHouseid() != null) {
+            sql.SET("HOUSEID = #{houseid,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getTitle() != null) {
+            sql.SET("TITLE = #{title,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDescription() != null) {
+            sql.SET("DESCRIPTION = #{description,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getLength() != null) {
+            sql.SET("LENGTH = #{length,jdbcType=BIGINT}");
+        }
+        
+        if (record.getCreated() != null) {
+            sql.SET("CREATED = #{created,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getModified() != null) {
+            sql.SET("MODIFIED = #{modified,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getArchived() != null) {
+            sql.SET("ARCHIVED = #{archived,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getPoster() != null) {
+            sql.SET("POSTER = #{poster,jdbcType=BLOB}");
+        }
+        
+        sql.WHERE("ID = #{id,jdbcType=BIGINT}");
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected void applyWhere(SQL sql, MediaExample example, boolean includeExamplePhrase) {
+        if (example == null) {
+            return;
+        }
+        
+        String parmPhrase1;
+        String parmPhrase1_th;
+        String parmPhrase2;
+        String parmPhrase2_th;
+        String parmPhrase3;
+        String parmPhrase3_th;
+        if (includeExamplePhrase) {
+            parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        } else {
+            parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        }
+        
+        StringBuilder sb = new StringBuilder();
+        List<Criteria> oredCriteria = example.getOredCriteria();
+        boolean firstCriteria = true;
+        for (int i = 0; i < oredCriteria.size(); i++) {
+            Criteria criteria = oredCriteria.get(i);
+            if (criteria.isValid()) {
+                if (firstCriteria) {
+                    firstCriteria = false;
+                } else {
+                    sb.append(" or ");
+                }
+                
+                sb.append('(');
+                List<Criterion> criterions = criteria.getAllCriteria();
+                boolean firstCriterion = true;
+                for (int j = 0; j < criterions.size(); j++) {
+                    Criterion criterion = criterions.get(j);
+                    if (firstCriterion) {
+                        firstCriterion = false;
+                    } else {
+                        sb.append(" and ");
+                    }
+                    
+                    if (criterion.isNoValue()) {
+                        sb.append(criterion.getCondition());
+                    } else if (criterion.isSingleValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isBetweenValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isListValue()) {
+                        sb.append(criterion.getCondition());
+                        sb.append(" (");
+                        List<?> listItems = (List<?>) criterion.getValue();
+                        boolean comma = false;
+                        for (int k = 0; k < listItems.size(); k++) {
+                            if (comma) {
+                                sb.append(", ");
+                            } else {
+                                comma = true;
+                            }
+                            if (criterion.getTypeHandler() == null) {
+                                sb.append(String.format(parmPhrase3, i, j, k));
+                            } else {
+                                sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));
+                            }
+                        }
+                        sb.append(')');
+                    }
+                }
+                sb.append(')');
+            }
+        }
+        
+        if (sb.length() > 0) {
+            sql.WHERE(sb.toString());
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MediafileMapper.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MediafileMapper.java
new file mode 100644 (file)
index 0000000..fa81abb
--- /dev/null
@@ -0,0 +1,196 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Mediafile;
+import hu.user.mediacube.rdb.model.MediafileExample;
+import hu.user.mediacube.rdb.model.MediafileKey;
+import java.util.List;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.InsertProvider;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Result;
+import org.apache.ibatis.annotations.Results;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.annotations.UpdateProvider;
+import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.type.JdbcType;
+
+@Mapper
+public interface MediafileMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=MediafileSqlProvider.class, method="countByExample")
+    long countByExample(MediafileExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @DeleteProvider(type=MediafileSqlProvider.class, method="deleteByExample")
+    int deleteByExample(MediafileExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Delete({
+        "delete from MEDIAFILE",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int deleteByPrimaryKey(MediafileKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Insert({
+        "insert into MEDIAFILE (HOUSEID, MEDIAID, ",
+        "STOREID, FILETYPEID, ",
+        "RELATIVEPATH, FILESTRUCTINFO, ",
+        "FILESIZE, LASTMODIFIED)",
+        "values (#{houseid,jdbcType=VARCHAR}, #{mediaid,jdbcType=BIGINT}, ",
+        "#{storeid,jdbcType=BIGINT}, #{filetypeid,jdbcType=BIGINT}, ",
+        "#{relativepath,jdbcType=VARCHAR}, #{filestructinfo,jdbcType=VARCHAR}, ",
+        "#{filesize,jdbcType=BIGINT}, #{lastmodified,jdbcType=TIMESTAMP})"
+    })
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insert(Mediafile record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @InsertProvider(type=MediafileSqlProvider.class, method="insertSelective")
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insertSelective(Mediafile record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=MediafileSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="HOUSEID", property="houseid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="MEDIAID", property="mediaid", jdbcType=JdbcType.BIGINT),
+        @Result(column="STOREID", property="storeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="FILETYPEID", property="filetypeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="RELATIVEPATH", property="relativepath", jdbcType=JdbcType.VARCHAR),
+        @Result(column="FILESTRUCTINFO", property="filestructinfo", jdbcType=JdbcType.VARCHAR),
+        @Result(column="FILESIZE", property="filesize", jdbcType=JdbcType.BIGINT),
+        @Result(column="LASTMODIFIED", property="lastmodified", jdbcType=JdbcType.TIMESTAMP)
+    })
+    List<Mediafile> selectByExampleWithRowbounds(MediafileExample example, RowBounds rowBounds);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=MediafileSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="HOUSEID", property="houseid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="MEDIAID", property="mediaid", jdbcType=JdbcType.BIGINT),
+        @Result(column="STOREID", property="storeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="FILETYPEID", property="filetypeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="RELATIVEPATH", property="relativepath", jdbcType=JdbcType.VARCHAR),
+        @Result(column="FILESTRUCTINFO", property="filestructinfo", jdbcType=JdbcType.VARCHAR),
+        @Result(column="FILESIZE", property="filesize", jdbcType=JdbcType.BIGINT),
+        @Result(column="LASTMODIFIED", property="lastmodified", jdbcType=JdbcType.TIMESTAMP)
+    })
+    List<Mediafile> selectByExample(MediafileExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Select({
+        "select",
+        "ID, HOUSEID, MEDIAID, STOREID, FILETYPEID, RELATIVEPATH, FILESTRUCTINFO, FILESIZE, ",
+        "LASTMODIFIED",
+        "from MEDIAFILE",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="HOUSEID", property="houseid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="MEDIAID", property="mediaid", jdbcType=JdbcType.BIGINT),
+        @Result(column="STOREID", property="storeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="FILETYPEID", property="filetypeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="RELATIVEPATH", property="relativepath", jdbcType=JdbcType.VARCHAR),
+        @Result(column="FILESTRUCTINFO", property="filestructinfo", jdbcType=JdbcType.VARCHAR),
+        @Result(column="FILESIZE", property="filesize", jdbcType=JdbcType.BIGINT),
+        @Result(column="LASTMODIFIED", property="lastmodified", jdbcType=JdbcType.TIMESTAMP)
+    })
+    Mediafile selectByPrimaryKey(MediafileKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=MediafileSqlProvider.class, method="updateByExampleSelective")
+    int updateByExampleSelective(@Param("record") Mediafile record, @Param("example") MediafileExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=MediafileSqlProvider.class, method="updateByExample")
+    int updateByExample(@Param("record") Mediafile record, @Param("example") MediafileExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=MediafileSqlProvider.class, method="updateByPrimaryKeySelective")
+    int updateByPrimaryKeySelective(Mediafile record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Update({
+        "update MEDIAFILE",
+        "set HOUSEID = #{houseid,jdbcType=VARCHAR},",
+          "MEDIAID = #{mediaid,jdbcType=BIGINT},",
+          "STOREID = #{storeid,jdbcType=BIGINT},",
+          "FILETYPEID = #{filetypeid,jdbcType=BIGINT},",
+          "RELATIVEPATH = #{relativepath,jdbcType=VARCHAR},",
+          "FILESTRUCTINFO = #{filestructinfo,jdbcType=VARCHAR},",
+          "FILESIZE = #{filesize,jdbcType=BIGINT},",
+          "LASTMODIFIED = #{lastmodified,jdbcType=TIMESTAMP}",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int updateByPrimaryKey(Mediafile record);
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MediafileSqlProvider.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/MediafileSqlProvider.java
new file mode 100644 (file)
index 0000000..a765b9a
--- /dev/null
@@ -0,0 +1,337 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Mediafile;
+import hu.user.mediacube.rdb.model.MediafileExample.Criteria;
+import hu.user.mediacube.rdb.model.MediafileExample.Criterion;
+import hu.user.mediacube.rdb.model.MediafileExample;
+import java.util.List;
+import java.util.Map;
+import org.apache.ibatis.jdbc.SQL;
+
+public class MediafileSqlProvider {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String countByExample(MediafileExample example) {
+        SQL sql = new SQL();
+        sql.SELECT("count(*)").FROM("MEDIAFILE");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String deleteByExample(MediafileExample example) {
+        SQL sql = new SQL();
+        sql.DELETE_FROM("MEDIAFILE");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String insertSelective(Mediafile record) {
+        SQL sql = new SQL();
+        sql.INSERT_INTO("MEDIAFILE");
+        
+        if (record.getHouseid() != null) {
+            sql.VALUES("HOUSEID", "#{houseid,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getMediaid() != null) {
+            sql.VALUES("MEDIAID", "#{mediaid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getStoreid() != null) {
+            sql.VALUES("STOREID", "#{storeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getFiletypeid() != null) {
+            sql.VALUES("FILETYPEID", "#{filetypeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getRelativepath() != null) {
+            sql.VALUES("RELATIVEPATH", "#{relativepath,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getFilestructinfo() != null) {
+            sql.VALUES("FILESTRUCTINFO", "#{filestructinfo,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getFilesize() != null) {
+            sql.VALUES("FILESIZE", "#{filesize,jdbcType=BIGINT}");
+        }
+        
+        if (record.getLastmodified() != null) {
+            sql.VALUES("LASTMODIFIED", "#{lastmodified,jdbcType=TIMESTAMP}");
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String selectByExample(MediafileExample example) {
+        SQL sql = new SQL();
+        if (example != null && example.isDistinct()) {
+            sql.SELECT_DISTINCT("ID");
+        } else {
+            sql.SELECT("ID");
+        }
+        sql.SELECT("HOUSEID");
+        sql.SELECT("MEDIAID");
+        sql.SELECT("STOREID");
+        sql.SELECT("FILETYPEID");
+        sql.SELECT("RELATIVEPATH");
+        sql.SELECT("FILESTRUCTINFO");
+        sql.SELECT("FILESIZE");
+        sql.SELECT("LASTMODIFIED");
+        sql.FROM("MEDIAFILE");
+        applyWhere(sql, example, false);
+        
+        if (example != null && example.getOrderByClause() != null) {
+            sql.ORDER_BY(example.getOrderByClause());
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExampleSelective(Map<String, Object> parameter) {
+        Mediafile record = (Mediafile) parameter.get("record");
+        MediafileExample example = (MediafileExample) parameter.get("example");
+        
+        SQL sql = new SQL();
+        sql.UPDATE("MEDIAFILE");
+        
+        if (record.getId() != null) {
+            sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        }
+        
+        if (record.getHouseid() != null) {
+            sql.SET("HOUSEID = #{record.houseid,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getMediaid() != null) {
+            sql.SET("MEDIAID = #{record.mediaid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getStoreid() != null) {
+            sql.SET("STOREID = #{record.storeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getFiletypeid() != null) {
+            sql.SET("FILETYPEID = #{record.filetypeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getRelativepath() != null) {
+            sql.SET("RELATIVEPATH = #{record.relativepath,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getFilestructinfo() != null) {
+            sql.SET("FILESTRUCTINFO = #{record.filestructinfo,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getFilesize() != null) {
+            sql.SET("FILESIZE = #{record.filesize,jdbcType=BIGINT}");
+        }
+        
+        if (record.getLastmodified() != null) {
+            sql.SET("LASTMODIFIED = #{record.lastmodified,jdbcType=TIMESTAMP}");
+        }
+        
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExample(Map<String, Object> parameter) {
+        SQL sql = new SQL();
+        sql.UPDATE("MEDIAFILE");
+        
+        sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        sql.SET("HOUSEID = #{record.houseid,jdbcType=VARCHAR}");
+        sql.SET("MEDIAID = #{record.mediaid,jdbcType=BIGINT}");
+        sql.SET("STOREID = #{record.storeid,jdbcType=BIGINT}");
+        sql.SET("FILETYPEID = #{record.filetypeid,jdbcType=BIGINT}");
+        sql.SET("RELATIVEPATH = #{record.relativepath,jdbcType=VARCHAR}");
+        sql.SET("FILESTRUCTINFO = #{record.filestructinfo,jdbcType=VARCHAR}");
+        sql.SET("FILESIZE = #{record.filesize,jdbcType=BIGINT}");
+        sql.SET("LASTMODIFIED = #{record.lastmodified,jdbcType=TIMESTAMP}");
+        
+        MediafileExample example = (MediafileExample) parameter.get("example");
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByPrimaryKeySelective(Mediafile record) {
+        SQL sql = new SQL();
+        sql.UPDATE("MEDIAFILE");
+        
+        if (record.getHouseid() != null) {
+            sql.SET("HOUSEID = #{houseid,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getMediaid() != null) {
+            sql.SET("MEDIAID = #{mediaid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getStoreid() != null) {
+            sql.SET("STOREID = #{storeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getFiletypeid() != null) {
+            sql.SET("FILETYPEID = #{filetypeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getRelativepath() != null) {
+            sql.SET("RELATIVEPATH = #{relativepath,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getFilestructinfo() != null) {
+            sql.SET("FILESTRUCTINFO = #{filestructinfo,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getFilesize() != null) {
+            sql.SET("FILESIZE = #{filesize,jdbcType=BIGINT}");
+        }
+        
+        if (record.getLastmodified() != null) {
+            sql.SET("LASTMODIFIED = #{lastmodified,jdbcType=TIMESTAMP}");
+        }
+        
+        sql.WHERE("ID = #{id,jdbcType=BIGINT}");
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected void applyWhere(SQL sql, MediafileExample example, boolean includeExamplePhrase) {
+        if (example == null) {
+            return;
+        }
+        
+        String parmPhrase1;
+        String parmPhrase1_th;
+        String parmPhrase2;
+        String parmPhrase2_th;
+        String parmPhrase3;
+        String parmPhrase3_th;
+        if (includeExamplePhrase) {
+            parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        } else {
+            parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        }
+        
+        StringBuilder sb = new StringBuilder();
+        List<Criteria> oredCriteria = example.getOredCriteria();
+        boolean firstCriteria = true;
+        for (int i = 0; i < oredCriteria.size(); i++) {
+            Criteria criteria = oredCriteria.get(i);
+            if (criteria.isValid()) {
+                if (firstCriteria) {
+                    firstCriteria = false;
+                } else {
+                    sb.append(" or ");
+                }
+                
+                sb.append('(');
+                List<Criterion> criterions = criteria.getAllCriteria();
+                boolean firstCriterion = true;
+                for (int j = 0; j < criterions.size(); j++) {
+                    Criterion criterion = criterions.get(j);
+                    if (firstCriterion) {
+                        firstCriterion = false;
+                    } else {
+                        sb.append(" and ");
+                    }
+                    
+                    if (criterion.isNoValue()) {
+                        sb.append(criterion.getCondition());
+                    } else if (criterion.isSingleValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isBetweenValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isListValue()) {
+                        sb.append(criterion.getCondition());
+                        sb.append(" (");
+                        List<?> listItems = (List<?>) criterion.getValue();
+                        boolean comma = false;
+                        for (int k = 0; k < listItems.size(); k++) {
+                            if (comma) {
+                                sb.append(", ");
+                            } else {
+                                comma = true;
+                            }
+                            if (criterion.getTypeHandler() == null) {
+                                sb.append(String.format(parmPhrase3, i, j, k));
+                            } else {
+                                sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));
+                            }
+                        }
+                        sb.append(')');
+                    }
+                }
+                sb.append(')');
+            }
+        }
+        
+        if (sb.length() > 0) {
+            sql.WHERE(sb.toString());
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/StoreMapper.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/StoreMapper.java
new file mode 100644 (file)
index 0000000..2e95cf8
--- /dev/null
@@ -0,0 +1,171 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Store;
+import hu.user.mediacube.rdb.model.StoreExample;
+import hu.user.mediacube.rdb.model.StoreKey;
+import java.util.List;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.InsertProvider;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Result;
+import org.apache.ibatis.annotations.Results;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.annotations.UpdateProvider;
+import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.type.JdbcType;
+
+@Mapper
+public interface StoreMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=StoreSqlProvider.class, method="countByExample")
+    long countByExample(StoreExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @DeleteProvider(type=StoreSqlProvider.class, method="deleteByExample")
+    int deleteByExample(StoreExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Delete({
+        "delete from STORE",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int deleteByPrimaryKey(StoreKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Insert({
+        "insert into STORE (NAME, ISSYSTEM, ",
+        "ISLOWRES)",
+        "values (#{name,jdbcType=VARCHAR}, #{issystem,jdbcType=CHAR}, ",
+        "#{islowres,jdbcType=CHAR})"
+    })
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insert(Store record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @InsertProvider(type=StoreSqlProvider.class, method="insertSelective")
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insertSelective(Store record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=StoreSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="NAME", property="name", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ISSYSTEM", property="issystem", jdbcType=JdbcType.CHAR),
+        @Result(column="ISLOWRES", property="islowres", jdbcType=JdbcType.CHAR)
+    })
+    List<Store> selectByExampleWithRowbounds(StoreExample example, RowBounds rowBounds);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=StoreSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="NAME", property="name", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ISSYSTEM", property="issystem", jdbcType=JdbcType.CHAR),
+        @Result(column="ISLOWRES", property="islowres", jdbcType=JdbcType.CHAR)
+    })
+    List<Store> selectByExample(StoreExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Select({
+        "select",
+        "ID, NAME, ISSYSTEM, ISLOWRES",
+        "from STORE",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="NAME", property="name", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ISSYSTEM", property="issystem", jdbcType=JdbcType.CHAR),
+        @Result(column="ISLOWRES", property="islowres", jdbcType=JdbcType.CHAR)
+    })
+    Store selectByPrimaryKey(StoreKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=StoreSqlProvider.class, method="updateByExampleSelective")
+    int updateByExampleSelective(@Param("record") Store record, @Param("example") StoreExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=StoreSqlProvider.class, method="updateByExample")
+    int updateByExample(@Param("record") Store record, @Param("example") StoreExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=StoreSqlProvider.class, method="updateByPrimaryKeySelective")
+    int updateByPrimaryKeySelective(Store record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Update({
+        "update STORE",
+        "set NAME = #{name,jdbcType=VARCHAR},",
+          "ISSYSTEM = #{issystem,jdbcType=CHAR},",
+          "ISLOWRES = #{islowres,jdbcType=CHAR}",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int updateByPrimaryKey(Store record);
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/StoreSqlProvider.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/StoreSqlProvider.java
new file mode 100644 (file)
index 0000000..8e9a384
--- /dev/null
@@ -0,0 +1,267 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Store;
+import hu.user.mediacube.rdb.model.StoreExample.Criteria;
+import hu.user.mediacube.rdb.model.StoreExample.Criterion;
+import hu.user.mediacube.rdb.model.StoreExample;
+import java.util.List;
+import java.util.Map;
+import org.apache.ibatis.jdbc.SQL;
+
+public class StoreSqlProvider {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String countByExample(StoreExample example) {
+        SQL sql = new SQL();
+        sql.SELECT("count(*)").FROM("STORE");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String deleteByExample(StoreExample example) {
+        SQL sql = new SQL();
+        sql.DELETE_FROM("STORE");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String insertSelective(Store record) {
+        SQL sql = new SQL();
+        sql.INSERT_INTO("STORE");
+        
+        if (record.getName() != null) {
+            sql.VALUES("NAME", "#{name,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getIssystem() != null) {
+            sql.VALUES("ISSYSTEM", "#{issystem,jdbcType=CHAR}");
+        }
+        
+        if (record.getIslowres() != null) {
+            sql.VALUES("ISLOWRES", "#{islowres,jdbcType=CHAR}");
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String selectByExample(StoreExample example) {
+        SQL sql = new SQL();
+        if (example != null && example.isDistinct()) {
+            sql.SELECT_DISTINCT("ID");
+        } else {
+            sql.SELECT("ID");
+        }
+        sql.SELECT("NAME");
+        sql.SELECT("ISSYSTEM");
+        sql.SELECT("ISLOWRES");
+        sql.FROM("STORE");
+        applyWhere(sql, example, false);
+        
+        if (example != null && example.getOrderByClause() != null) {
+            sql.ORDER_BY(example.getOrderByClause());
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExampleSelective(Map<String, Object> parameter) {
+        Store record = (Store) parameter.get("record");
+        StoreExample example = (StoreExample) parameter.get("example");
+        
+        SQL sql = new SQL();
+        sql.UPDATE("STORE");
+        
+        if (record.getId() != null) {
+            sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        }
+        
+        if (record.getName() != null) {
+            sql.SET("NAME = #{record.name,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getIssystem() != null) {
+            sql.SET("ISSYSTEM = #{record.issystem,jdbcType=CHAR}");
+        }
+        
+        if (record.getIslowres() != null) {
+            sql.SET("ISLOWRES = #{record.islowres,jdbcType=CHAR}");
+        }
+        
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExample(Map<String, Object> parameter) {
+        SQL sql = new SQL();
+        sql.UPDATE("STORE");
+        
+        sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        sql.SET("NAME = #{record.name,jdbcType=VARCHAR}");
+        sql.SET("ISSYSTEM = #{record.issystem,jdbcType=CHAR}");
+        sql.SET("ISLOWRES = #{record.islowres,jdbcType=CHAR}");
+        
+        StoreExample example = (StoreExample) parameter.get("example");
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByPrimaryKeySelective(Store record) {
+        SQL sql = new SQL();
+        sql.UPDATE("STORE");
+        
+        if (record.getName() != null) {
+            sql.SET("NAME = #{name,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getIssystem() != null) {
+            sql.SET("ISSYSTEM = #{issystem,jdbcType=CHAR}");
+        }
+        
+        if (record.getIslowres() != null) {
+            sql.SET("ISLOWRES = #{islowres,jdbcType=CHAR}");
+        }
+        
+        sql.WHERE("ID = #{id,jdbcType=BIGINT}");
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected void applyWhere(SQL sql, StoreExample example, boolean includeExamplePhrase) {
+        if (example == null) {
+            return;
+        }
+        
+        String parmPhrase1;
+        String parmPhrase1_th;
+        String parmPhrase2;
+        String parmPhrase2_th;
+        String parmPhrase3;
+        String parmPhrase3_th;
+        if (includeExamplePhrase) {
+            parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        } else {
+            parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        }
+        
+        StringBuilder sb = new StringBuilder();
+        List<Criteria> oredCriteria = example.getOredCriteria();
+        boolean firstCriteria = true;
+        for (int i = 0; i < oredCriteria.size(); i++) {
+            Criteria criteria = oredCriteria.get(i);
+            if (criteria.isValid()) {
+                if (firstCriteria) {
+                    firstCriteria = false;
+                } else {
+                    sb.append(" or ");
+                }
+                
+                sb.append('(');
+                List<Criterion> criterions = criteria.getAllCriteria();
+                boolean firstCriterion = true;
+                for (int j = 0; j < criterions.size(); j++) {
+                    Criterion criterion = criterions.get(j);
+                    if (firstCriterion) {
+                        firstCriterion = false;
+                    } else {
+                        sb.append(" and ");
+                    }
+                    
+                    if (criterion.isNoValue()) {
+                        sb.append(criterion.getCondition());
+                    } else if (criterion.isSingleValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isBetweenValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isListValue()) {
+                        sb.append(criterion.getCondition());
+                        sb.append(" (");
+                        List<?> listItems = (List<?>) criterion.getValue();
+                        boolean comma = false;
+                        for (int k = 0; k < listItems.size(); k++) {
+                            if (comma) {
+                                sb.append(", ");
+                            } else {
+                                comma = true;
+                            }
+                            if (criterion.getTypeHandler() == null) {
+                                sb.append(String.format(parmPhrase3, i, j, k));
+                            } else {
+                                sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));
+                            }
+                        }
+                        sb.append(')');
+                    }
+                }
+                sb.append(')');
+            }
+        }
+        
+        if (sb.length() > 0) {
+            sql.WHERE(sb.toString());
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/StoreuriMapper.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/StoreuriMapper.java
new file mode 100644 (file)
index 0000000..a8db10b
--- /dev/null
@@ -0,0 +1,210 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Storeuri;
+import hu.user.mediacube.rdb.model.StoreuriExample;
+import hu.user.mediacube.rdb.model.StoreuriKey;
+import java.util.List;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.InsertProvider;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Result;
+import org.apache.ibatis.annotations.Results;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.annotations.UpdateProvider;
+import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.type.JdbcType;
+
+@Mapper
+public interface StoreuriMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=StoreuriSqlProvider.class, method="countByExample")
+    long countByExample(StoreuriExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @DeleteProvider(type=StoreuriSqlProvider.class, method="deleteByExample")
+    int deleteByExample(StoreuriExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Delete({
+        "delete from STOREURI",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int deleteByPrimaryKey(StoreuriKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Insert({
+        "insert into STOREURI (STOREID, PROTOCOL, ",
+        "DELIVERY, URI, ISSTREAM, ",
+        "ISSOURCE, ISTARGET, USERNAME, ",
+        "PASSWORD, ROOTPATH, ",
+        "PORTNUMBER)",
+        "values (#{storeid,jdbcType=BIGINT}, #{protocol,jdbcType=VARCHAR}, ",
+        "#{delivery,jdbcType=VARCHAR}, #{uri,jdbcType=VARCHAR}, #{isstream,jdbcType=CHAR}, ",
+        "#{issource,jdbcType=CHAR}, #{istarget,jdbcType=CHAR}, #{username,jdbcType=VARCHAR}, ",
+        "#{password,jdbcType=VARCHAR}, #{rootpath,jdbcType=VARCHAR}, ",
+        "#{portnumber,jdbcType=INTEGER})"
+    })
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insert(Storeuri record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @InsertProvider(type=StoreuriSqlProvider.class, method="insertSelective")
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insertSelective(Storeuri record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=StoreuriSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="STOREID", property="storeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="PROTOCOL", property="protocol", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DELIVERY", property="delivery", jdbcType=JdbcType.VARCHAR),
+        @Result(column="URI", property="uri", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ISSTREAM", property="isstream", jdbcType=JdbcType.CHAR),
+        @Result(column="ISSOURCE", property="issource", jdbcType=JdbcType.CHAR),
+        @Result(column="ISTARGET", property="istarget", jdbcType=JdbcType.CHAR),
+        @Result(column="USERNAME", property="username", jdbcType=JdbcType.VARCHAR),
+        @Result(column="PASSWORD", property="password", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ROOTPATH", property="rootpath", jdbcType=JdbcType.VARCHAR),
+        @Result(column="PORTNUMBER", property="portnumber", jdbcType=JdbcType.INTEGER)
+    })
+    List<Storeuri> selectByExampleWithRowbounds(StoreuriExample example, RowBounds rowBounds);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @SelectProvider(type=StoreuriSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="STOREID", property="storeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="PROTOCOL", property="protocol", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DELIVERY", property="delivery", jdbcType=JdbcType.VARCHAR),
+        @Result(column="URI", property="uri", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ISSTREAM", property="isstream", jdbcType=JdbcType.CHAR),
+        @Result(column="ISSOURCE", property="issource", jdbcType=JdbcType.CHAR),
+        @Result(column="ISTARGET", property="istarget", jdbcType=JdbcType.CHAR),
+        @Result(column="USERNAME", property="username", jdbcType=JdbcType.VARCHAR),
+        @Result(column="PASSWORD", property="password", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ROOTPATH", property="rootpath", jdbcType=JdbcType.VARCHAR),
+        @Result(column="PORTNUMBER", property="portnumber", jdbcType=JdbcType.INTEGER)
+    })
+    List<Storeuri> selectByExample(StoreuriExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Select({
+        "select",
+        "ID, STOREID, PROTOCOL, DELIVERY, URI, ISSTREAM, ISSOURCE, ISTARGET, USERNAME, ",
+        "PASSWORD, ROOTPATH, PORTNUMBER",
+        "from STOREURI",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    @Results({
+        @Result(column="ID", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="STOREID", property="storeid", jdbcType=JdbcType.BIGINT),
+        @Result(column="PROTOCOL", property="protocol", jdbcType=JdbcType.VARCHAR),
+        @Result(column="DELIVERY", property="delivery", jdbcType=JdbcType.VARCHAR),
+        @Result(column="URI", property="uri", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ISSTREAM", property="isstream", jdbcType=JdbcType.CHAR),
+        @Result(column="ISSOURCE", property="issource", jdbcType=JdbcType.CHAR),
+        @Result(column="ISTARGET", property="istarget", jdbcType=JdbcType.CHAR),
+        @Result(column="USERNAME", property="username", jdbcType=JdbcType.VARCHAR),
+        @Result(column="PASSWORD", property="password", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ROOTPATH", property="rootpath", jdbcType=JdbcType.VARCHAR),
+        @Result(column="PORTNUMBER", property="portnumber", jdbcType=JdbcType.INTEGER)
+    })
+    Storeuri selectByPrimaryKey(StoreuriKey key);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=StoreuriSqlProvider.class, method="updateByExampleSelective")
+    int updateByExampleSelective(@Param("record") Storeuri record, @Param("example") StoreuriExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=StoreuriSqlProvider.class, method="updateByExample")
+    int updateByExample(@Param("record") Storeuri record, @Param("example") StoreuriExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @UpdateProvider(type=StoreuriSqlProvider.class, method="updateByPrimaryKeySelective")
+    int updateByPrimaryKeySelective(Storeuri record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Update({
+        "update STOREURI",
+        "set STOREID = #{storeid,jdbcType=BIGINT},",
+          "PROTOCOL = #{protocol,jdbcType=VARCHAR},",
+          "DELIVERY = #{delivery,jdbcType=VARCHAR},",
+          "URI = #{uri,jdbcType=VARCHAR},",
+          "ISSTREAM = #{isstream,jdbcType=CHAR},",
+          "ISSOURCE = #{issource,jdbcType=CHAR},",
+          "ISTARGET = #{istarget,jdbcType=CHAR},",
+          "USERNAME = #{username,jdbcType=VARCHAR},",
+          "PASSWORD = #{password,jdbcType=VARCHAR},",
+          "ROOTPATH = #{rootpath,jdbcType=VARCHAR},",
+          "PORTNUMBER = #{portnumber,jdbcType=INTEGER}",
+        "where ID = #{id,jdbcType=BIGINT}"
+    })
+    int updateByPrimaryKey(Storeuri record);
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/StoreuriSqlProvider.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/StoreuriSqlProvider.java
new file mode 100644 (file)
index 0000000..fa51682
--- /dev/null
@@ -0,0 +1,379 @@
+package hu.user.mediacube.rdb;
+
+import hu.user.mediacube.rdb.model.Storeuri;
+import hu.user.mediacube.rdb.model.StoreuriExample.Criteria;
+import hu.user.mediacube.rdb.model.StoreuriExample.Criterion;
+import hu.user.mediacube.rdb.model.StoreuriExample;
+import java.util.List;
+import java.util.Map;
+import org.apache.ibatis.jdbc.SQL;
+
+public class StoreuriSqlProvider {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String countByExample(StoreuriExample example) {
+        SQL sql = new SQL();
+        sql.SELECT("count(*)").FROM("STOREURI");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String deleteByExample(StoreuriExample example) {
+        SQL sql = new SQL();
+        sql.DELETE_FROM("STOREURI");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String insertSelective(Storeuri record) {
+        SQL sql = new SQL();
+        sql.INSERT_INTO("STOREURI");
+        
+        if (record.getStoreid() != null) {
+            sql.VALUES("STOREID", "#{storeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getProtocol() != null) {
+            sql.VALUES("PROTOCOL", "#{protocol,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDelivery() != null) {
+            sql.VALUES("DELIVERY", "#{delivery,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getUri() != null) {
+            sql.VALUES("URI", "#{uri,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getIsstream() != null) {
+            sql.VALUES("ISSTREAM", "#{isstream,jdbcType=CHAR}");
+        }
+        
+        if (record.getIssource() != null) {
+            sql.VALUES("ISSOURCE", "#{issource,jdbcType=CHAR}");
+        }
+        
+        if (record.getIstarget() != null) {
+            sql.VALUES("ISTARGET", "#{istarget,jdbcType=CHAR}");
+        }
+        
+        if (record.getUsername() != null) {
+            sql.VALUES("USERNAME", "#{username,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getPassword() != null) {
+            sql.VALUES("PASSWORD", "#{password,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getRootpath() != null) {
+            sql.VALUES("ROOTPATH", "#{rootpath,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getPortnumber() != null) {
+            sql.VALUES("PORTNUMBER", "#{portnumber,jdbcType=INTEGER}");
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String selectByExample(StoreuriExample example) {
+        SQL sql = new SQL();
+        if (example != null && example.isDistinct()) {
+            sql.SELECT_DISTINCT("ID");
+        } else {
+            sql.SELECT("ID");
+        }
+        sql.SELECT("STOREID");
+        sql.SELECT("PROTOCOL");
+        sql.SELECT("DELIVERY");
+        sql.SELECT("URI");
+        sql.SELECT("ISSTREAM");
+        sql.SELECT("ISSOURCE");
+        sql.SELECT("ISTARGET");
+        sql.SELECT("USERNAME");
+        sql.SELECT("PASSWORD");
+        sql.SELECT("ROOTPATH");
+        sql.SELECT("PORTNUMBER");
+        sql.FROM("STOREURI");
+        applyWhere(sql, example, false);
+        
+        if (example != null && example.getOrderByClause() != null) {
+            sql.ORDER_BY(example.getOrderByClause());
+        }
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExampleSelective(Map<String, Object> parameter) {
+        Storeuri record = (Storeuri) parameter.get("record");
+        StoreuriExample example = (StoreuriExample) parameter.get("example");
+        
+        SQL sql = new SQL();
+        sql.UPDATE("STOREURI");
+        
+        if (record.getId() != null) {
+            sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        }
+        
+        if (record.getStoreid() != null) {
+            sql.SET("STOREID = #{record.storeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getProtocol() != null) {
+            sql.SET("PROTOCOL = #{record.protocol,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDelivery() != null) {
+            sql.SET("DELIVERY = #{record.delivery,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getUri() != null) {
+            sql.SET("URI = #{record.uri,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getIsstream() != null) {
+            sql.SET("ISSTREAM = #{record.isstream,jdbcType=CHAR}");
+        }
+        
+        if (record.getIssource() != null) {
+            sql.SET("ISSOURCE = #{record.issource,jdbcType=CHAR}");
+        }
+        
+        if (record.getIstarget() != null) {
+            sql.SET("ISTARGET = #{record.istarget,jdbcType=CHAR}");
+        }
+        
+        if (record.getUsername() != null) {
+            sql.SET("USERNAME = #{record.username,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getPassword() != null) {
+            sql.SET("PASSWORD = #{record.password,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getRootpath() != null) {
+            sql.SET("ROOTPATH = #{record.rootpath,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getPortnumber() != null) {
+            sql.SET("PORTNUMBER = #{record.portnumber,jdbcType=INTEGER}");
+        }
+        
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByExample(Map<String, Object> parameter) {
+        SQL sql = new SQL();
+        sql.UPDATE("STOREURI");
+        
+        sql.SET("ID = #{record.id,jdbcType=BIGINT}");
+        sql.SET("STOREID = #{record.storeid,jdbcType=BIGINT}");
+        sql.SET("PROTOCOL = #{record.protocol,jdbcType=VARCHAR}");
+        sql.SET("DELIVERY = #{record.delivery,jdbcType=VARCHAR}");
+        sql.SET("URI = #{record.uri,jdbcType=VARCHAR}");
+        sql.SET("ISSTREAM = #{record.isstream,jdbcType=CHAR}");
+        sql.SET("ISSOURCE = #{record.issource,jdbcType=CHAR}");
+        sql.SET("ISTARGET = #{record.istarget,jdbcType=CHAR}");
+        sql.SET("USERNAME = #{record.username,jdbcType=VARCHAR}");
+        sql.SET("PASSWORD = #{record.password,jdbcType=VARCHAR}");
+        sql.SET("ROOTPATH = #{record.rootpath,jdbcType=VARCHAR}");
+        sql.SET("PORTNUMBER = #{record.portnumber,jdbcType=INTEGER}");
+        
+        StoreuriExample example = (StoreuriExample) parameter.get("example");
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String updateByPrimaryKeySelective(Storeuri record) {
+        SQL sql = new SQL();
+        sql.UPDATE("STOREURI");
+        
+        if (record.getStoreid() != null) {
+            sql.SET("STOREID = #{storeid,jdbcType=BIGINT}");
+        }
+        
+        if (record.getProtocol() != null) {
+            sql.SET("PROTOCOL = #{protocol,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getDelivery() != null) {
+            sql.SET("DELIVERY = #{delivery,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getUri() != null) {
+            sql.SET("URI = #{uri,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getIsstream() != null) {
+            sql.SET("ISSTREAM = #{isstream,jdbcType=CHAR}");
+        }
+        
+        if (record.getIssource() != null) {
+            sql.SET("ISSOURCE = #{issource,jdbcType=CHAR}");
+        }
+        
+        if (record.getIstarget() != null) {
+            sql.SET("ISTARGET = #{istarget,jdbcType=CHAR}");
+        }
+        
+        if (record.getUsername() != null) {
+            sql.SET("USERNAME = #{username,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getPassword() != null) {
+            sql.SET("PASSWORD = #{password,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getRootpath() != null) {
+            sql.SET("ROOTPATH = #{rootpath,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getPortnumber() != null) {
+            sql.SET("PORTNUMBER = #{portnumber,jdbcType=INTEGER}");
+        }
+        
+        sql.WHERE("ID = #{id,jdbcType=BIGINT}");
+        
+        return sql.toString();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected void applyWhere(SQL sql, StoreuriExample example, boolean includeExamplePhrase) {
+        if (example == null) {
+            return;
+        }
+        
+        String parmPhrase1;
+        String parmPhrase1_th;
+        String parmPhrase2;
+        String parmPhrase2_th;
+        String parmPhrase3;
+        String parmPhrase3_th;
+        if (includeExamplePhrase) {
+            parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        } else {
+            parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        }
+        
+        StringBuilder sb = new StringBuilder();
+        List<Criteria> oredCriteria = example.getOredCriteria();
+        boolean firstCriteria = true;
+        for (int i = 0; i < oredCriteria.size(); i++) {
+            Criteria criteria = oredCriteria.get(i);
+            if (criteria.isValid()) {
+                if (firstCriteria) {
+                    firstCriteria = false;
+                } else {
+                    sb.append(" or ");
+                }
+                
+                sb.append('(');
+                List<Criterion> criterions = criteria.getAllCriteria();
+                boolean firstCriterion = true;
+                for (int j = 0; j < criterions.size(); j++) {
+                    Criterion criterion = criterions.get(j);
+                    if (firstCriterion) {
+                        firstCriterion = false;
+                    } else {
+                        sb.append(" and ");
+                    }
+                    
+                    if (criterion.isNoValue()) {
+                        sb.append(criterion.getCondition());
+                    } else if (criterion.isSingleValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isBetweenValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isListValue()) {
+                        sb.append(criterion.getCondition());
+                        sb.append(" (");
+                        List<?> listItems = (List<?>) criterion.getValue();
+                        boolean comma = false;
+                        for (int k = 0; k < listItems.size(); k++) {
+                            if (comma) {
+                                sb.append(", ");
+                            } else {
+                                comma = true;
+                            }
+                            if (criterion.getTypeHandler() == null) {
+                                sb.append(String.format(parmPhrase3, i, j, k));
+                            } else {
+                                sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));
+                            }
+                        }
+                        sb.append(')');
+                    }
+                }
+                sb.append(')');
+            }
+        }
+        
+        if (sb.length() > 0) {
+            sql.WHERE(sb.toString());
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Filetype.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Filetype.java
new file mode 100644 (file)
index 0000000..7ea68c8
--- /dev/null
@@ -0,0 +1,268 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class Filetype extends FiletypeKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FILETYPE.NAME
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String name;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FILETYPE.DESCRIPTION
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String description;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FILETYPE.VIDEOCODEC
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String videocodec;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FILETYPE.AUDIOCODEC
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String audiocodec;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FILETYPE.VIDEOTRACKS
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Integer videotracks;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FILETYPE.AUDIOTRACKS
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Integer audiotracks;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FILETYPE.FRAMERATE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Double framerate;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FILETYPE.NAME
+     *
+     * @return the value of FILETYPE.NAME
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FILETYPE.NAME
+     *
+     * @param name the value for FILETYPE.NAME
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FILETYPE.DESCRIPTION
+     *
+     * @return the value of FILETYPE.DESCRIPTION
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FILETYPE.DESCRIPTION
+     *
+     * @param description the value for FILETYPE.DESCRIPTION
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FILETYPE.VIDEOCODEC
+     *
+     * @return the value of FILETYPE.VIDEOCODEC
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getVideocodec() {
+        return videocodec;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FILETYPE.VIDEOCODEC
+     *
+     * @param videocodec the value for FILETYPE.VIDEOCODEC
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setVideocodec(String videocodec) {
+        this.videocodec = videocodec;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FILETYPE.AUDIOCODEC
+     *
+     * @return the value of FILETYPE.AUDIOCODEC
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getAudiocodec() {
+        return audiocodec;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FILETYPE.AUDIOCODEC
+     *
+     * @param audiocodec the value for FILETYPE.AUDIOCODEC
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setAudiocodec(String audiocodec) {
+        this.audiocodec = audiocodec;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FILETYPE.VIDEOTRACKS
+     *
+     * @return the value of FILETYPE.VIDEOTRACKS
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Integer getVideotracks() {
+        return videotracks;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FILETYPE.VIDEOTRACKS
+     *
+     * @param videotracks the value for FILETYPE.VIDEOTRACKS
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setVideotracks(Integer videotracks) {
+        this.videotracks = videotracks;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FILETYPE.AUDIOTRACKS
+     *
+     * @return the value of FILETYPE.AUDIOTRACKS
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Integer getAudiotracks() {
+        return audiotracks;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FILETYPE.AUDIOTRACKS
+     *
+     * @param audiotracks the value for FILETYPE.AUDIOTRACKS
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setAudiotracks(Integer audiotracks) {
+        this.audiotracks = audiotracks;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FILETYPE.FRAMERATE
+     *
+     * @return the value of FILETYPE.FRAMERATE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Double getFramerate() {
+        return framerate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FILETYPE.FRAMERATE
+     *
+     * @param framerate the value for FILETYPE.FRAMERATE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setFramerate(Double framerate) {
+        this.framerate = framerate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", name=").append(name);
+        sb.append(", description=").append(description);
+        sb.append(", videocodec=").append(videocodec);
+        sb.append(", audiocodec=").append(audiocodec);
+        sb.append(", videotracks=").append(videotracks);
+        sb.append(", audiotracks=").append(audiotracks);
+        sb.append(", framerate=").append(framerate);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/FiletypeExample.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/FiletypeExample.java
new file mode 100644 (file)
index 0000000..385673f
--- /dev/null
@@ -0,0 +1,821 @@
+package hu.user.mediacube.rdb.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class FiletypeExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public FiletypeExample() {
+        oredCriteria = new ArrayList<>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNull() {
+            addCriterion("NAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNotNull() {
+            addCriterion("NAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEqualTo(String value) {
+            addCriterion("NAME =", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotEqualTo(String value) {
+            addCriterion("NAME <>", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThan(String value) {
+            addCriterion("NAME >", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThanOrEqualTo(String value) {
+            addCriterion("NAME >=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThan(String value) {
+            addCriterion("NAME <", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThanOrEqualTo(String value) {
+            addCriterion("NAME <=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLike(String value) {
+            addCriterion("NAME like", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotLike(String value) {
+            addCriterion("NAME not like", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIn(List<String> values) {
+            addCriterion("NAME in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotIn(List<String> values) {
+            addCriterion("NAME not in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameBetween(String value1, String value2) {
+            addCriterion("NAME between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotBetween(String value1, String value2) {
+            addCriterion("NAME not between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionIsNull() {
+            addCriterion("DESCRIPTION is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionIsNotNull() {
+            addCriterion("DESCRIPTION is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionEqualTo(String value) {
+            addCriterion("DESCRIPTION =", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotEqualTo(String value) {
+            addCriterion("DESCRIPTION <>", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionGreaterThan(String value) {
+            addCriterion("DESCRIPTION >", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
+            addCriterion("DESCRIPTION >=", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionLessThan(String value) {
+            addCriterion("DESCRIPTION <", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionLessThanOrEqualTo(String value) {
+            addCriterion("DESCRIPTION <=", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionLike(String value) {
+            addCriterion("DESCRIPTION like", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotLike(String value) {
+            addCriterion("DESCRIPTION not like", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionIn(List<String> values) {
+            addCriterion("DESCRIPTION in", values, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotIn(List<String> values) {
+            addCriterion("DESCRIPTION not in", values, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionBetween(String value1, String value2) {
+            addCriterion("DESCRIPTION between", value1, value2, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotBetween(String value1, String value2) {
+            addCriterion("DESCRIPTION not between", value1, value2, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecIsNull() {
+            addCriterion("VIDEOCODEC is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecIsNotNull() {
+            addCriterion("VIDEOCODEC is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecEqualTo(String value) {
+            addCriterion("VIDEOCODEC =", value, "videocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecNotEqualTo(String value) {
+            addCriterion("VIDEOCODEC <>", value, "videocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecGreaterThan(String value) {
+            addCriterion("VIDEOCODEC >", value, "videocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecGreaterThanOrEqualTo(String value) {
+            addCriterion("VIDEOCODEC >=", value, "videocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecLessThan(String value) {
+            addCriterion("VIDEOCODEC <", value, "videocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecLessThanOrEqualTo(String value) {
+            addCriterion("VIDEOCODEC <=", value, "videocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecLike(String value) {
+            addCriterion("VIDEOCODEC like", value, "videocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecNotLike(String value) {
+            addCriterion("VIDEOCODEC not like", value, "videocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecIn(List<String> values) {
+            addCriterion("VIDEOCODEC in", values, "videocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecNotIn(List<String> values) {
+            addCriterion("VIDEOCODEC not in", values, "videocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecBetween(String value1, String value2) {
+            addCriterion("VIDEOCODEC between", value1, value2, "videocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideocodecNotBetween(String value1, String value2) {
+            addCriterion("VIDEOCODEC not between", value1, value2, "videocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecIsNull() {
+            addCriterion("AUDIOCODEC is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecIsNotNull() {
+            addCriterion("AUDIOCODEC is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecEqualTo(String value) {
+            addCriterion("AUDIOCODEC =", value, "audiocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecNotEqualTo(String value) {
+            addCriterion("AUDIOCODEC <>", value, "audiocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecGreaterThan(String value) {
+            addCriterion("AUDIOCODEC >", value, "audiocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecGreaterThanOrEqualTo(String value) {
+            addCriterion("AUDIOCODEC >=", value, "audiocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecLessThan(String value) {
+            addCriterion("AUDIOCODEC <", value, "audiocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecLessThanOrEqualTo(String value) {
+            addCriterion("AUDIOCODEC <=", value, "audiocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecLike(String value) {
+            addCriterion("AUDIOCODEC like", value, "audiocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecNotLike(String value) {
+            addCriterion("AUDIOCODEC not like", value, "audiocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecIn(List<String> values) {
+            addCriterion("AUDIOCODEC in", values, "audiocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecNotIn(List<String> values) {
+            addCriterion("AUDIOCODEC not in", values, "audiocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecBetween(String value1, String value2) {
+            addCriterion("AUDIOCODEC between", value1, value2, "audiocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiocodecNotBetween(String value1, String value2) {
+            addCriterion("AUDIOCODEC not between", value1, value2, "audiocodec");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideotracksIsNull() {
+            addCriterion("VIDEOTRACKS is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideotracksIsNotNull() {
+            addCriterion("VIDEOTRACKS is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideotracksEqualTo(Integer value) {
+            addCriterion("VIDEOTRACKS =", value, "videotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideotracksNotEqualTo(Integer value) {
+            addCriterion("VIDEOTRACKS <>", value, "videotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideotracksGreaterThan(Integer value) {
+            addCriterion("VIDEOTRACKS >", value, "videotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideotracksGreaterThanOrEqualTo(Integer value) {
+            addCriterion("VIDEOTRACKS >=", value, "videotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideotracksLessThan(Integer value) {
+            addCriterion("VIDEOTRACKS <", value, "videotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideotracksLessThanOrEqualTo(Integer value) {
+            addCriterion("VIDEOTRACKS <=", value, "videotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideotracksIn(List<Integer> values) {
+            addCriterion("VIDEOTRACKS in", values, "videotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideotracksNotIn(List<Integer> values) {
+            addCriterion("VIDEOTRACKS not in", values, "videotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideotracksBetween(Integer value1, Integer value2) {
+            addCriterion("VIDEOTRACKS between", value1, value2, "videotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideotracksNotBetween(Integer value1, Integer value2) {
+            addCriterion("VIDEOTRACKS not between", value1, value2, "videotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiotracksIsNull() {
+            addCriterion("AUDIOTRACKS is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiotracksIsNotNull() {
+            addCriterion("AUDIOTRACKS is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiotracksEqualTo(Integer value) {
+            addCriterion("AUDIOTRACKS =", value, "audiotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiotracksNotEqualTo(Integer value) {
+            addCriterion("AUDIOTRACKS <>", value, "audiotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiotracksGreaterThan(Integer value) {
+            addCriterion("AUDIOTRACKS >", value, "audiotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiotracksGreaterThanOrEqualTo(Integer value) {
+            addCriterion("AUDIOTRACKS >=", value, "audiotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiotracksLessThan(Integer value) {
+            addCriterion("AUDIOTRACKS <", value, "audiotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiotracksLessThanOrEqualTo(Integer value) {
+            addCriterion("AUDIOTRACKS <=", value, "audiotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiotracksIn(List<Integer> values) {
+            addCriterion("AUDIOTRACKS in", values, "audiotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiotracksNotIn(List<Integer> values) {
+            addCriterion("AUDIOTRACKS not in", values, "audiotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiotracksBetween(Integer value1, Integer value2) {
+            addCriterion("AUDIOTRACKS between", value1, value2, "audiotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andAudiotracksNotBetween(Integer value1, Integer value2) {
+            addCriterion("AUDIOTRACKS not between", value1, value2, "audiotracks");
+            return (Criteria) this;
+        }
+
+        public Criteria andFramerateIsNull() {
+            addCriterion("FRAMERATE is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFramerateIsNotNull() {
+            addCriterion("FRAMERATE is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFramerateEqualTo(Double value) {
+            addCriterion("FRAMERATE =", value, "framerate");
+            return (Criteria) this;
+        }
+
+        public Criteria andFramerateNotEqualTo(Double value) {
+            addCriterion("FRAMERATE <>", value, "framerate");
+            return (Criteria) this;
+        }
+
+        public Criteria andFramerateGreaterThan(Double value) {
+            addCriterion("FRAMERATE >", value, "framerate");
+            return (Criteria) this;
+        }
+
+        public Criteria andFramerateGreaterThanOrEqualTo(Double value) {
+            addCriterion("FRAMERATE >=", value, "framerate");
+            return (Criteria) this;
+        }
+
+        public Criteria andFramerateLessThan(Double value) {
+            addCriterion("FRAMERATE <", value, "framerate");
+            return (Criteria) this;
+        }
+
+        public Criteria andFramerateLessThanOrEqualTo(Double value) {
+            addCriterion("FRAMERATE <=", value, "framerate");
+            return (Criteria) this;
+        }
+
+        public Criteria andFramerateIn(List<Double> values) {
+            addCriterion("FRAMERATE in", values, "framerate");
+            return (Criteria) this;
+        }
+
+        public Criteria andFramerateNotIn(List<Double> values) {
+            addCriterion("FRAMERATE not in", values, "framerate");
+            return (Criteria) this;
+        }
+
+        public Criteria andFramerateBetween(Double value1, Double value2) {
+            addCriterion("FRAMERATE between", value1, value2, "framerate");
+            return (Criteria) this;
+        }
+
+        public Criteria andFramerateNotBetween(Double value1, Double value2) {
+            addCriterion("FRAMERATE not between", value1, value2, "framerate");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table FILETYPE
+     *
+     * @mbg.generated do_not_delete_during_merge Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criteria extends GeneratedCriteria {
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/FiletypeKey.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/FiletypeKey.java
new file mode 100644 (file)
index 0000000..f1ec1aa
--- /dev/null
@@ -0,0 +1,64 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class FiletypeKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FILETYPE.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long id;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FILETYPE.ID
+     *
+     * @return the value of FILETYPE.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FILETYPE.ID
+     *
+     * @param id the value for FILETYPE.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FILETYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Item.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Item.java
new file mode 100644 (file)
index 0000000..b8938ad
--- /dev/null
@@ -0,0 +1,269 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class Item extends ItemKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column ITEM.ITEMTYPEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long itemtypeid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column ITEM.HOUSEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String houseid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column ITEM.TITLE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String title;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column ITEM.DESCRIPTION
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String description;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column ITEM.ISFOLDER
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String isfolder;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column ITEM.CREATED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Date created;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column ITEM.MODIFIED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Date modified;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column ITEM.ITEMTYPEID
+     *
+     * @return the value of ITEM.ITEMTYPEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getItemtypeid() {
+        return itemtypeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column ITEM.ITEMTYPEID
+     *
+     * @param itemtypeid the value for ITEM.ITEMTYPEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setItemtypeid(Long itemtypeid) {
+        this.itemtypeid = itemtypeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column ITEM.HOUSEID
+     *
+     * @return the value of ITEM.HOUSEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getHouseid() {
+        return houseid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column ITEM.HOUSEID
+     *
+     * @param houseid the value for ITEM.HOUSEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setHouseid(String houseid) {
+        this.houseid = houseid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column ITEM.TITLE
+     *
+     * @return the value of ITEM.TITLE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getTitle() {
+        return title;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column ITEM.TITLE
+     *
+     * @param title the value for ITEM.TITLE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column ITEM.DESCRIPTION
+     *
+     * @return the value of ITEM.DESCRIPTION
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column ITEM.DESCRIPTION
+     *
+     * @param description the value for ITEM.DESCRIPTION
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column ITEM.ISFOLDER
+     *
+     * @return the value of ITEM.ISFOLDER
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getIsfolder() {
+        return isfolder;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column ITEM.ISFOLDER
+     *
+     * @param isfolder the value for ITEM.ISFOLDER
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setIsfolder(String isfolder) {
+        this.isfolder = isfolder;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column ITEM.CREATED
+     *
+     * @return the value of ITEM.CREATED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Date getCreated() {
+        return created;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column ITEM.CREATED
+     *
+     * @param created the value for ITEM.CREATED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setCreated(Date created) {
+        this.created = created;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column ITEM.MODIFIED
+     *
+     * @return the value of ITEM.MODIFIED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Date getModified() {
+        return modified;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column ITEM.MODIFIED
+     *
+     * @param modified the value for ITEM.MODIFIED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setModified(Date modified) {
+        this.modified = modified;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", itemtypeid=").append(itemtypeid);
+        sb.append(", houseid=").append(houseid);
+        sb.append(", title=").append(title);
+        sb.append(", description=").append(description);
+        sb.append(", isfolder=").append(isfolder);
+        sb.append(", created=").append(created);
+        sb.append(", modified=").append(modified);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/ItemExample.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/ItemExample.java
new file mode 100644 (file)
index 0000000..4b76488
--- /dev/null
@@ -0,0 +1,822 @@
+package hu.user.mediacube.rdb.model;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class ItemExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public ItemExample() {
+        oredCriteria = new ArrayList<>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidIsNull() {
+            addCriterion("ITEMTYPEID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidIsNotNull() {
+            addCriterion("ITEMTYPEID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidEqualTo(Long value) {
+            addCriterion("ITEMTYPEID =", value, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidNotEqualTo(Long value) {
+            addCriterion("ITEMTYPEID <>", value, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidGreaterThan(Long value) {
+            addCriterion("ITEMTYPEID >", value, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidGreaterThanOrEqualTo(Long value) {
+            addCriterion("ITEMTYPEID >=", value, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidLessThan(Long value) {
+            addCriterion("ITEMTYPEID <", value, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidLessThanOrEqualTo(Long value) {
+            addCriterion("ITEMTYPEID <=", value, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidIn(List<Long> values) {
+            addCriterion("ITEMTYPEID in", values, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidNotIn(List<Long> values) {
+            addCriterion("ITEMTYPEID not in", values, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidBetween(Long value1, Long value2) {
+            addCriterion("ITEMTYPEID between", value1, value2, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidNotBetween(Long value1, Long value2) {
+            addCriterion("ITEMTYPEID not between", value1, value2, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidIsNull() {
+            addCriterion("HOUSEID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidIsNotNull() {
+            addCriterion("HOUSEID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidEqualTo(String value) {
+            addCriterion("HOUSEID =", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidNotEqualTo(String value) {
+            addCriterion("HOUSEID <>", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidGreaterThan(String value) {
+            addCriterion("HOUSEID >", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidGreaterThanOrEqualTo(String value) {
+            addCriterion("HOUSEID >=", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidLessThan(String value) {
+            addCriterion("HOUSEID <", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidLessThanOrEqualTo(String value) {
+            addCriterion("HOUSEID <=", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidLike(String value) {
+            addCriterion("HOUSEID like", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidNotLike(String value) {
+            addCriterion("HOUSEID not like", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidIn(List<String> values) {
+            addCriterion("HOUSEID in", values, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidNotIn(List<String> values) {
+            addCriterion("HOUSEID not in", values, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidBetween(String value1, String value2) {
+            addCriterion("HOUSEID between", value1, value2, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidNotBetween(String value1, String value2) {
+            addCriterion("HOUSEID not between", value1, value2, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleIsNull() {
+            addCriterion("TITLE is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleIsNotNull() {
+            addCriterion("TITLE is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleEqualTo(String value) {
+            addCriterion("TITLE =", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotEqualTo(String value) {
+            addCriterion("TITLE <>", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleGreaterThan(String value) {
+            addCriterion("TITLE >", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleGreaterThanOrEqualTo(String value) {
+            addCriterion("TITLE >=", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLessThan(String value) {
+            addCriterion("TITLE <", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLessThanOrEqualTo(String value) {
+            addCriterion("TITLE <=", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLike(String value) {
+            addCriterion("TITLE like", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotLike(String value) {
+            addCriterion("TITLE not like", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleIn(List<String> values) {
+            addCriterion("TITLE in", values, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotIn(List<String> values) {
+            addCriterion("TITLE not in", values, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleBetween(String value1, String value2) {
+            addCriterion("TITLE between", value1, value2, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotBetween(String value1, String value2) {
+            addCriterion("TITLE not between", value1, value2, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionIsNull() {
+            addCriterion("DESCRIPTION is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionIsNotNull() {
+            addCriterion("DESCRIPTION is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionEqualTo(String value) {
+            addCriterion("DESCRIPTION =", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotEqualTo(String value) {
+            addCriterion("DESCRIPTION <>", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionGreaterThan(String value) {
+            addCriterion("DESCRIPTION >", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
+            addCriterion("DESCRIPTION >=", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionLessThan(String value) {
+            addCriterion("DESCRIPTION <", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionLessThanOrEqualTo(String value) {
+            addCriterion("DESCRIPTION <=", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionLike(String value) {
+            addCriterion("DESCRIPTION like", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotLike(String value) {
+            addCriterion("DESCRIPTION not like", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionIn(List<String> values) {
+            addCriterion("DESCRIPTION in", values, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotIn(List<String> values) {
+            addCriterion("DESCRIPTION not in", values, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionBetween(String value1, String value2) {
+            addCriterion("DESCRIPTION between", value1, value2, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotBetween(String value1, String value2) {
+            addCriterion("DESCRIPTION not between", value1, value2, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderIsNull() {
+            addCriterion("ISFOLDER is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderIsNotNull() {
+            addCriterion("ISFOLDER is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderEqualTo(String value) {
+            addCriterion("ISFOLDER =", value, "isfolder");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderNotEqualTo(String value) {
+            addCriterion("ISFOLDER <>", value, "isfolder");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderGreaterThan(String value) {
+            addCriterion("ISFOLDER >", value, "isfolder");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderGreaterThanOrEqualTo(String value) {
+            addCriterion("ISFOLDER >=", value, "isfolder");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderLessThan(String value) {
+            addCriterion("ISFOLDER <", value, "isfolder");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderLessThanOrEqualTo(String value) {
+            addCriterion("ISFOLDER <=", value, "isfolder");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderLike(String value) {
+            addCriterion("ISFOLDER like", value, "isfolder");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderNotLike(String value) {
+            addCriterion("ISFOLDER not like", value, "isfolder");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderIn(List<String> values) {
+            addCriterion("ISFOLDER in", values, "isfolder");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderNotIn(List<String> values) {
+            addCriterion("ISFOLDER not in", values, "isfolder");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderBetween(String value1, String value2) {
+            addCriterion("ISFOLDER between", value1, value2, "isfolder");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfolderNotBetween(String value1, String value2) {
+            addCriterion("ISFOLDER not between", value1, value2, "isfolder");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedIsNull() {
+            addCriterion("CREATED is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedIsNotNull() {
+            addCriterion("CREATED is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedEqualTo(Date value) {
+            addCriterion("CREATED =", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedNotEqualTo(Date value) {
+            addCriterion("CREATED <>", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedGreaterThan(Date value) {
+            addCriterion("CREATED >", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedGreaterThanOrEqualTo(Date value) {
+            addCriterion("CREATED >=", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedLessThan(Date value) {
+            addCriterion("CREATED <", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedLessThanOrEqualTo(Date value) {
+            addCriterion("CREATED <=", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedIn(List<Date> values) {
+            addCriterion("CREATED in", values, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedNotIn(List<Date> values) {
+            addCriterion("CREATED not in", values, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedBetween(Date value1, Date value2) {
+            addCriterion("CREATED between", value1, value2, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedNotBetween(Date value1, Date value2) {
+            addCriterion("CREATED not between", value1, value2, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedIsNull() {
+            addCriterion("MODIFIED is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedIsNotNull() {
+            addCriterion("MODIFIED is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedEqualTo(Date value) {
+            addCriterion("MODIFIED =", value, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedNotEqualTo(Date value) {
+            addCriterion("MODIFIED <>", value, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedGreaterThan(Date value) {
+            addCriterion("MODIFIED >", value, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedGreaterThanOrEqualTo(Date value) {
+            addCriterion("MODIFIED >=", value, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedLessThan(Date value) {
+            addCriterion("MODIFIED <", value, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedLessThanOrEqualTo(Date value) {
+            addCriterion("MODIFIED <=", value, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedIn(List<Date> values) {
+            addCriterion("MODIFIED in", values, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedNotIn(List<Date> values) {
+            addCriterion("MODIFIED not in", values, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedBetween(Date value1, Date value2) {
+            addCriterion("MODIFIED between", value1, value2, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedNotBetween(Date value1, Date value2) {
+            addCriterion("MODIFIED not between", value1, value2, "modified");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table ITEM
+     *
+     * @mbg.generated do_not_delete_during_merge Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criteria extends GeneratedCriteria {
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/ItemKey.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/ItemKey.java
new file mode 100644 (file)
index 0000000..eb83911
--- /dev/null
@@ -0,0 +1,64 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class ItemKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column ITEM.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long id;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column ITEM.ID
+     *
+     * @return the value of ITEM.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column ITEM.ID
+     *
+     * @param id the value for ITEM.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Itemtype.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Itemtype.java
new file mode 100644 (file)
index 0000000..aaef6cc
--- /dev/null
@@ -0,0 +1,132 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class Itemtype extends ItemtypeKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column ITEMTYPE.NAME
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String name;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column ITEMTYPE.DESCRIPTION
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String description;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column ITEMTYPE.ISSTATIC
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String isstatic;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column ITEMTYPE.NAME
+     *
+     * @return the value of ITEMTYPE.NAME
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column ITEMTYPE.NAME
+     *
+     * @param name the value for ITEMTYPE.NAME
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column ITEMTYPE.DESCRIPTION
+     *
+     * @return the value of ITEMTYPE.DESCRIPTION
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column ITEMTYPE.DESCRIPTION
+     *
+     * @param description the value for ITEMTYPE.DESCRIPTION
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column ITEMTYPE.ISSTATIC
+     *
+     * @return the value of ITEMTYPE.ISSTATIC
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getIsstatic() {
+        return isstatic;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column ITEMTYPE.ISSTATIC
+     *
+     * @param isstatic the value for ITEMTYPE.ISSTATIC
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setIsstatic(String isstatic) {
+        this.isstatic = isstatic;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", name=").append(name);
+        sb.append(", description=").append(description);
+        sb.append(", isstatic=").append(isstatic);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/ItemtypeExample.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/ItemtypeExample.java
new file mode 100644 (file)
index 0000000..fa58571
--- /dev/null
@@ -0,0 +1,571 @@
+package hu.user.mediacube.rdb.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ItemtypeExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public ItemtypeExample() {
+        oredCriteria = new ArrayList<>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNull() {
+            addCriterion("NAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNotNull() {
+            addCriterion("NAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEqualTo(String value) {
+            addCriterion("NAME =", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotEqualTo(String value) {
+            addCriterion("NAME <>", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThan(String value) {
+            addCriterion("NAME >", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThanOrEqualTo(String value) {
+            addCriterion("NAME >=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThan(String value) {
+            addCriterion("NAME <", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThanOrEqualTo(String value) {
+            addCriterion("NAME <=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLike(String value) {
+            addCriterion("NAME like", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotLike(String value) {
+            addCriterion("NAME not like", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIn(List<String> values) {
+            addCriterion("NAME in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotIn(List<String> values) {
+            addCriterion("NAME not in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameBetween(String value1, String value2) {
+            addCriterion("NAME between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotBetween(String value1, String value2) {
+            addCriterion("NAME not between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionIsNull() {
+            addCriterion("DESCRIPTION is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionIsNotNull() {
+            addCriterion("DESCRIPTION is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionEqualTo(String value) {
+            addCriterion("DESCRIPTION =", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotEqualTo(String value) {
+            addCriterion("DESCRIPTION <>", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionGreaterThan(String value) {
+            addCriterion("DESCRIPTION >", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
+            addCriterion("DESCRIPTION >=", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionLessThan(String value) {
+            addCriterion("DESCRIPTION <", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionLessThanOrEqualTo(String value) {
+            addCriterion("DESCRIPTION <=", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionLike(String value) {
+            addCriterion("DESCRIPTION like", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotLike(String value) {
+            addCriterion("DESCRIPTION not like", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionIn(List<String> values) {
+            addCriterion("DESCRIPTION in", values, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotIn(List<String> values) {
+            addCriterion("DESCRIPTION not in", values, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionBetween(String value1, String value2) {
+            addCriterion("DESCRIPTION between", value1, value2, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotBetween(String value1, String value2) {
+            addCriterion("DESCRIPTION not between", value1, value2, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticIsNull() {
+            addCriterion("ISSTATIC is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticIsNotNull() {
+            addCriterion("ISSTATIC is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticEqualTo(String value) {
+            addCriterion("ISSTATIC =", value, "isstatic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticNotEqualTo(String value) {
+            addCriterion("ISSTATIC <>", value, "isstatic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticGreaterThan(String value) {
+            addCriterion("ISSTATIC >", value, "isstatic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticGreaterThanOrEqualTo(String value) {
+            addCriterion("ISSTATIC >=", value, "isstatic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticLessThan(String value) {
+            addCriterion("ISSTATIC <", value, "isstatic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticLessThanOrEqualTo(String value) {
+            addCriterion("ISSTATIC <=", value, "isstatic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticLike(String value) {
+            addCriterion("ISSTATIC like", value, "isstatic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticNotLike(String value) {
+            addCriterion("ISSTATIC not like", value, "isstatic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticIn(List<String> values) {
+            addCriterion("ISSTATIC in", values, "isstatic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticNotIn(List<String> values) {
+            addCriterion("ISSTATIC not in", values, "isstatic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticBetween(String value1, String value2) {
+            addCriterion("ISSTATIC between", value1, value2, "isstatic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstaticNotBetween(String value1, String value2) {
+            addCriterion("ISSTATIC not between", value1, value2, "isstatic");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated do_not_delete_during_merge Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criteria extends GeneratedCriteria {
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/ItemtypeKey.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/ItemtypeKey.java
new file mode 100644 (file)
index 0000000..d8d1e7c
--- /dev/null
@@ -0,0 +1,64 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class ItemtypeKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column ITEMTYPE.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long id;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column ITEMTYPE.ID
+     *
+     * @return the value of ITEMTYPE.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column ITEMTYPE.ID
+     *
+     * @param id the value for ITEMTYPE.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table ITEMTYPE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Masterid.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Masterid.java
new file mode 100644 (file)
index 0000000..f1dc8bd
--- /dev/null
@@ -0,0 +1,65 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class Masterid extends MasteridKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MASTERID.CREATED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Date created;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MASTERID.CREATED
+     *
+     * @return the value of MASTERID.CREATED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Date getCreated() {
+        return created;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MASTERID.CREATED
+     *
+     * @param created the value for MASTERID.CREATED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setCreated(Date created) {
+        this.created = created;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", created=").append(created);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MasteridExample.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MasteridExample.java
new file mode 100644 (file)
index 0000000..e836aab
--- /dev/null
@@ -0,0 +1,422 @@
+package hu.user.mediacube.rdb.model;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class MasteridExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public MasteridExample() {
+        oredCriteria = new ArrayList<>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedIsNull() {
+            addCriterion("CREATED is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedIsNotNull() {
+            addCriterion("CREATED is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedEqualTo(Date value) {
+            addCriterion("CREATED =", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedNotEqualTo(Date value) {
+            addCriterion("CREATED <>", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedGreaterThan(Date value) {
+            addCriterion("CREATED >", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedGreaterThanOrEqualTo(Date value) {
+            addCriterion("CREATED >=", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedLessThan(Date value) {
+            addCriterion("CREATED <", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedLessThanOrEqualTo(Date value) {
+            addCriterion("CREATED <=", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedIn(List<Date> values) {
+            addCriterion("CREATED in", values, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedNotIn(List<Date> values) {
+            addCriterion("CREATED not in", values, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedBetween(Date value1, Date value2) {
+            addCriterion("CREATED between", value1, value2, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedNotBetween(Date value1, Date value2) {
+            addCriterion("CREATED not between", value1, value2, "created");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table MASTERID
+     *
+     * @mbg.generated do_not_delete_during_merge Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criteria extends GeneratedCriteria {
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MasteridKey.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MasteridKey.java
new file mode 100644 (file)
index 0000000..7fd59bb
--- /dev/null
@@ -0,0 +1,64 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class MasteridKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MASTERID.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long id;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MASTERID.ID
+     *
+     * @return the value of MASTERID.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MASTERID.ID
+     *
+     * @param id the value for MASTERID.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MASTERID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Media.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Media.java
new file mode 100644 (file)
index 0000000..9ad09df
--- /dev/null
@@ -0,0 +1,337 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class Media extends MediaKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIA.ITEMID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long itemid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIA.ITEMTYPEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long itemtypeid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIA.HOUSEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String houseid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIA.TITLE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String title;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIA.DESCRIPTION
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String description;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIA.LENGTH
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long length;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIA.CREATED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Date created;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIA.MODIFIED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Date modified;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIA.ARCHIVED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Date archived;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIA.ITEMID
+     *
+     * @return the value of MEDIA.ITEMID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getItemid() {
+        return itemid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIA.ITEMID
+     *
+     * @param itemid the value for MEDIA.ITEMID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setItemid(Long itemid) {
+        this.itemid = itemid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIA.ITEMTYPEID
+     *
+     * @return the value of MEDIA.ITEMTYPEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getItemtypeid() {
+        return itemtypeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIA.ITEMTYPEID
+     *
+     * @param itemtypeid the value for MEDIA.ITEMTYPEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setItemtypeid(Long itemtypeid) {
+        this.itemtypeid = itemtypeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIA.HOUSEID
+     *
+     * @return the value of MEDIA.HOUSEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getHouseid() {
+        return houseid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIA.HOUSEID
+     *
+     * @param houseid the value for MEDIA.HOUSEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setHouseid(String houseid) {
+        this.houseid = houseid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIA.TITLE
+     *
+     * @return the value of MEDIA.TITLE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getTitle() {
+        return title;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIA.TITLE
+     *
+     * @param title the value for MEDIA.TITLE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIA.DESCRIPTION
+     *
+     * @return the value of MEDIA.DESCRIPTION
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIA.DESCRIPTION
+     *
+     * @param description the value for MEDIA.DESCRIPTION
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIA.LENGTH
+     *
+     * @return the value of MEDIA.LENGTH
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getLength() {
+        return length;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIA.LENGTH
+     *
+     * @param length the value for MEDIA.LENGTH
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setLength(Long length) {
+        this.length = length;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIA.CREATED
+     *
+     * @return the value of MEDIA.CREATED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Date getCreated() {
+        return created;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIA.CREATED
+     *
+     * @param created the value for MEDIA.CREATED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setCreated(Date created) {
+        this.created = created;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIA.MODIFIED
+     *
+     * @return the value of MEDIA.MODIFIED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Date getModified() {
+        return modified;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIA.MODIFIED
+     *
+     * @param modified the value for MEDIA.MODIFIED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setModified(Date modified) {
+        this.modified = modified;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIA.ARCHIVED
+     *
+     * @return the value of MEDIA.ARCHIVED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Date getArchived() {
+        return archived;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIA.ARCHIVED
+     *
+     * @param archived the value for MEDIA.ARCHIVED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setArchived(Date archived) {
+        this.archived = archived;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", itemid=").append(itemid);
+        sb.append(", itemtypeid=").append(itemtypeid);
+        sb.append(", houseid=").append(houseid);
+        sb.append(", title=").append(title);
+        sb.append(", description=").append(description);
+        sb.append(", length=").append(length);
+        sb.append(", created=").append(created);
+        sb.append(", modified=").append(modified);
+        sb.append(", archived=").append(archived);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediaExample.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediaExample.java
new file mode 100644 (file)
index 0000000..09c1db5
--- /dev/null
@@ -0,0 +1,932 @@
+package hu.user.mediacube.rdb.model;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class MediaExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public MediaExample() {
+        oredCriteria = new ArrayList<>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemidIsNull() {
+            addCriterion("ITEMID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemidIsNotNull() {
+            addCriterion("ITEMID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemidEqualTo(Long value) {
+            addCriterion("ITEMID =", value, "itemid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemidNotEqualTo(Long value) {
+            addCriterion("ITEMID <>", value, "itemid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemidGreaterThan(Long value) {
+            addCriterion("ITEMID >", value, "itemid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemidGreaterThanOrEqualTo(Long value) {
+            addCriterion("ITEMID >=", value, "itemid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemidLessThan(Long value) {
+            addCriterion("ITEMID <", value, "itemid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemidLessThanOrEqualTo(Long value) {
+            addCriterion("ITEMID <=", value, "itemid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemidIn(List<Long> values) {
+            addCriterion("ITEMID in", values, "itemid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemidNotIn(List<Long> values) {
+            addCriterion("ITEMID not in", values, "itemid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemidBetween(Long value1, Long value2) {
+            addCriterion("ITEMID between", value1, value2, "itemid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemidNotBetween(Long value1, Long value2) {
+            addCriterion("ITEMID not between", value1, value2, "itemid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidIsNull() {
+            addCriterion("ITEMTYPEID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidIsNotNull() {
+            addCriterion("ITEMTYPEID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidEqualTo(Long value) {
+            addCriterion("ITEMTYPEID =", value, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidNotEqualTo(Long value) {
+            addCriterion("ITEMTYPEID <>", value, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidGreaterThan(Long value) {
+            addCriterion("ITEMTYPEID >", value, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidGreaterThanOrEqualTo(Long value) {
+            addCriterion("ITEMTYPEID >=", value, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidLessThan(Long value) {
+            addCriterion("ITEMTYPEID <", value, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidLessThanOrEqualTo(Long value) {
+            addCriterion("ITEMTYPEID <=", value, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidIn(List<Long> values) {
+            addCriterion("ITEMTYPEID in", values, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidNotIn(List<Long> values) {
+            addCriterion("ITEMTYPEID not in", values, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidBetween(Long value1, Long value2) {
+            addCriterion("ITEMTYPEID between", value1, value2, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andItemtypeidNotBetween(Long value1, Long value2) {
+            addCriterion("ITEMTYPEID not between", value1, value2, "itemtypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidIsNull() {
+            addCriterion("HOUSEID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidIsNotNull() {
+            addCriterion("HOUSEID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidEqualTo(String value) {
+            addCriterion("HOUSEID =", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidNotEqualTo(String value) {
+            addCriterion("HOUSEID <>", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidGreaterThan(String value) {
+            addCriterion("HOUSEID >", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidGreaterThanOrEqualTo(String value) {
+            addCriterion("HOUSEID >=", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidLessThan(String value) {
+            addCriterion("HOUSEID <", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidLessThanOrEqualTo(String value) {
+            addCriterion("HOUSEID <=", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidLike(String value) {
+            addCriterion("HOUSEID like", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidNotLike(String value) {
+            addCriterion("HOUSEID not like", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidIn(List<String> values) {
+            addCriterion("HOUSEID in", values, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidNotIn(List<String> values) {
+            addCriterion("HOUSEID not in", values, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidBetween(String value1, String value2) {
+            addCriterion("HOUSEID between", value1, value2, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidNotBetween(String value1, String value2) {
+            addCriterion("HOUSEID not between", value1, value2, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleIsNull() {
+            addCriterion("TITLE is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleIsNotNull() {
+            addCriterion("TITLE is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleEqualTo(String value) {
+            addCriterion("TITLE =", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotEqualTo(String value) {
+            addCriterion("TITLE <>", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleGreaterThan(String value) {
+            addCriterion("TITLE >", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleGreaterThanOrEqualTo(String value) {
+            addCriterion("TITLE >=", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLessThan(String value) {
+            addCriterion("TITLE <", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLessThanOrEqualTo(String value) {
+            addCriterion("TITLE <=", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLike(String value) {
+            addCriterion("TITLE like", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotLike(String value) {
+            addCriterion("TITLE not like", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleIn(List<String> values) {
+            addCriterion("TITLE in", values, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotIn(List<String> values) {
+            addCriterion("TITLE not in", values, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleBetween(String value1, String value2) {
+            addCriterion("TITLE between", value1, value2, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotBetween(String value1, String value2) {
+            addCriterion("TITLE not between", value1, value2, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionIsNull() {
+            addCriterion("DESCRIPTION is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionIsNotNull() {
+            addCriterion("DESCRIPTION is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionEqualTo(String value) {
+            addCriterion("DESCRIPTION =", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotEqualTo(String value) {
+            addCriterion("DESCRIPTION <>", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionGreaterThan(String value) {
+            addCriterion("DESCRIPTION >", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
+            addCriterion("DESCRIPTION >=", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionLessThan(String value) {
+            addCriterion("DESCRIPTION <", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionLessThanOrEqualTo(String value) {
+            addCriterion("DESCRIPTION <=", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionLike(String value) {
+            addCriterion("DESCRIPTION like", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotLike(String value) {
+            addCriterion("DESCRIPTION not like", value, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionIn(List<String> values) {
+            addCriterion("DESCRIPTION in", values, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotIn(List<String> values) {
+            addCriterion("DESCRIPTION not in", values, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionBetween(String value1, String value2) {
+            addCriterion("DESCRIPTION between", value1, value2, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescriptionNotBetween(String value1, String value2) {
+            addCriterion("DESCRIPTION not between", value1, value2, "description");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthIsNull() {
+            addCriterion("LENGTH is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthIsNotNull() {
+            addCriterion("LENGTH is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthEqualTo(Long value) {
+            addCriterion("LENGTH =", value, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthNotEqualTo(Long value) {
+            addCriterion("LENGTH <>", value, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthGreaterThan(Long value) {
+            addCriterion("LENGTH >", value, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthGreaterThanOrEqualTo(Long value) {
+            addCriterion("LENGTH >=", value, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthLessThan(Long value) {
+            addCriterion("LENGTH <", value, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthLessThanOrEqualTo(Long value) {
+            addCriterion("LENGTH <=", value, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthIn(List<Long> values) {
+            addCriterion("LENGTH in", values, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthNotIn(List<Long> values) {
+            addCriterion("LENGTH not in", values, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthBetween(Long value1, Long value2) {
+            addCriterion("LENGTH between", value1, value2, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthNotBetween(Long value1, Long value2) {
+            addCriterion("LENGTH not between", value1, value2, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedIsNull() {
+            addCriterion("CREATED is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedIsNotNull() {
+            addCriterion("CREATED is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedEqualTo(Date value) {
+            addCriterion("CREATED =", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedNotEqualTo(Date value) {
+            addCriterion("CREATED <>", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedGreaterThan(Date value) {
+            addCriterion("CREATED >", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedGreaterThanOrEqualTo(Date value) {
+            addCriterion("CREATED >=", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedLessThan(Date value) {
+            addCriterion("CREATED <", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedLessThanOrEqualTo(Date value) {
+            addCriterion("CREATED <=", value, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedIn(List<Date> values) {
+            addCriterion("CREATED in", values, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedNotIn(List<Date> values) {
+            addCriterion("CREATED not in", values, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedBetween(Date value1, Date value2) {
+            addCriterion("CREATED between", value1, value2, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedNotBetween(Date value1, Date value2) {
+            addCriterion("CREATED not between", value1, value2, "created");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedIsNull() {
+            addCriterion("MODIFIED is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedIsNotNull() {
+            addCriterion("MODIFIED is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedEqualTo(Date value) {
+            addCriterion("MODIFIED =", value, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedNotEqualTo(Date value) {
+            addCriterion("MODIFIED <>", value, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedGreaterThan(Date value) {
+            addCriterion("MODIFIED >", value, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedGreaterThanOrEqualTo(Date value) {
+            addCriterion("MODIFIED >=", value, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedLessThan(Date value) {
+            addCriterion("MODIFIED <", value, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedLessThanOrEqualTo(Date value) {
+            addCriterion("MODIFIED <=", value, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedIn(List<Date> values) {
+            addCriterion("MODIFIED in", values, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedNotIn(List<Date> values) {
+            addCriterion("MODIFIED not in", values, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedBetween(Date value1, Date value2) {
+            addCriterion("MODIFIED between", value1, value2, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andModifiedNotBetween(Date value1, Date value2) {
+            addCriterion("MODIFIED not between", value1, value2, "modified");
+            return (Criteria) this;
+        }
+
+        public Criteria andArchivedIsNull() {
+            addCriterion("ARCHIVED is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andArchivedIsNotNull() {
+            addCriterion("ARCHIVED is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andArchivedEqualTo(Date value) {
+            addCriterion("ARCHIVED =", value, "archived");
+            return (Criteria) this;
+        }
+
+        public Criteria andArchivedNotEqualTo(Date value) {
+            addCriterion("ARCHIVED <>", value, "archived");
+            return (Criteria) this;
+        }
+
+        public Criteria andArchivedGreaterThan(Date value) {
+            addCriterion("ARCHIVED >", value, "archived");
+            return (Criteria) this;
+        }
+
+        public Criteria andArchivedGreaterThanOrEqualTo(Date value) {
+            addCriterion("ARCHIVED >=", value, "archived");
+            return (Criteria) this;
+        }
+
+        public Criteria andArchivedLessThan(Date value) {
+            addCriterion("ARCHIVED <", value, "archived");
+            return (Criteria) this;
+        }
+
+        public Criteria andArchivedLessThanOrEqualTo(Date value) {
+            addCriterion("ARCHIVED <=", value, "archived");
+            return (Criteria) this;
+        }
+
+        public Criteria andArchivedIn(List<Date> values) {
+            addCriterion("ARCHIVED in", values, "archived");
+            return (Criteria) this;
+        }
+
+        public Criteria andArchivedNotIn(List<Date> values) {
+            addCriterion("ARCHIVED not in", values, "archived");
+            return (Criteria) this;
+        }
+
+        public Criteria andArchivedBetween(Date value1, Date value2) {
+            addCriterion("ARCHIVED between", value1, value2, "archived");
+            return (Criteria) this;
+        }
+
+        public Criteria andArchivedNotBetween(Date value1, Date value2) {
+            addCriterion("ARCHIVED not between", value1, value2, "archived");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table MEDIA
+     *
+     * @mbg.generated do_not_delete_during_merge Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criteria extends GeneratedCriteria {
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediaKey.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediaKey.java
new file mode 100644 (file)
index 0000000..14339cf
--- /dev/null
@@ -0,0 +1,64 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class MediaKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIA.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long id;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIA.ID
+     *
+     * @return the value of MEDIA.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIA.ID
+     *
+     * @param id the value for MEDIA.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediaWithBLOBs.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediaWithBLOBs.java
new file mode 100644 (file)
index 0000000..d64977d
--- /dev/null
@@ -0,0 +1,64 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class MediaWithBLOBs extends Media implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIA.POSTER
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private byte[] poster;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIA.POSTER
+     *
+     * @return the value of MEDIA.POSTER
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public byte[] getPoster() {
+        return poster;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIA.POSTER
+     *
+     * @param poster the value for MEDIA.POSTER
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setPoster(byte[] poster) {
+        this.poster = poster;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIA
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", poster=").append(poster);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Mediafile.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Mediafile.java
new file mode 100644 (file)
index 0000000..f297495
--- /dev/null
@@ -0,0 +1,303 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class Mediafile extends MediafileKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIAFILE.HOUSEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String houseid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIAFILE.MEDIAID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long mediaid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIAFILE.STOREID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long storeid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIAFILE.FILETYPEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long filetypeid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIAFILE.RELATIVEPATH
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String relativepath;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIAFILE.FILESTRUCTINFO
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String filestructinfo;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIAFILE.FILESIZE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long filesize;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIAFILE.LASTMODIFIED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Date lastmodified;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIAFILE.HOUSEID
+     *
+     * @return the value of MEDIAFILE.HOUSEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getHouseid() {
+        return houseid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIAFILE.HOUSEID
+     *
+     * @param houseid the value for MEDIAFILE.HOUSEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setHouseid(String houseid) {
+        this.houseid = houseid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIAFILE.MEDIAID
+     *
+     * @return the value of MEDIAFILE.MEDIAID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getMediaid() {
+        return mediaid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIAFILE.MEDIAID
+     *
+     * @param mediaid the value for MEDIAFILE.MEDIAID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setMediaid(Long mediaid) {
+        this.mediaid = mediaid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIAFILE.STOREID
+     *
+     * @return the value of MEDIAFILE.STOREID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getStoreid() {
+        return storeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIAFILE.STOREID
+     *
+     * @param storeid the value for MEDIAFILE.STOREID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setStoreid(Long storeid) {
+        this.storeid = storeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIAFILE.FILETYPEID
+     *
+     * @return the value of MEDIAFILE.FILETYPEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getFiletypeid() {
+        return filetypeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIAFILE.FILETYPEID
+     *
+     * @param filetypeid the value for MEDIAFILE.FILETYPEID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setFiletypeid(Long filetypeid) {
+        this.filetypeid = filetypeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIAFILE.RELATIVEPATH
+     *
+     * @return the value of MEDIAFILE.RELATIVEPATH
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getRelativepath() {
+        return relativepath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIAFILE.RELATIVEPATH
+     *
+     * @param relativepath the value for MEDIAFILE.RELATIVEPATH
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setRelativepath(String relativepath) {
+        this.relativepath = relativepath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIAFILE.FILESTRUCTINFO
+     *
+     * @return the value of MEDIAFILE.FILESTRUCTINFO
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getFilestructinfo() {
+        return filestructinfo;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIAFILE.FILESTRUCTINFO
+     *
+     * @param filestructinfo the value for MEDIAFILE.FILESTRUCTINFO
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setFilestructinfo(String filestructinfo) {
+        this.filestructinfo = filestructinfo;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIAFILE.FILESIZE
+     *
+     * @return the value of MEDIAFILE.FILESIZE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getFilesize() {
+        return filesize;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIAFILE.FILESIZE
+     *
+     * @param filesize the value for MEDIAFILE.FILESIZE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setFilesize(Long filesize) {
+        this.filesize = filesize;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIAFILE.LASTMODIFIED
+     *
+     * @return the value of MEDIAFILE.LASTMODIFIED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Date getLastmodified() {
+        return lastmodified;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIAFILE.LASTMODIFIED
+     *
+     * @param lastmodified the value for MEDIAFILE.LASTMODIFIED
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setLastmodified(Date lastmodified) {
+        this.lastmodified = lastmodified;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", houseid=").append(houseid);
+        sb.append(", mediaid=").append(mediaid);
+        sb.append(", storeid=").append(storeid);
+        sb.append(", filetypeid=").append(filetypeid);
+        sb.append(", relativepath=").append(relativepath);
+        sb.append(", filestructinfo=").append(filestructinfo);
+        sb.append(", filesize=").append(filesize);
+        sb.append(", lastmodified=").append(lastmodified);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediafileExample.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediafileExample.java
new file mode 100644 (file)
index 0000000..fad72bf
--- /dev/null
@@ -0,0 +1,872 @@
+package hu.user.mediacube.rdb.model;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class MediafileExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public MediafileExample() {
+        oredCriteria = new ArrayList<>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidIsNull() {
+            addCriterion("HOUSEID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidIsNotNull() {
+            addCriterion("HOUSEID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidEqualTo(String value) {
+            addCriterion("HOUSEID =", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidNotEqualTo(String value) {
+            addCriterion("HOUSEID <>", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidGreaterThan(String value) {
+            addCriterion("HOUSEID >", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidGreaterThanOrEqualTo(String value) {
+            addCriterion("HOUSEID >=", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidLessThan(String value) {
+            addCriterion("HOUSEID <", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidLessThanOrEqualTo(String value) {
+            addCriterion("HOUSEID <=", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidLike(String value) {
+            addCriterion("HOUSEID like", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidNotLike(String value) {
+            addCriterion("HOUSEID not like", value, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidIn(List<String> values) {
+            addCriterion("HOUSEID in", values, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidNotIn(List<String> values) {
+            addCriterion("HOUSEID not in", values, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidBetween(String value1, String value2) {
+            addCriterion("HOUSEID between", value1, value2, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andHouseidNotBetween(String value1, String value2) {
+            addCriterion("HOUSEID not between", value1, value2, "houseid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMediaidIsNull() {
+            addCriterion("MEDIAID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMediaidIsNotNull() {
+            addCriterion("MEDIAID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMediaidEqualTo(Long value) {
+            addCriterion("MEDIAID =", value, "mediaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMediaidNotEqualTo(Long value) {
+            addCriterion("MEDIAID <>", value, "mediaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMediaidGreaterThan(Long value) {
+            addCriterion("MEDIAID >", value, "mediaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMediaidGreaterThanOrEqualTo(Long value) {
+            addCriterion("MEDIAID >=", value, "mediaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMediaidLessThan(Long value) {
+            addCriterion("MEDIAID <", value, "mediaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMediaidLessThanOrEqualTo(Long value) {
+            addCriterion("MEDIAID <=", value, "mediaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMediaidIn(List<Long> values) {
+            addCriterion("MEDIAID in", values, "mediaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMediaidNotIn(List<Long> values) {
+            addCriterion("MEDIAID not in", values, "mediaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMediaidBetween(Long value1, Long value2) {
+            addCriterion("MEDIAID between", value1, value2, "mediaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMediaidNotBetween(Long value1, Long value2) {
+            addCriterion("MEDIAID not between", value1, value2, "mediaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidIsNull() {
+            addCriterion("STOREID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidIsNotNull() {
+            addCriterion("STOREID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidEqualTo(Long value) {
+            addCriterion("STOREID =", value, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidNotEqualTo(Long value) {
+            addCriterion("STOREID <>", value, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidGreaterThan(Long value) {
+            addCriterion("STOREID >", value, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidGreaterThanOrEqualTo(Long value) {
+            addCriterion("STOREID >=", value, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidLessThan(Long value) {
+            addCriterion("STOREID <", value, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidLessThanOrEqualTo(Long value) {
+            addCriterion("STOREID <=", value, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidIn(List<Long> values) {
+            addCriterion("STOREID in", values, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidNotIn(List<Long> values) {
+            addCriterion("STOREID not in", values, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidBetween(Long value1, Long value2) {
+            addCriterion("STOREID between", value1, value2, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidNotBetween(Long value1, Long value2) {
+            addCriterion("STOREID not between", value1, value2, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andFiletypeidIsNull() {
+            addCriterion("FILETYPEID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFiletypeidIsNotNull() {
+            addCriterion("FILETYPEID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFiletypeidEqualTo(Long value) {
+            addCriterion("FILETYPEID =", value, "filetypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andFiletypeidNotEqualTo(Long value) {
+            addCriterion("FILETYPEID <>", value, "filetypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andFiletypeidGreaterThan(Long value) {
+            addCriterion("FILETYPEID >", value, "filetypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andFiletypeidGreaterThanOrEqualTo(Long value) {
+            addCriterion("FILETYPEID >=", value, "filetypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andFiletypeidLessThan(Long value) {
+            addCriterion("FILETYPEID <", value, "filetypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andFiletypeidLessThanOrEqualTo(Long value) {
+            addCriterion("FILETYPEID <=", value, "filetypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andFiletypeidIn(List<Long> values) {
+            addCriterion("FILETYPEID in", values, "filetypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andFiletypeidNotIn(List<Long> values) {
+            addCriterion("FILETYPEID not in", values, "filetypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andFiletypeidBetween(Long value1, Long value2) {
+            addCriterion("FILETYPEID between", value1, value2, "filetypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andFiletypeidNotBetween(Long value1, Long value2) {
+            addCriterion("FILETYPEID not between", value1, value2, "filetypeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathIsNull() {
+            addCriterion("RELATIVEPATH is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathIsNotNull() {
+            addCriterion("RELATIVEPATH is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathEqualTo(String value) {
+            addCriterion("RELATIVEPATH =", value, "relativepath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathNotEqualTo(String value) {
+            addCriterion("RELATIVEPATH <>", value, "relativepath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathGreaterThan(String value) {
+            addCriterion("RELATIVEPATH >", value, "relativepath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathGreaterThanOrEqualTo(String value) {
+            addCriterion("RELATIVEPATH >=", value, "relativepath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathLessThan(String value) {
+            addCriterion("RELATIVEPATH <", value, "relativepath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathLessThanOrEqualTo(String value) {
+            addCriterion("RELATIVEPATH <=", value, "relativepath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathLike(String value) {
+            addCriterion("RELATIVEPATH like", value, "relativepath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathNotLike(String value) {
+            addCriterion("RELATIVEPATH not like", value, "relativepath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathIn(List<String> values) {
+            addCriterion("RELATIVEPATH in", values, "relativepath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathNotIn(List<String> values) {
+            addCriterion("RELATIVEPATH not in", values, "relativepath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathBetween(String value1, String value2) {
+            addCriterion("RELATIVEPATH between", value1, value2, "relativepath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRelativepathNotBetween(String value1, String value2) {
+            addCriterion("RELATIVEPATH not between", value1, value2, "relativepath");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoIsNull() {
+            addCriterion("FILESTRUCTINFO is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoIsNotNull() {
+            addCriterion("FILESTRUCTINFO is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoEqualTo(String value) {
+            addCriterion("FILESTRUCTINFO =", value, "filestructinfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoNotEqualTo(String value) {
+            addCriterion("FILESTRUCTINFO <>", value, "filestructinfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoGreaterThan(String value) {
+            addCriterion("FILESTRUCTINFO >", value, "filestructinfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoGreaterThanOrEqualTo(String value) {
+            addCriterion("FILESTRUCTINFO >=", value, "filestructinfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoLessThan(String value) {
+            addCriterion("FILESTRUCTINFO <", value, "filestructinfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoLessThanOrEqualTo(String value) {
+            addCriterion("FILESTRUCTINFO <=", value, "filestructinfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoLike(String value) {
+            addCriterion("FILESTRUCTINFO like", value, "filestructinfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoNotLike(String value) {
+            addCriterion("FILESTRUCTINFO not like", value, "filestructinfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoIn(List<String> values) {
+            addCriterion("FILESTRUCTINFO in", values, "filestructinfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoNotIn(List<String> values) {
+            addCriterion("FILESTRUCTINFO not in", values, "filestructinfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoBetween(String value1, String value2) {
+            addCriterion("FILESTRUCTINFO between", value1, value2, "filestructinfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilestructinfoNotBetween(String value1, String value2) {
+            addCriterion("FILESTRUCTINFO not between", value1, value2, "filestructinfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilesizeIsNull() {
+            addCriterion("FILESIZE is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilesizeIsNotNull() {
+            addCriterion("FILESIZE is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilesizeEqualTo(Long value) {
+            addCriterion("FILESIZE =", value, "filesize");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilesizeNotEqualTo(Long value) {
+            addCriterion("FILESIZE <>", value, "filesize");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilesizeGreaterThan(Long value) {
+            addCriterion("FILESIZE >", value, "filesize");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilesizeGreaterThanOrEqualTo(Long value) {
+            addCriterion("FILESIZE >=", value, "filesize");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilesizeLessThan(Long value) {
+            addCriterion("FILESIZE <", value, "filesize");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilesizeLessThanOrEqualTo(Long value) {
+            addCriterion("FILESIZE <=", value, "filesize");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilesizeIn(List<Long> values) {
+            addCriterion("FILESIZE in", values, "filesize");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilesizeNotIn(List<Long> values) {
+            addCriterion("FILESIZE not in", values, "filesize");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilesizeBetween(Long value1, Long value2) {
+            addCriterion("FILESIZE between", value1, value2, "filesize");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilesizeNotBetween(Long value1, Long value2) {
+            addCriterion("FILESIZE not between", value1, value2, "filesize");
+            return (Criteria) this;
+        }
+
+        public Criteria andLastmodifiedIsNull() {
+            addCriterion("LASTMODIFIED is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLastmodifiedIsNotNull() {
+            addCriterion("LASTMODIFIED is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLastmodifiedEqualTo(Date value) {
+            addCriterion("LASTMODIFIED =", value, "lastmodified");
+            return (Criteria) this;
+        }
+
+        public Criteria andLastmodifiedNotEqualTo(Date value) {
+            addCriterion("LASTMODIFIED <>", value, "lastmodified");
+            return (Criteria) this;
+        }
+
+        public Criteria andLastmodifiedGreaterThan(Date value) {
+            addCriterion("LASTMODIFIED >", value, "lastmodified");
+            return (Criteria) this;
+        }
+
+        public Criteria andLastmodifiedGreaterThanOrEqualTo(Date value) {
+            addCriterion("LASTMODIFIED >=", value, "lastmodified");
+            return (Criteria) this;
+        }
+
+        public Criteria andLastmodifiedLessThan(Date value) {
+            addCriterion("LASTMODIFIED <", value, "lastmodified");
+            return (Criteria) this;
+        }
+
+        public Criteria andLastmodifiedLessThanOrEqualTo(Date value) {
+            addCriterion("LASTMODIFIED <=", value, "lastmodified");
+            return (Criteria) this;
+        }
+
+        public Criteria andLastmodifiedIn(List<Date> values) {
+            addCriterion("LASTMODIFIED in", values, "lastmodified");
+            return (Criteria) this;
+        }
+
+        public Criteria andLastmodifiedNotIn(List<Date> values) {
+            addCriterion("LASTMODIFIED not in", values, "lastmodified");
+            return (Criteria) this;
+        }
+
+        public Criteria andLastmodifiedBetween(Date value1, Date value2) {
+            addCriterion("LASTMODIFIED between", value1, value2, "lastmodified");
+            return (Criteria) this;
+        }
+
+        public Criteria andLastmodifiedNotBetween(Date value1, Date value2) {
+            addCriterion("LASTMODIFIED not between", value1, value2, "lastmodified");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated do_not_delete_during_merge Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criteria extends GeneratedCriteria {
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediafileKey.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/MediafileKey.java
new file mode 100644 (file)
index 0000000..baf123f
--- /dev/null
@@ -0,0 +1,64 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class MediafileKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column MEDIAFILE.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long id;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column MEDIAFILE.ID
+     *
+     * @return the value of MEDIAFILE.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column MEDIAFILE.ID
+     *
+     * @param id the value for MEDIAFILE.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table MEDIAFILE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Store.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Store.java
new file mode 100644 (file)
index 0000000..471e67d
--- /dev/null
@@ -0,0 +1,132 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class Store extends StoreKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STORE.NAME
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String name;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STORE.ISSYSTEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String issystem;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STORE.ISLOWRES
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String islowres;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STORE.NAME
+     *
+     * @return the value of STORE.NAME
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STORE.NAME
+     *
+     * @param name the value for STORE.NAME
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STORE.ISSYSTEM
+     *
+     * @return the value of STORE.ISSYSTEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getIssystem() {
+        return issystem;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STORE.ISSYSTEM
+     *
+     * @param issystem the value for STORE.ISSYSTEM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setIssystem(String issystem) {
+        this.issystem = issystem;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STORE.ISLOWRES
+     *
+     * @return the value of STORE.ISLOWRES
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getIslowres() {
+        return islowres;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STORE.ISLOWRES
+     *
+     * @param islowres the value for STORE.ISLOWRES
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setIslowres(String islowres) {
+        this.islowres = islowres;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", name=").append(name);
+        sb.append(", issystem=").append(issystem);
+        sb.append(", islowres=").append(islowres);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/StoreExample.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/StoreExample.java
new file mode 100644 (file)
index 0000000..dadfa87
--- /dev/null
@@ -0,0 +1,571 @@
+package hu.user.mediacube.rdb.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StoreExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public StoreExample() {
+        oredCriteria = new ArrayList<>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNull() {
+            addCriterion("NAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNotNull() {
+            addCriterion("NAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEqualTo(String value) {
+            addCriterion("NAME =", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotEqualTo(String value) {
+            addCriterion("NAME <>", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThan(String value) {
+            addCriterion("NAME >", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThanOrEqualTo(String value) {
+            addCriterion("NAME >=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThan(String value) {
+            addCriterion("NAME <", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThanOrEqualTo(String value) {
+            addCriterion("NAME <=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLike(String value) {
+            addCriterion("NAME like", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotLike(String value) {
+            addCriterion("NAME not like", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIn(List<String> values) {
+            addCriterion("NAME in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotIn(List<String> values) {
+            addCriterion("NAME not in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameBetween(String value1, String value2) {
+            addCriterion("NAME between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotBetween(String value1, String value2) {
+            addCriterion("NAME not between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemIsNull() {
+            addCriterion("ISSYSTEM is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemIsNotNull() {
+            addCriterion("ISSYSTEM is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemEqualTo(String value) {
+            addCriterion("ISSYSTEM =", value, "issystem");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemNotEqualTo(String value) {
+            addCriterion("ISSYSTEM <>", value, "issystem");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemGreaterThan(String value) {
+            addCriterion("ISSYSTEM >", value, "issystem");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemGreaterThanOrEqualTo(String value) {
+            addCriterion("ISSYSTEM >=", value, "issystem");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemLessThan(String value) {
+            addCriterion("ISSYSTEM <", value, "issystem");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemLessThanOrEqualTo(String value) {
+            addCriterion("ISSYSTEM <=", value, "issystem");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemLike(String value) {
+            addCriterion("ISSYSTEM like", value, "issystem");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemNotLike(String value) {
+            addCriterion("ISSYSTEM not like", value, "issystem");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemIn(List<String> values) {
+            addCriterion("ISSYSTEM in", values, "issystem");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemNotIn(List<String> values) {
+            addCriterion("ISSYSTEM not in", values, "issystem");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemBetween(String value1, String value2) {
+            addCriterion("ISSYSTEM between", value1, value2, "issystem");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssystemNotBetween(String value1, String value2) {
+            addCriterion("ISSYSTEM not between", value1, value2, "issystem");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresIsNull() {
+            addCriterion("ISLOWRES is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresIsNotNull() {
+            addCriterion("ISLOWRES is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresEqualTo(String value) {
+            addCriterion("ISLOWRES =", value, "islowres");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresNotEqualTo(String value) {
+            addCriterion("ISLOWRES <>", value, "islowres");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresGreaterThan(String value) {
+            addCriterion("ISLOWRES >", value, "islowres");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresGreaterThanOrEqualTo(String value) {
+            addCriterion("ISLOWRES >=", value, "islowres");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresLessThan(String value) {
+            addCriterion("ISLOWRES <", value, "islowres");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresLessThanOrEqualTo(String value) {
+            addCriterion("ISLOWRES <=", value, "islowres");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresLike(String value) {
+            addCriterion("ISLOWRES like", value, "islowres");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresNotLike(String value) {
+            addCriterion("ISLOWRES not like", value, "islowres");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresIn(List<String> values) {
+            addCriterion("ISLOWRES in", values, "islowres");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresNotIn(List<String> values) {
+            addCriterion("ISLOWRES not in", values, "islowres");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresBetween(String value1, String value2) {
+            addCriterion("ISLOWRES between", value1, value2, "islowres");
+            return (Criteria) this;
+        }
+
+        public Criteria andIslowresNotBetween(String value1, String value2) {
+            addCriterion("ISLOWRES not between", value1, value2, "islowres");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table STORE
+     *
+     * @mbg.generated do_not_delete_during_merge Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criteria extends GeneratedCriteria {
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/StoreKey.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/StoreKey.java
new file mode 100644 (file)
index 0000000..823e5c8
--- /dev/null
@@ -0,0 +1,64 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class StoreKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STORE.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long id;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STORE.ID
+     *
+     * @return the value of STORE.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STORE.ID
+     *
+     * @param id the value for STORE.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STORE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Storeuri.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/Storeuri.java
new file mode 100644 (file)
index 0000000..6c76250
--- /dev/null
@@ -0,0 +1,404 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class Storeuri extends StoreuriKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STOREURI.STOREID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long storeid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STOREURI.PROTOCOL
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String protocol;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STOREURI.DELIVERY
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String delivery;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STOREURI.URI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String uri;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STOREURI.ISSTREAM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String isstream;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STOREURI.ISSOURCE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String issource;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STOREURI.ISTARGET
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String istarget;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STOREURI.USERNAME
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String username;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STOREURI.PASSWORD
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String password;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STOREURI.ROOTPATH
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private String rootpath;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STOREURI.PORTNUMBER
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Integer portnumber;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STOREURI.STOREID
+     *
+     * @return the value of STOREURI.STOREID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getStoreid() {
+        return storeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STOREURI.STOREID
+     *
+     * @param storeid the value for STOREURI.STOREID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setStoreid(Long storeid) {
+        this.storeid = storeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STOREURI.PROTOCOL
+     *
+     * @return the value of STOREURI.PROTOCOL
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getProtocol() {
+        return protocol;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STOREURI.PROTOCOL
+     *
+     * @param protocol the value for STOREURI.PROTOCOL
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setProtocol(String protocol) {
+        this.protocol = protocol;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STOREURI.DELIVERY
+     *
+     * @return the value of STOREURI.DELIVERY
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getDelivery() {
+        return delivery;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STOREURI.DELIVERY
+     *
+     * @param delivery the value for STOREURI.DELIVERY
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDelivery(String delivery) {
+        this.delivery = delivery;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STOREURI.URI
+     *
+     * @return the value of STOREURI.URI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getUri() {
+        return uri;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STOREURI.URI
+     *
+     * @param uri the value for STOREURI.URI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setUri(String uri) {
+        this.uri = uri;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STOREURI.ISSTREAM
+     *
+     * @return the value of STOREURI.ISSTREAM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getIsstream() {
+        return isstream;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STOREURI.ISSTREAM
+     *
+     * @param isstream the value for STOREURI.ISSTREAM
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setIsstream(String isstream) {
+        this.isstream = isstream;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STOREURI.ISSOURCE
+     *
+     * @return the value of STOREURI.ISSOURCE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getIssource() {
+        return issource;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STOREURI.ISSOURCE
+     *
+     * @param issource the value for STOREURI.ISSOURCE
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setIssource(String issource) {
+        this.issource = issource;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STOREURI.ISTARGET
+     *
+     * @return the value of STOREURI.ISTARGET
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getIstarget() {
+        return istarget;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STOREURI.ISTARGET
+     *
+     * @param istarget the value for STOREURI.ISTARGET
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setIstarget(String istarget) {
+        this.istarget = istarget;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STOREURI.USERNAME
+     *
+     * @return the value of STOREURI.USERNAME
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getUsername() {
+        return username;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STOREURI.USERNAME
+     *
+     * @param username the value for STOREURI.USERNAME
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STOREURI.PASSWORD
+     *
+     * @return the value of STOREURI.PASSWORD
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getPassword() {
+        return password;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STOREURI.PASSWORD
+     *
+     * @param password the value for STOREURI.PASSWORD
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STOREURI.ROOTPATH
+     *
+     * @return the value of STOREURI.ROOTPATH
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getRootpath() {
+        return rootpath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STOREURI.ROOTPATH
+     *
+     * @param rootpath the value for STOREURI.ROOTPATH
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setRootpath(String rootpath) {
+        this.rootpath = rootpath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STOREURI.PORTNUMBER
+     *
+     * @return the value of STOREURI.PORTNUMBER
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Integer getPortnumber() {
+        return portnumber;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STOREURI.PORTNUMBER
+     *
+     * @param portnumber the value for STOREURI.PORTNUMBER
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setPortnumber(Integer portnumber) {
+        this.portnumber = portnumber;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", storeid=").append(storeid);
+        sb.append(", protocol=").append(protocol);
+        sb.append(", delivery=").append(delivery);
+        sb.append(", uri=").append(uri);
+        sb.append(", isstream=").append(isstream);
+        sb.append(", issource=").append(issource);
+        sb.append(", istarget=").append(istarget);
+        sb.append(", username=").append(username);
+        sb.append(", password=").append(password);
+        sb.append(", rootpath=").append(rootpath);
+        sb.append(", portnumber=").append(portnumber);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/StoreuriExample.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/StoreuriExample.java
new file mode 100644 (file)
index 0000000..729cb5f
--- /dev/null
@@ -0,0 +1,1111 @@
+package hu.user.mediacube.rdb.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StoreuriExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public StoreuriExample() {
+        oredCriteria = new ArrayList<>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidIsNull() {
+            addCriterion("STOREID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidIsNotNull() {
+            addCriterion("STOREID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidEqualTo(Long value) {
+            addCriterion("STOREID =", value, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidNotEqualTo(Long value) {
+            addCriterion("STOREID <>", value, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidGreaterThan(Long value) {
+            addCriterion("STOREID >", value, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidGreaterThanOrEqualTo(Long value) {
+            addCriterion("STOREID >=", value, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidLessThan(Long value) {
+            addCriterion("STOREID <", value, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidLessThanOrEqualTo(Long value) {
+            addCriterion("STOREID <=", value, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidIn(List<Long> values) {
+            addCriterion("STOREID in", values, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidNotIn(List<Long> values) {
+            addCriterion("STOREID not in", values, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidBetween(Long value1, Long value2) {
+            addCriterion("STOREID between", value1, value2, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoreidNotBetween(Long value1, Long value2) {
+            addCriterion("STOREID not between", value1, value2, "storeid");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolIsNull() {
+            addCriterion("PROTOCOL is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolIsNotNull() {
+            addCriterion("PROTOCOL is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolEqualTo(String value) {
+            addCriterion("PROTOCOL =", value, "protocol");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolNotEqualTo(String value) {
+            addCriterion("PROTOCOL <>", value, "protocol");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolGreaterThan(String value) {
+            addCriterion("PROTOCOL >", value, "protocol");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolGreaterThanOrEqualTo(String value) {
+            addCriterion("PROTOCOL >=", value, "protocol");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolLessThan(String value) {
+            addCriterion("PROTOCOL <", value, "protocol");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolLessThanOrEqualTo(String value) {
+            addCriterion("PROTOCOL <=", value, "protocol");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolLike(String value) {
+            addCriterion("PROTOCOL like", value, "protocol");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolNotLike(String value) {
+            addCriterion("PROTOCOL not like", value, "protocol");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolIn(List<String> values) {
+            addCriterion("PROTOCOL in", values, "protocol");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolNotIn(List<String> values) {
+            addCriterion("PROTOCOL not in", values, "protocol");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolBetween(String value1, String value2) {
+            addCriterion("PROTOCOL between", value1, value2, "protocol");
+            return (Criteria) this;
+        }
+
+        public Criteria andProtocolNotBetween(String value1, String value2) {
+            addCriterion("PROTOCOL not between", value1, value2, "protocol");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryIsNull() {
+            addCriterion("DELIVERY is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryIsNotNull() {
+            addCriterion("DELIVERY is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryEqualTo(String value) {
+            addCriterion("DELIVERY =", value, "delivery");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryNotEqualTo(String value) {
+            addCriterion("DELIVERY <>", value, "delivery");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryGreaterThan(String value) {
+            addCriterion("DELIVERY >", value, "delivery");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryGreaterThanOrEqualTo(String value) {
+            addCriterion("DELIVERY >=", value, "delivery");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryLessThan(String value) {
+            addCriterion("DELIVERY <", value, "delivery");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryLessThanOrEqualTo(String value) {
+            addCriterion("DELIVERY <=", value, "delivery");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryLike(String value) {
+            addCriterion("DELIVERY like", value, "delivery");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryNotLike(String value) {
+            addCriterion("DELIVERY not like", value, "delivery");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryIn(List<String> values) {
+            addCriterion("DELIVERY in", values, "delivery");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryNotIn(List<String> values) {
+            addCriterion("DELIVERY not in", values, "delivery");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryBetween(String value1, String value2) {
+            addCriterion("DELIVERY between", value1, value2, "delivery");
+            return (Criteria) this;
+        }
+
+        public Criteria andDeliveryNotBetween(String value1, String value2) {
+            addCriterion("DELIVERY not between", value1, value2, "delivery");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriIsNull() {
+            addCriterion("URI is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriIsNotNull() {
+            addCriterion("URI is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriEqualTo(String value) {
+            addCriterion("URI =", value, "uri");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriNotEqualTo(String value) {
+            addCriterion("URI <>", value, "uri");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriGreaterThan(String value) {
+            addCriterion("URI >", value, "uri");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriGreaterThanOrEqualTo(String value) {
+            addCriterion("URI >=", value, "uri");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriLessThan(String value) {
+            addCriterion("URI <", value, "uri");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriLessThanOrEqualTo(String value) {
+            addCriterion("URI <=", value, "uri");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriLike(String value) {
+            addCriterion("URI like", value, "uri");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriNotLike(String value) {
+            addCriterion("URI not like", value, "uri");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriIn(List<String> values) {
+            addCriterion("URI in", values, "uri");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriNotIn(List<String> values) {
+            addCriterion("URI not in", values, "uri");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriBetween(String value1, String value2) {
+            addCriterion("URI between", value1, value2, "uri");
+            return (Criteria) this;
+        }
+
+        public Criteria andUriNotBetween(String value1, String value2) {
+            addCriterion("URI not between", value1, value2, "uri");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamIsNull() {
+            addCriterion("ISSTREAM is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamIsNotNull() {
+            addCriterion("ISSTREAM is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamEqualTo(String value) {
+            addCriterion("ISSTREAM =", value, "isstream");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamNotEqualTo(String value) {
+            addCriterion("ISSTREAM <>", value, "isstream");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamGreaterThan(String value) {
+            addCriterion("ISSTREAM >", value, "isstream");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamGreaterThanOrEqualTo(String value) {
+            addCriterion("ISSTREAM >=", value, "isstream");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamLessThan(String value) {
+            addCriterion("ISSTREAM <", value, "isstream");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamLessThanOrEqualTo(String value) {
+            addCriterion("ISSTREAM <=", value, "isstream");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamLike(String value) {
+            addCriterion("ISSTREAM like", value, "isstream");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamNotLike(String value) {
+            addCriterion("ISSTREAM not like", value, "isstream");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamIn(List<String> values) {
+            addCriterion("ISSTREAM in", values, "isstream");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamNotIn(List<String> values) {
+            addCriterion("ISSTREAM not in", values, "isstream");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamBetween(String value1, String value2) {
+            addCriterion("ISSTREAM between", value1, value2, "isstream");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsstreamNotBetween(String value1, String value2) {
+            addCriterion("ISSTREAM not between", value1, value2, "isstream");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceIsNull() {
+            addCriterion("ISSOURCE is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceIsNotNull() {
+            addCriterion("ISSOURCE is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceEqualTo(String value) {
+            addCriterion("ISSOURCE =", value, "issource");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceNotEqualTo(String value) {
+            addCriterion("ISSOURCE <>", value, "issource");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceGreaterThan(String value) {
+            addCriterion("ISSOURCE >", value, "issource");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceGreaterThanOrEqualTo(String value) {
+            addCriterion("ISSOURCE >=", value, "issource");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceLessThan(String value) {
+            addCriterion("ISSOURCE <", value, "issource");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceLessThanOrEqualTo(String value) {
+            addCriterion("ISSOURCE <=", value, "issource");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceLike(String value) {
+            addCriterion("ISSOURCE like", value, "issource");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceNotLike(String value) {
+            addCriterion("ISSOURCE not like", value, "issource");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceIn(List<String> values) {
+            addCriterion("ISSOURCE in", values, "issource");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceNotIn(List<String> values) {
+            addCriterion("ISSOURCE not in", values, "issource");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceBetween(String value1, String value2) {
+            addCriterion("ISSOURCE between", value1, value2, "issource");
+            return (Criteria) this;
+        }
+
+        public Criteria andIssourceNotBetween(String value1, String value2) {
+            addCriterion("ISSOURCE not between", value1, value2, "issource");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetIsNull() {
+            addCriterion("ISTARGET is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetIsNotNull() {
+            addCriterion("ISTARGET is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetEqualTo(String value) {
+            addCriterion("ISTARGET =", value, "istarget");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetNotEqualTo(String value) {
+            addCriterion("ISTARGET <>", value, "istarget");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetGreaterThan(String value) {
+            addCriterion("ISTARGET >", value, "istarget");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetGreaterThanOrEqualTo(String value) {
+            addCriterion("ISTARGET >=", value, "istarget");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetLessThan(String value) {
+            addCriterion("ISTARGET <", value, "istarget");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetLessThanOrEqualTo(String value) {
+            addCriterion("ISTARGET <=", value, "istarget");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetLike(String value) {
+            addCriterion("ISTARGET like", value, "istarget");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetNotLike(String value) {
+            addCriterion("ISTARGET not like", value, "istarget");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetIn(List<String> values) {
+            addCriterion("ISTARGET in", values, "istarget");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetNotIn(List<String> values) {
+            addCriterion("ISTARGET not in", values, "istarget");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetBetween(String value1, String value2) {
+            addCriterion("ISTARGET between", value1, value2, "istarget");
+            return (Criteria) this;
+        }
+
+        public Criteria andIstargetNotBetween(String value1, String value2) {
+            addCriterion("ISTARGET not between", value1, value2, "istarget");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameIsNull() {
+            addCriterion("USERNAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameIsNotNull() {
+            addCriterion("USERNAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameEqualTo(String value) {
+            addCriterion("USERNAME =", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameNotEqualTo(String value) {
+            addCriterion("USERNAME <>", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameGreaterThan(String value) {
+            addCriterion("USERNAME >", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameGreaterThanOrEqualTo(String value) {
+            addCriterion("USERNAME >=", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameLessThan(String value) {
+            addCriterion("USERNAME <", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameLessThanOrEqualTo(String value) {
+            addCriterion("USERNAME <=", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameLike(String value) {
+            addCriterion("USERNAME like", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameNotLike(String value) {
+            addCriterion("USERNAME not like", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameIn(List<String> values) {
+            addCriterion("USERNAME in", values, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameNotIn(List<String> values) {
+            addCriterion("USERNAME not in", values, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameBetween(String value1, String value2) {
+            addCriterion("USERNAME between", value1, value2, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameNotBetween(String value1, String value2) {
+            addCriterion("USERNAME not between", value1, value2, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordIsNull() {
+            addCriterion("PASSWORD is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordIsNotNull() {
+            addCriterion("PASSWORD is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordEqualTo(String value) {
+            addCriterion("PASSWORD =", value, "password");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordNotEqualTo(String value) {
+            addCriterion("PASSWORD <>", value, "password");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordGreaterThan(String value) {
+            addCriterion("PASSWORD >", value, "password");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordGreaterThanOrEqualTo(String value) {
+            addCriterion("PASSWORD >=", value, "password");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordLessThan(String value) {
+            addCriterion("PASSWORD <", value, "password");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordLessThanOrEqualTo(String value) {
+            addCriterion("PASSWORD <=", value, "password");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordLike(String value) {
+            addCriterion("PASSWORD like", value, "password");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordNotLike(String value) {
+            addCriterion("PASSWORD not like", value, "password");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordIn(List<String> values) {
+            addCriterion("PASSWORD in", values, "password");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordNotIn(List<String> values) {
+            addCriterion("PASSWORD not in", values, "password");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordBetween(String value1, String value2) {
+            addCriterion("PASSWORD between", value1, value2, "password");
+            return (Criteria) this;
+        }
+
+        public Criteria andPasswordNotBetween(String value1, String value2) {
+            addCriterion("PASSWORD not between", value1, value2, "password");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathIsNull() {
+            addCriterion("ROOTPATH is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathIsNotNull() {
+            addCriterion("ROOTPATH is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathEqualTo(String value) {
+            addCriterion("ROOTPATH =", value, "rootpath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathNotEqualTo(String value) {
+            addCriterion("ROOTPATH <>", value, "rootpath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathGreaterThan(String value) {
+            addCriterion("ROOTPATH >", value, "rootpath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathGreaterThanOrEqualTo(String value) {
+            addCriterion("ROOTPATH >=", value, "rootpath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathLessThan(String value) {
+            addCriterion("ROOTPATH <", value, "rootpath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathLessThanOrEqualTo(String value) {
+            addCriterion("ROOTPATH <=", value, "rootpath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathLike(String value) {
+            addCriterion("ROOTPATH like", value, "rootpath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathNotLike(String value) {
+            addCriterion("ROOTPATH not like", value, "rootpath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathIn(List<String> values) {
+            addCriterion("ROOTPATH in", values, "rootpath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathNotIn(List<String> values) {
+            addCriterion("ROOTPATH not in", values, "rootpath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathBetween(String value1, String value2) {
+            addCriterion("ROOTPATH between", value1, value2, "rootpath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRootpathNotBetween(String value1, String value2) {
+            addCriterion("ROOTPATH not between", value1, value2, "rootpath");
+            return (Criteria) this;
+        }
+
+        public Criteria andPortnumberIsNull() {
+            addCriterion("PORTNUMBER is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPortnumberIsNotNull() {
+            addCriterion("PORTNUMBER is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPortnumberEqualTo(Integer value) {
+            addCriterion("PORTNUMBER =", value, "portnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPortnumberNotEqualTo(Integer value) {
+            addCriterion("PORTNUMBER <>", value, "portnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPortnumberGreaterThan(Integer value) {
+            addCriterion("PORTNUMBER >", value, "portnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPortnumberGreaterThanOrEqualTo(Integer value) {
+            addCriterion("PORTNUMBER >=", value, "portnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPortnumberLessThan(Integer value) {
+            addCriterion("PORTNUMBER <", value, "portnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPortnumberLessThanOrEqualTo(Integer value) {
+            addCriterion("PORTNUMBER <=", value, "portnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPortnumberIn(List<Integer> values) {
+            addCriterion("PORTNUMBER in", values, "portnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPortnumberNotIn(List<Integer> values) {
+            addCriterion("PORTNUMBER not in", values, "portnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPortnumberBetween(Integer value1, Integer value2) {
+            addCriterion("PORTNUMBER between", value1, value2, "portnumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPortnumberNotBetween(Integer value1, Integer value2) {
+            addCriterion("PORTNUMBER not between", value1, value2, "portnumber");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table STOREURI
+     *
+     * @mbg.generated do_not_delete_during_merge Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criteria extends GeneratedCriteria {
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/StoreuriKey.java b/mc-intergator/mc-db/src/main/generated/hu/user/mediacube/rdb/model/StoreuriKey.java
new file mode 100644 (file)
index 0000000..639aa15
--- /dev/null
@@ -0,0 +1,64 @@
+package hu.user.mediacube.rdb.model;
+
+import java.io.Serializable;
+
+public class StoreuriKey implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column STOREURI.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private Long id;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column STOREURI.ID
+     *
+     * @return the value of STOREURI.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public Long getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column STOREURI.ID
+     *
+     * @param id the value for STOREURI.ID
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table STOREURI
+     *
+     * @mbg.generated Tue Aug 11 16:41:06 CEST 2020
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/java/hu/user/mediacube/rdb/MediaCubeMapper.java b/mc-intergator/mc-db/src/main/java/hu/user/mediacube/rdb/MediaCubeMapper.java
new file mode 100644 (file)
index 0000000..62f6a83
--- /dev/null
@@ -0,0 +1,48 @@
+package hu.user.mediacube.rdb;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.mapping.StatementType;
+
+@Mapper
+public interface MediaCubeMapper {
+
+
+    @Select({"SELECT C.TABNAME || '.' || C.COLNAME FROM SYSCAT.TABLES AS T, SYSCAT.COLUMNS AS C WHERE T.TBSPACEID = #{sid} AND T.TABLEID = #{tid} AND C.COLNO" +
+            " = #{cid} AND C.TABSCHEMA = T.TABSCHEMA AND C.TABNAME = T.TABNAME"})
+    String getColumnName(int sid, int tid, int cid);
+
+    @Update({"CALL SET_CONSTRAINTS('YES')"})
+    @Options(statementType = StatementType.CALLABLE)
+    void constraintsOn();
+
+    @Update({"CALL SET_CONSTRAINTS('NO')"})
+    @Options(statementType = StatementType.CALLABLE)
+    void constraintsOff();
+
+    @Update({"TRUNCATE TABLE FILETYPE DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE"})
+    void truncateFileType();
+
+    @Update({"TRUNCATE TABLE MEDIAFILE DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE"})
+    void truncateMediaFile();
+
+    @Update({"TRUNCATE TABLE MEDIADESCRIPTION DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE"})
+    void truncateMediaDescription();
+
+    @Update({"TRUNCATE TABLE STOREURI DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE"})
+    void truncateStoreUri();
+
+    @Update({"TRUNCATE TABLE STORE DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE"})
+    void truncateStore();
+
+    @Update({"TRUNCATE TABLE MEDIA DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE"})
+    void truncateMedia();
+
+    @Update({"TRUNCATE TABLE ITEM DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE"})
+    void truncateItem();
+
+    @Update({"TRUNCATE TABLE MASTERID DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE"})
+    void truncateMasterId();
+}
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/main/resources/generator-config.xml b/mc-intergator/mc-db/src/main/resources/generator-config.xml
new file mode 100644 (file)
index 0000000..591d549
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
+<generatorConfiguration>
+    <context id="context1" targetRuntime="MyBatis3" defaultModelType="hierarchical">
+        <plugin type="org.mybatis.generator.plugins.MapperAnnotationPlugin"/>
+        <plugin type="org.mybatis.generator.plugins.RowBoundsPlugin"></plugin>
+        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>
+        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"></plugin>
+        <jdbcConnection connectionURL="jdbc:db2://10.228.212.42:50000/mc" userId="blobtest" password="blobtest" driverClass="com.ibm.db2.jcc.DB2Driver">
+            <property name="nullCatalogMeansCurrent" value="true"/>
+        </jdbcConnection>
+        <javaModelGenerator targetPackage="hu.user.mediacube.rdb.model" targetProject="../db/src/main/generated"/>
+        <javaClientGenerator targetPackage="hu.user.mediacube.rdb" targetProject="../db/src/main/generated" type="ANNOTATEDMAPPER"/>
+        <table tableName="MASTERID">
+            <generatedKey sqlStatement="JDBC" column="ID"/>
+        </table>
+        <table tableName="ITEMTYPE">
+            <generatedKey sqlStatement="JDBC" column="ID"/>
+        </table>
+        <table tableName="STORE">
+            <generatedKey sqlStatement="JDBC" column="ID"/>
+        </table>
+        <table tableName="STOREURI">
+            <generatedKey sqlStatement="JDBC" column="ID"/>
+        </table>
+        <table tableName="FILETYPE">
+            <generatedKey sqlStatement="JDBC" column="ID"/>
+        </table>
+        <table tableName="ITEM"/>
+        <table tableName="MEDIA"/>
+        <table tableName="MEDIAFILE">
+            <generatedKey sqlStatement="JDBC" column="ID"/>
+        </table>
+    </context>
+</generatorConfiguration>
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/test/resources/application-test.yaml b/mc-intergator/mc-db/src/test/resources/application-test.yaml
new file mode 100644 (file)
index 0000000..7b13034
--- /dev/null
@@ -0,0 +1,28 @@
+### Spring
+spring:
+  main:
+    banner-mode: off
+  output: 
+    ansi:
+      enabled: always
+
+datasources:
+  maszkaweb:
+    driver-class-name: com.mysql.jdbc.Driver
+    type: com.zaxxer.hikari.HikariDataSource
+    jdbcUrl: jdbc:mysql://localhost:3306/maszkaweb?useUnicode=true&characterEncoding=UTF-8
+    username: root
+    password: password
+    pool-name: pool-maszkaweb
+    maximum-pool-size: 50
+    minimum-idle: 10
+
+  navision:
+    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+    type: com.zaxxer.hikari.HikariDataSource
+    jdbcUrl: jdbc:sqlserver://localhost:1433;database=maszka_nav
+    username: navision
+    password: password
+    pool-name: pool-navision
+    maximum-pool-size: 10
+    minimum-idle: 10
diff --git a/mc-intergator/mc-db/src/test/resources/logback-test.xml b/mc-intergator/mc-db/src/test/resources/logback-test.xml
new file mode 100644 (file)
index 0000000..5034f4a
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <include resource="org/springframework/boot/logging/logback/base.xml" />
+    <logger name="org.springframework" level="OFF"/>
+</configuration>
\ No newline at end of file
diff --git a/mc-intergator/mc-db/src/test/resources/navision-generator-config.xml b/mc-intergator/mc-db/src/test/resources/navision-generator-config.xml
new file mode 100644 (file)
index 0000000..23dcb37
--- /dev/null
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
+<generatorConfiguration>
+  <context id="context1" targetRuntime="MyBatis3" defaultModelType="hierarchical">
+    <plugin type="org.mybatis.generator.plugins.MapperAnnotationPlugin" />
+    <plugin type="org.mybatis.generator.plugins.RenameExampleClassPlugin">
+      <property name="searchString" value="Example$" />
+      <property name="replaceString" value="Criteria" />
+    </plugin>
+    <plugin type="org.mybatis.generator.plugins.RowBoundsPlugin"></plugin>
+    <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>
+    <plugin type="org.mybatis.generator.plugins.ToStringPlugin"></plugin>
+    <jdbcConnection connectionURL="jdbc:sqlserver://localhost:1433;database=maszka_nav" userId="navision" password="password"
+                    driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver">
+      <property name="nullCatalogMeansCurrent" value="true" />
+    </jdbcConnection>
+    <javaModelGenerator targetPackage="net.elgekko.navision.rdb.model" targetProject="../maszka-db/src/test/generated" />
+    <javaClientGenerator targetPackage="net.elgekko.navision.rdb" targetProject="../maszka-db/src/test/generated" type="ANNOTATEDMAPPER" />
+    <table tableName="Maszka Kft_$Keyword" domainObjectName="Keyword" />
+    <table tableName="Maszka Kft_$Item" domainObjectName="Item">
+      <ignoreColumn column="Duty Due %" />
+      <ignoreColumn column="Indirect Cost %" />
+      <ignoreColumn column="Profit %" />
+      <ignoreColumn column="Scrap %" />
+      <ignoreColumn column="VAT Bus_ Posting Gr_ (Price)" />
+    </table>
+    <table tableName="Maszka Kft_$Product Catalog Tree" domainObjectName="Catalog" />
+    <table tableName="Maszka Kft_$Warehouse Entry" domainObjectName="ItemWareHouse">
+      <columnOverride column="Qty_ (Base)" property="QtyBase" />
+    </table>
+    <table tableName="Maszka Kft_$Keyword Link" domainObjectName="ItemKeyword" />
+    <table tableName="Maszka Kft_$Item Size" domainObjectName="ItemSize" />
+    <table tableName="Maszka Kft_$Item Variant" domainObjectName="ItemVariant" />
+    <table tableName="Maszka Kft_$Suggested Items" domainObjectName="ItemSuggestion" />
+    <table tableName="Maszka Kft_$Customer" domainObjectName="Customer" >
+      <columnOverride column="Prepayment %" property="PrepaymentPercent" />
+      <columnOverride column="Credit Limit (LCY)" property="CreditLimitLCY" />
+    </table>
+
+  </context>
+</generatorConfiguration>
\ No newline at end of file
diff --git a/mc-intergator/pom.xml b/mc-intergator/pom.xml
new file mode 100644 (file)
index 0000000..18a3339
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>net.elgekko.mediacube</groupId>
+    <artifactId>mc-integrator</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <packaging>pom</packaging>
+    <properties>
+        <java.version>1.8</java.version>
+        <spring.version>2.2.4.RELEASE</spring.version>
+    </properties>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.2.4.RELEASE</version>
+        <!-- lookup parent from repository -->
+        <relativePath/>
+    </parent>
+    <modules>
+        <module>integration-amc</module>
+        <module>dumper-mc</module>
+        <module>mc-db</module>
+        <module>tsm-clientapi</module>
+    </modules>
+</project>
diff --git a/mc-intergator/sync.cmd b/mc-intergator/sync.cmd
new file mode 100644 (file)
index 0000000..98b8b62
--- /dev/null
@@ -0,0 +1,7 @@
+:more_to_process
+
+    wsl inotifywait -r -e modify,attrib,close_write,move,create,delete maszka-ui/src/main/resources
+    wsl rsync -r maszka-ui/src/main/resources/ maszka-ui/target/classes
+
+goto :more_to_process
+
diff --git a/mc-intergator/tsm-clientapi/pom.xml b/mc-intergator/tsm-clientapi/pom.xml
new file mode 100644 (file)
index 0000000..b838fa7
--- /dev/null
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>hu.user.tsm</groupId>
+    <artifactId>tsm-clientapi</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <parent>
+        <groupId>net.elgekko.mediacube</groupId>
+        <artifactId>mc-integrator</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-autoconfigure</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <mode>development</mode>
+                            <url>${project.url}</url>
+                            <key>value</key>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/Main.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/Main.java
new file mode 100644 (file)
index 0000000..4172bdc
--- /dev/null
@@ -0,0 +1,57 @@
+package user.tsm.client;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.ApplicationContext;
+
+@SpringBootApplication()
+public class Main implements CommandLineRunner {
+    private static final Logger logger = LoggerFactory.getLogger("TSMClient");
+    @Value("${tsm.hlname}")
+    private String hlname;
+    @Value("${tsm.separator}")
+    private String separator;
+
+    public static void main(String[] args) {
+        ApplicationContext ctx = SpringApplication.run(Main.class, args);
+    }
+
+    @Override
+    public void run(String... args) throws Exception {
+        TSMClient server = null;
+
+        for (int i = 0; i < 100; i++) {
+            try {
+                logger.info("Try connect");
+                server = new TSMClient("PASANODE");
+                server.connect(null, null);
+                logger.info("Connected");
+                TSMBackupFileObject[] result = null;
+                result = server.queryActiveBackupObjects("NEXIO", hlname, "\\" + args[0]);
+                if (result != null) {
+                    logger.info("Active objects count {}", result.length);
+                    for (TSMBackupFileObject o : result) {
+                        logger.info("Size {}", o.getSizeEstimate());
+                    }
+                }
+//            result = server.queryInActiveBackupObjects("NEXIO", hlname, "\\" + args[0]);
+//            if (result != null) {
+//                logger.info("Inactive objects count {}", result.length);
+//                for (TSMBackupFileObject o : result) {
+//                    logger.info("Size {}", o.getSizeEstimate());
+//                }
+//            }
+            } catch (Exception e) {
+                logger.error("Message: {}", e.getMessage());
+            } finally {
+                if ((server != null) && (server.isConnected()))
+                    server.disconnect();
+            }
+        }
+
+    }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMArchiveFileObject.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMArchiveFileObject.java
new file mode 100644 (file)
index 0000000..2bbed95
--- /dev/null
@@ -0,0 +1,34 @@
+package user.tsm.client;
+
+import user.tsm.client.api.internal.SndArchiveData;
+import user.tsm.client.api.internal.TSMAPIConstants;
+
+
+
+public class TSMArchiveFileObject extends TSMObject
+{
+       public TSMArchiveFileObject( String fileSpaceName,String highLevelName,String lowLevelName )
+       {
+               super( fileSpaceName,highLevelName,lowLevelName );
+       }
+
+       public TSMArchiveFileObject( String fileSpaceName,String highLevelName,String lowLevelName,String managementClassName )
+       {
+               super( fileSpaceName,highLevelName,lowLevelName,managementClassName );
+       }
+
+       public short getTypeDefinitionForBindMCAndSendObj()
+       {
+               return TSMAPIConstants.stArchive;
+       }
+
+       public short getTypeDefinitionForGetData()
+       {
+               return TSMAPIConstants.gtArchive;
+       }
+
+       public SndArchiveData getSendObjBuffer()
+       {
+               return new SndArchiveData();
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMBackupFileObject.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMBackupFileObject.java
new file mode 100644 (file)
index 0000000..741a995
--- /dev/null
@@ -0,0 +1,43 @@
+package user.tsm.client;
+
+import user.tsm.client.api.internal.TSMAPIConstants;
+
+public class TSMBackupFileObject extends TSMObject {
+       private long sizeEstimate;
+
+       public TSMBackupFileObject(String fileSpaceName, String highLevelName,
+                       String lowLevelName) {
+               super(fileSpaceName, highLevelName, lowLevelName);
+       }
+
+       public TSMBackupFileObject(String fileSpaceName, String highLevelName,
+                       String lowLevelName, long sizeEstimate) {
+               super(fileSpaceName, highLevelName, lowLevelName);
+               this.sizeEstimate = sizeEstimate;
+       }
+
+       public TSMBackupFileObject(String fileSpaceName, String highLevelName,
+                       String lowLevelName, String managementClassName) {
+               super(fileSpaceName, highLevelName, lowLevelName, managementClassName);
+       }
+
+       public short getTypeDefinitionForBindMCAndSendObj() {
+               return TSMAPIConstants.stBackup;
+       }
+
+       public short getTypeDefinitionForGetData() {
+               return TSMAPIConstants.gtBackup;
+       }
+
+       public Object getSendObjBuffer() {
+               return null;
+       }
+
+       public long getSizeEstimate() {
+               return sizeEstimate;
+       }
+
+       public void setSizeEstimate(long sizeEstimate) {
+               this.sizeEstimate = sizeEstimate;
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMBufferedClient.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMBufferedClient.java
new file mode 100644 (file)
index 0000000..13e57c8
--- /dev/null
@@ -0,0 +1,164 @@
+package user.tsm.client;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import user.tsm.client.api.internal.DataBlk;
+import user.tsm.client.api.internal.DsmEndTxnExIn;
+import user.tsm.client.api.internal.DsmEndTxnExOut;
+import user.tsm.client.api.internal.DsmGetList;
+import user.tsm.client.api.internal.DsmObjName;
+import user.tsm.client.api.internal.JNIException;
+import user.tsm.client.api.internal.McBindKey;
+import user.tsm.client.api.internal.ObjAttr;
+import user.tsm.client.api.internal.PartialObjData;
+import user.tsm.client.api.internal.TSMAPI;
+import user.tsm.client.api.internal.TSMAPIConstants;
+
+public class TSMBufferedClient extends TSMClient {
+       private static final Logger logger = LogManager.getLogger();
+       short rc = 0;
+       private DataBlk dataBlk;
+
+       public TSMBufferedClient(String nodeName) throws Exception {
+               super(nodeName);
+       }
+
+       public void finishReceive() throws TSMException {
+               // dsmEndGetObj
+               rc = TSMAPI.dsmEndGetObj(dsmHandle);
+               if (rc != TSMAPIConstants.DSM_RC_OK) {
+                       TSMAPI.dsmEndGetData(dsmHandle);
+                       throw new TSMException(dsmHandle, rc);
+               }
+               // dsmEndGetData
+               rc = TSMAPI.dsmEndGetData(dsmHandle);
+               if (rc != TSMAPIConstants.DSM_RC_OK) {
+                       throw new TSMException(dsmHandle, rc);
+               }
+               dataBlk = null;
+       }
+
+       public void finishSend() throws TSMException, JNIException {
+               if (dataBlk != null) {
+                       rc = TSMAPI.dsmEndSendObj(dsmHandle);
+                       if (rc != TSMAPIConstants.DSM_RC_OK)
+                               throw new TSMException(dsmHandle, rc);
+                       rc = vote(TSMAPIConstants.DSM_VOTE_COMMIT);
+               }
+       }
+
+       public int recievePartial(byte[] buffer, TSMObject object, PartialObjData partialObjData)
+                       throws NullPointerException, FileNotFoundException, IOException, TSMException {
+               int result = 0;
+
+               if (dataBlk == null) {
+                       dataBlk = new DataBlk();
+                       dataBlk.setBufferPtr(buffer);
+                       dataBlk.setBufferLen(bufferSize);
+
+                       // dsmBeginGetData
+                       DsmGetList dsmGetList = new DsmGetList();
+                       dsmGetList.setNumObjId(1);
+                       long objIds[] = new long[1];
+                       objIds[0] = object.getObjId();
+                       dsmGetList.setObjId(objIds);
+                       try {
+                               rc = TSMAPI.dsmBeginGetData(dsmHandle, true, object.getTypeDefinitionForGetData(), dsmGetList, partialObjData);
+                               if (rc != TSMAPIConstants.DSM_RC_OK)
+                                       throw new TSMException(dsmHandle, rc);
+                       } catch (JNIException e) {
+                               throw new TSMException("Internal error: " + e.getMessage());
+                       }
+                       try {
+                               rc = TSMAPI.dsmGetObj(dsmHandle, objIds[0], dataBlk);
+                               if ((rc != TSMAPIConstants.DSM_RC_OK) && (rc != TSMAPIConstants.DSM_RC_FINISHED) && (rc != TSMAPIConstants.DSM_RC_MORE_DATA)) {
+                                       TSMAPI.dsmEndGetData(dsmHandle);
+                                       throw new TSMException(dsmHandle, rc);
+                               }
+
+                               object.bytesWorked(dataBlk.getNumBytes());
+                               result = dataBlk.getNumBytes();
+                       } catch (Exception e1) {
+                               TSMAPI.dsmEndGetData(dsmHandle);
+                               throw new TSMException("Internal error: " + e1.getMessage());
+                       }
+               } else {
+                       try {
+                               if (rc == TSMAPIConstants.DSM_RC_MORE_DATA) {
+                                       rc = TSMAPI.dsmGetData(dsmHandle, dataBlk);
+                                       object.bytesWorked(dataBlk.getNumBytes());
+                                       result = dataBlk.getNumBytes();
+                               } else if (rc == TSMAPIConstants.DSM_RC_FINISHED) {
+                                       finishReceive();
+                                       result = -1;
+                               }
+                       } catch (Exception e) {
+                               TSMAPI.dsmEndGetData(dsmHandle);
+                               throw new TSMException("Internal error: " + e.getMessage());
+                       }
+               }
+               return result;
+       }
+
+       public void send(byte[] buffer, TSMBackupFileObject object, int byteCount) throws Exception {
+               short rc;
+               try {
+                       if (dataBlk == null) {
+                               rc = TSMAPI.dsmBeginTxn(dsmHandle);
+                               if (rc != TSMAPIConstants.DSM_RC_OK)
+                                       throw new TSMException(dsmHandle, rc);
+                               DsmObjName objName = new DsmObjName();
+                               objName.setFs(object.getFileSpaceName());
+                               objName.setHl(object.getHighLevelName());
+                               objName.setLl(object.getLowLevelName());
+                               objName.setObjType(TSMAPIConstants.DSM_OBJ_FILE);
+                               McBindKey mcBindKey = new McBindKey();
+                               rc = TSMAPI.dsmBindMC(dsmHandle, objName, object.getTypeDefinitionForBindMCAndSendObj(), mcBindKey);
+                               if (rc != TSMAPIConstants.DSM_RC_OK)
+                                       throw new TSMException(dsmHandle, rc);
+                               ObjAttr objAttr = new ObjAttr();
+                               objAttr.setSizeEstimate(object.getSizeEstimate());
+                               objAttr.setOwner(null);
+                               objAttr.setObjCompressed(false);
+                               objAttr.setObjInfoLength((short) 0);
+                               objAttr.setObjInfo(null);
+                               objAttr.setMcNameP(object.getManagementClassName());
+                               rc = TSMAPI.dsmSendObj(dsmHandle, object.getTypeDefinitionForBindMCAndSendObj(), object.getSendObjBuffer(), objName, objAttr, null);
+                               // prevLength = byteCount;
+                               if (rc != TSMAPIConstants.DSM_RC_OK)
+                                       throw new TSMException(dsmHandle, rc);
+                       }
+
+                       dataBlk = new DataBlk();
+                       dataBlk.setBufferPtr(buffer);
+                       dataBlk.setBufferLen(byteCount);
+                       rc = TSMAPI.dsmSendData(dsmHandle, dataBlk);
+                       if (rc != TSMAPIConstants.DSM_RC_OK)
+                               throw new TSMException(dsmHandle, rc);
+                       object.bytesWorked(byteCount);
+               } catch (Exception e) {
+                       vote(TSMAPIConstants.DSM_VOTE_ABORT);
+                       throw e;
+               }
+       }
+
+       private short vote(byte vote) throws TSMException {
+               short result = TSMAPIConstants.DSM_RC_OK;
+               DsmEndTxnExIn endTxnExIn = new DsmEndTxnExIn();
+               endTxnExIn.setDsmHandle(dsmHandle);
+               endTxnExIn.setVote(vote);
+               DsmEndTxnExOut endTxnExOut = new DsmEndTxnExOut();
+               try {
+                       result = TSMAPI.dsmEndTxnEx(endTxnExIn, endTxnExOut);
+               } catch (Exception e) {
+                       logger.catching(e);
+               }
+               if (result != TSMAPIConstants.DSM_RC_OK)
+                       throw new TSMException(dsmHandle, rc, endTxnExOut.getReason());
+               return result;
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMClient.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMClient.java
new file mode 100644 (file)
index 0000000..6df75eb
--- /dev/null
@@ -0,0 +1,598 @@
+package user.tsm.client;
+
+import user.tsm.client.api.internal.*;
+
+import java.io.*;
+import java.util.Vector;
+
+public class TSMClient {
+    private static boolean multiThread = false;
+    private static DsmApiVersionEx apiVersionEx = null;
+    protected int dsmHandle = 0;
+    protected int bufferSize = 0;
+    private String applicationType = null;
+    private boolean connected = false;
+
+    public TSMClient(String applicationType) throws Exception {
+        try {
+            if (apiVersionEx == null) {
+                apiVersionEx = new DsmApiVersionEx();
+                TSMAPI.dsmQueryApiVersionEx(apiVersionEx);
+            }
+            this.applicationType = applicationType;
+            this.bufferSize = 65536;
+        } catch (JNIException e) {
+            throw new TSMException("Internal error: " + e.getMessage());
+        }
+    }
+
+    public static void CleanUpMultithread() throws TSMException {
+        if (multiThread == true) {
+            if (!TSMAPI.isAvailable())
+                return;
+            short rc = TSMAPI.dsmCleanUp(TSMAPIConstants.DSM_MULTITHREAD);
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(0, rc);
+            multiThread = false;
+        }
+    }
+
+    public static void SetUpMultithread() throws TSMException {
+        if (multiThread == false) {
+            if (!TSMAPI.isAvailable())
+                return;
+            short rc = TSMAPI.dsmSetUp(TSMAPIConstants.DSM_MULTITHREAD);
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(0, rc);
+            multiThread = true;
+        }
+    }
+
+    public void connect(String nodeName, String password) throws Exception {
+        this.connect(nodeName, password, File.separator, null);
+    }
+
+    public void connect(String nodeName, String password, String dirDelimiter) throws Exception {
+        this.connect(nodeName, password, dirDelimiter, null);
+    }
+
+    public void connect(String nodeName, String password, String dirDelimiter, String options) throws Exception {
+        try {
+            short rc = 0;
+            DsmHandle handle = new DsmHandle();
+            DsmInitExIn initExIn = new DsmInitExIn();
+            initExIn.setApiVersionExP(apiVersionEx);
+            initExIn.setClientNodeNameP(nodeName);
+            initExIn.setClientOwnerNameP(null);
+            initExIn.setClientPasswordP(password);
+            initExIn.setUserNameP(null);
+            initExIn.setUserPasswordP(null);
+            initExIn.setApplicationTypeP(applicationType);
+            initExIn.setConfigfile(null);
+            initExIn.setOptions(options);
+            initExIn.setDirDelimiter(dirDelimiter.getBytes()[0]);
+            initExIn.setUseUnicode(false);
+            initExIn.setBCrossPlatform(true);
+            initExIn.setBService(false);
+            initExIn.setBEncryptKeyEnabled(false);
+            initExIn.setEncryptionPasswordP(null);
+            initExIn.setUseTsmBuffers(false);
+            initExIn.setNumTsmBuffers((byte) 0);
+            DsmInitExOut initExOut = new DsmInitExOut();
+            rc = TSMAPI.dsmInitEx(handle, initExIn, initExOut);
+            if (rc != 0) {
+                throw new TSMException(-1, rc);
+            }
+            dsmHandle = handle.getDsmHandle();
+            connected = true;
+        } catch (JNIException e) {
+            throw e;
+        }
+    }
+
+    public void delete(TSMObject object) throws TSMException {
+        try {
+            short rc = TSMAPI.dsmBeginTxn(dsmHandle);
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(dsmHandle, rc);
+            DsmBackupDelInfo dsmBackupDelInfo = new DsmBackupDelInfo();
+            DsmObjName objName = new DsmObjName();
+            objName.setFs(object.getFileSpaceName());
+            objName.setHl(object.getHighLevelName());
+            objName.setLl(object.getLowLevelName());
+            dsmBackupDelInfo.setObjName(objName);
+            dsmBackupDelInfo.setCopyGroup(object.getCopyGroup());
+            rc = TSMAPI.dsmDeleteBackupObj(dsmHandle, dsmBackupDelInfo);
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(dsmHandle, rc);
+            DsmEndTxnExIn endTxnExIn = new DsmEndTxnExIn();
+            endTxnExIn.setDsmHandle(dsmHandle);
+            endTxnExIn.setVote(TSMAPIConstants.DSM_VOTE_COMMIT);
+            DsmEndTxnExOut endTxnExOut = new DsmEndTxnExOut();
+            rc = TSMAPI.dsmEndTxnEx(endTxnExIn, endTxnExOut);
+            if (rc != TSMAPIConstants.DSM_RC_OK) {
+                throw new TSMException(dsmHandle, rc, endTxnExOut.getReason());
+            }
+        } catch (JNIException e1) {
+            throw new TSMException("Internal error: " + e1.getMessage());
+        } catch (TSMException e2) {
+            DsmEndTxnExIn endTxnExIn = new DsmEndTxnExIn();
+            endTxnExIn.setDsmHandle(dsmHandle);
+            endTxnExIn.setVote(TSMAPIConstants.DSM_VOTE_ABORT);
+            DsmEndTxnExOut endTxnExOut = new DsmEndTxnExOut();
+            try {
+                TSMAPI.dsmEndTxnEx(endTxnExIn, endTxnExOut);
+            } catch (Exception e) {
+            }
+            ;
+            throw e2;
+        }
+    }
+
+    //Robi 2014.12.03 AVON migrator miatt.
+    public void deleteArchive(TSMObject object) throws TSMException {
+        try {
+            short rc = TSMAPI.dsmBeginTxn(dsmHandle);
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(dsmHandle, rc);
+
+            DsmArchiveDelInfo dsmArchiveDelInfo = new DsmArchiveDelInfo();
+
+            DsmObjName objName = new DsmObjName();
+            objName.setFs(object.getFileSpaceName());
+            objName.setHl(object.getHighLevelName());
+            objName.setLl(object.getLowLevelName());
+
+            dsmArchiveDelInfo.setObjName(objName);
+            dsmArchiveDelInfo.setCopyGroup(object.getCopyGroup());
+            dsmArchiveDelInfo.setObjId(object.getObjId());
+
+            rc = TSMAPI.dsmDeleteArchiveObj(dsmHandle, dsmArchiveDelInfo);
+
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(dsmHandle, rc);
+            DsmEndTxnExIn endTxnExIn = new DsmEndTxnExIn();
+            endTxnExIn.setDsmHandle(dsmHandle);
+            endTxnExIn.setVote(TSMAPIConstants.DSM_VOTE_COMMIT);
+            DsmEndTxnExOut endTxnExOut = new DsmEndTxnExOut();
+            rc = TSMAPI.dsmEndTxnEx(endTxnExIn, endTxnExOut);
+            if (rc != TSMAPIConstants.DSM_RC_OK) {
+                throw new TSMException(dsmHandle, rc, endTxnExOut.getReason());
+            }
+        } catch (JNIException e1) {
+            throw new TSMException("Internal error: " + e1.getMessage());
+        } catch (TSMException e2) {
+            DsmEndTxnExIn endTxnExIn = new DsmEndTxnExIn();
+            endTxnExIn.setDsmHandle(dsmHandle);
+            endTxnExIn.setVote(TSMAPIConstants.DSM_VOTE_ABORT);
+            DsmEndTxnExOut endTxnExOut = new DsmEndTxnExOut();
+            try {
+                TSMAPI.dsmEndTxnEx(endTxnExIn, endTxnExOut);
+            } catch (Exception e) {
+            }
+            ;
+            throw e2;
+        }
+    }
+
+    public void disconnect() {
+        short rc = TSMAPI.dsmTerminate(dsmHandle);
+        if (rc == 0)
+            connected = false;
+    }
+
+    public TSMBackupFileObject getActiveBackupFileObject(String filespaceName, String highLevelName, String lowLevelName) throws TSMException {
+        String fsQuery = filespaceName;
+        String hlQuery = highLevelName;
+        String llQuery = lowLevelName;
+        TSMBackupFileObject[] result = queryActiveBackupObjects(fsQuery, hlQuery, llQuery);
+        return (result.length == 0) ? null : result[0];
+    }
+
+    public TSMBackupFileObject getInActiveBackupFileObject(String filespaceName, String highLevelName, String lowLevelName) throws TSMException {
+        String fsQuery = filespaceName;
+        String hlQuery = highLevelName;
+        String llQuery = lowLevelName;
+        TSMBackupFileObject[] result = queryInActiveBackupObjects(fsQuery, hlQuery, llQuery);
+        return (result.length == 0) ? null : result[0];
+    }
+
+    public TSMArchiveFileObject getArchiveObjects(String filespaceName, String highLevelName, String lowLevelName) throws TSMException {
+        TSMArchiveFileObject[] result = queryArchiveObjects(filespaceName, highLevelName, lowLevelName);
+        return (result.length == 0) ? null : result[0];
+    }
+
+    public int getBufferSize() {
+        return bufferSize;
+    }
+
+    public void setBufferSize(int bufferSize) {
+        this.bufferSize = bufferSize;
+    }
+
+    public int getDsmHandle() {
+        return dsmHandle;
+    }
+
+    public boolean isConnected() {
+        return connected;
+    }
+
+    public TSMBackupFileObject[] queryActiveBackupObjects(String fsQuery, String hlQuery, String llQuery) throws TSMException {
+        TSMBackupFileObject result[] = null;
+        Vector<TSMBackupFileObject> objects = new Vector<TSMBackupFileObject>();
+        short rc = 0;
+        QryBackupData qryBackupData = new QryBackupData();
+        DsmObjName queryObjName = new DsmObjName();
+        queryObjName.setFs(fsQuery);
+        queryObjName.setHl(hlQuery);
+        queryObjName.setLl(llQuery);
+        queryObjName.setObjType(TSMAPIConstants.qtBackup);
+        qryBackupData.setObjName(queryObjName);
+        qryBackupData.setOwner(null);
+        qryBackupData.setObjState((byte) 1);
+        DsmDate pitDate = new DsmDate();
+        pitDate.setYear((short) 0xFFFF);
+        qryBackupData.setPitDate(pitDate);
+        try {
+            rc = TSMAPI.dsmBeginBackupQuery(dsmHandle, qryBackupData);
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(dsmHandle, rc);
+            QryRespBackupData qryRespBackupData = new QryRespBackupData();
+            do {
+                rc = TSMAPI.dsmGetNextBackupQObj(dsmHandle, qryRespBackupData);
+                if (rc == TSMAPIConstants.DSM_RS_ABORT_NO_MATCH) {
+                    TSMAPI.dsmEndQuery(dsmHandle);
+                    return new TSMBackupFileObject[0];
+                }
+                if (rc == TSMAPIConstants.DSM_RC_FINISHED) {
+                    TSMAPI.dsmEndQuery(dsmHandle);
+                    break;
+                }
+                if (rc != TSMAPIConstants.DSM_RC_MORE_DATA) {
+                    TSMAPI.dsmEndQuery(dsmHandle);
+                    throw new TSMException(dsmHandle, rc);
+                }
+                DsmObjName objName = qryRespBackupData.getObjName();
+                TSMBackupFileObject object = new TSMBackupFileObject(objName.getFs(), objName.getHl(), objName.getLl());
+                object.setObjId(qryRespBackupData.getObjId());
+                object.setCopyGroup(qryRespBackupData.getCopyGroup());
+                object.setSizeEstimate(qryRespBackupData.getSizeEstimate());
+                objects.add(object);
+            } while (1 == 1);
+        } catch (JNIException e) {
+            throw new TSMException("Internal error: " + e.getMessage());
+        }
+        result = new TSMBackupFileObject[objects.size()];
+        for (int i = 0; i < result.length; i++) {
+            result[i] = objects.elementAt(i);
+        }
+        return result;
+    }
+
+    public TSMBackupFileObject[] queryInActiveBackupObjects(String fsQuery, String hlQuery, String llQuery) throws TSMException {
+        TSMBackupFileObject result[] = null;
+        Vector<TSMBackupFileObject> objects = new Vector<TSMBackupFileObject>();
+        short rc = 0;
+        QryBackupData qryBackupData = new QryBackupData();
+        DsmObjName queryObjName = new DsmObjName();
+        queryObjName.setFs(fsQuery);
+        queryObjName.setHl(hlQuery);
+        queryObjName.setLl(llQuery);
+        queryObjName.setObjType(TSMAPIConstants.qtBackup);
+        qryBackupData.setObjName(queryObjName);
+        qryBackupData.setOwner(null);
+        qryBackupData.setObjState((byte) 2);
+        DsmDate pitDate = new DsmDate();
+        pitDate.setYear((short) 0xFFFF);
+        qryBackupData.setPitDate(pitDate);
+        try {
+            rc = TSMAPI.dsmBeginBackupQuery(dsmHandle, qryBackupData);
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(dsmHandle, rc);
+            QryRespBackupData qryRespBackupData = new QryRespBackupData();
+            do {
+                rc = TSMAPI.dsmGetNextBackupQObj(dsmHandle, qryRespBackupData);
+                if (rc == TSMAPIConstants.DSM_RS_ABORT_NO_MATCH) {
+                    TSMAPI.dsmEndQuery(dsmHandle);
+                    return new TSMBackupFileObject[0];
+                }
+                if (rc == TSMAPIConstants.DSM_RC_FINISHED) {
+                    TSMAPI.dsmEndQuery(dsmHandle);
+                    break;
+                }
+                if (rc != TSMAPIConstants.DSM_RC_MORE_DATA) {
+                    TSMAPI.dsmEndQuery(dsmHandle);
+                    throw new TSMException(dsmHandle, rc);
+                }
+                DsmObjName objName = qryRespBackupData.getObjName();
+                TSMBackupFileObject object = new TSMBackupFileObject(objName.getFs(), objName.getHl(), objName.getLl());
+                object.setObjId(qryRespBackupData.getObjId());
+                object.setCopyGroup(qryRespBackupData.getCopyGroup());
+                object.setSizeEstimate(qryRespBackupData.getSizeEstimate());
+                objects.add(object);
+            } while (1 == 1);
+        } catch (JNIException e) {
+            throw new TSMException("Internal error: " + e.getMessage());
+        }
+        result = new TSMBackupFileObject[objects.size()];
+        for (int i = 0; i < result.length; i++) {
+            result[i] = objects.elementAt(i);
+        }
+        return result;
+    }
+
+    private TSMArchiveFileObject[] queryArchiveObjects(String fsQuery, String hlQuery, String llQuery) throws TSMException {
+        TSMArchiveFileObject result[] = null;
+        Vector<TSMArchiveFileObject> objects = new Vector<TSMArchiveFileObject>();
+        short rc = 0;
+        DsmObjName queryObjName = new DsmObjName();
+        queryObjName.setFs(fsQuery);
+        queryObjName.setHl(hlQuery);
+        queryObjName.setLl(llQuery);
+        queryObjName.setObjType(TSMAPIConstants.DSM_OBJ_FILE);
+        QryArchiveData qryArchiveData = new QryArchiveData();
+        qryArchiveData.setObjName(queryObjName);
+        qryArchiveData.setOwner(null);
+        DsmDate lowBoundDate = new DsmDate();
+        lowBoundDate.setYear(TSMAPIConstants.DATE_MINUS_INFINITE);
+        DsmDate highBoundDate = new DsmDate();
+        // highBoundDate.setYear( TSMAPIConstants.DATE_PLUS_INFINITE );
+        highBoundDate.setYear((short) 0xFFFF);
+        qryArchiveData.setExpDateLowerBound(lowBoundDate);
+        qryArchiveData.setExpDateUpperBound(highBoundDate);
+        qryArchiveData.setInsDateLowerBound(lowBoundDate);
+        qryArchiveData.setInsDateUpperBound(highBoundDate);
+        qryArchiveData.setDescr("*");
+        try {
+            rc = TSMAPI.dsmBeginArchiveQuery(dsmHandle, qryArchiveData);
+            if (rc != TSMAPIConstants.DSM_RC_OK) {
+                throw new TSMException(dsmHandle, rc);
+            }
+            QryRespArchiveData qryRespArchiveData = new QryRespArchiveData();
+            do {
+                rc = TSMAPI.dsmGetNextArchiveQObj(dsmHandle, qryRespArchiveData);
+                if (rc == TSMAPIConstants.DSM_RS_ABORT_NO_MATCH) {
+                    TSMAPI.dsmEndQuery(dsmHandle);
+                    return new TSMArchiveFileObject[0];
+                }
+                if (rc == TSMAPIConstants.DSM_RC_FINISHED) {
+                    TSMAPI.dsmEndQuery(dsmHandle);
+                    break;
+                }
+                if (rc != TSMAPIConstants.DSM_RC_MORE_DATA) {
+                    TSMAPI.dsmEndQuery(dsmHandle);
+                    throw new TSMException(dsmHandle, rc);
+                }
+                DsmObjName objName = qryRespArchiveData.getObjName();
+                TSMArchiveFileObject object = new TSMArchiveFileObject(objName.getFs(), objName.getHl(), objName.getLl());
+                object.setObjId(qryRespArchiveData.getObjId());
+                object.setCopyGroup(qryRespArchiveData.getCopyGroup());
+                objects.add(object);
+            } while (1 == 1);
+        } catch (JNIException e) {
+            throw new TSMException("Internal error: " + e.getMessage());
+        }
+        result = new TSMArchiveFileObject[objects.size()];
+        for (int i = 0; i < result.length; i++) {
+            result[i] = objects.elementAt(i);
+        }
+        return result;
+    }
+
+    public void recieve(TSMObject object) throws NullPointerException, FileNotFoundException, IOException, TSMException {
+        recievePartial(object, null);
+    }
+
+    public void recievePartial(TSMObject object, PartialObjData partialObjData) throws NullPointerException, FileNotFoundException, IOException, TSMException {
+        String filePath = object.getLocalFilePath();
+        if (filePath == null) {
+            throw new NullPointerException("localFilePath can not be null.");
+        }
+
+        short rc = 0;
+        // dsmBeginGetData
+        DsmGetList dsmGetList = new DsmGetList();
+        dsmGetList.setNumObjId(1);
+        long objIds[] = new long[1];
+        objIds[0] = object.getObjId();
+        dsmGetList.setObjId(objIds);
+        try {
+            rc = TSMAPI.dsmBeginGetData(dsmHandle, true, object.getTypeDefinitionForGetData(), dsmGetList, partialObjData);
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(dsmHandle, rc);
+        } catch (JNIException e) {
+            throw new TSMException("Internal error: " + e.getMessage());
+        }
+
+        // dsmGetObj
+        byte buffer[] = new byte[bufferSize];
+        DataBlk dataBlk = new DataBlk();
+        dataBlk.setBufferPtr(buffer);
+        dataBlk.setBufferLen(bufferSize);
+
+        FileOutputStream fos = null;
+        try {
+
+            // Kimeneti fajl letrehozasa
+            fos = new FileOutputStream(filePath);
+            try {
+                rc = TSMAPI.dsmGetObj(dsmHandle, objIds[0], dataBlk);
+                if ((rc != TSMAPIConstants.DSM_RC_OK) && (rc != TSMAPIConstants.DSM_RC_FINISHED) && (rc != TSMAPIConstants.DSM_RC_MORE_DATA)) {
+                    TSMAPI.dsmEndGetData(dsmHandle);
+                    throw new TSMException(dsmHandle, rc);
+                }
+                fos.write(buffer, 0, dataBlk.getNumBytes());
+                object.bytesWorked(dataBlk.getNumBytes());
+            } catch (JNIException e1) {
+                TSMAPI.dsmEndGetData(dsmHandle);
+                throw new TSMException("Internal error: " + e1.getMessage());
+            } catch (IOException e2) {
+                TSMAPI.dsmEndGetData(dsmHandle);
+                throw e2;
+            }
+            // dsmGetData ciklus
+            while (rc == TSMAPIConstants.DSM_RC_MORE_DATA) {
+                try {
+                    rc = TSMAPI.dsmGetData(dsmHandle, dataBlk);
+                    if ((rc != TSMAPIConstants.DSM_RC_OK) && (rc != TSMAPIConstants.DSM_RC_FINISHED) && (rc != TSMAPIConstants.DSM_RC_MORE_DATA)) {
+                        TSMAPI.dsmEndGetObj(dsmHandle);
+                        TSMAPI.dsmEndGetData(dsmHandle);
+                        throw new TSMException(dsmHandle, rc);
+                    }
+                    fos.write(buffer, 0, dataBlk.getNumBytes());
+                    object.bytesWorked(dataBlk.getNumBytes());
+                } catch (JNIException e1) {
+                    TSMAPI.dsmEndGetObj(dsmHandle);
+                    TSMAPI.dsmEndGetData(dsmHandle);
+                    throw new TSMException("Internal error: " + e1.getMessage());
+                } catch (IOException e2) {
+                    TSMAPI.dsmEndGetObj(dsmHandle);
+                    TSMAPI.dsmEndGetData(dsmHandle);
+                    throw e2;
+                }
+            }
+        } finally {
+            if (fos != null)
+                fos.close();
+        }
+
+        // dsmEndGetObj
+        rc = TSMAPI.dsmEndGetObj(dsmHandle);
+        if (rc != TSMAPIConstants.DSM_RC_OK) {
+            TSMAPI.dsmEndGetData(dsmHandle);
+            throw new TSMException(dsmHandle, rc);
+        }
+        // dsmEndGetData
+        rc = TSMAPI.dsmEndGetData(dsmHandle);
+        if (rc != TSMAPIConstants.DSM_RC_OK) {
+            throw new TSMException(dsmHandle, rc);
+        }
+    }
+
+    public void registerFilespace(String name, String type, char driveLetter, String info, long capacity, long occupancy) throws TSMException {
+        RegFSData regFSData = new RegFSData();
+        regFSData.setFsName(name);
+        regFSData.setFsType(type);
+
+        if (System.getProperty("os.name").toUpperCase().contains("WIN")) {
+            DsmDosFSAttr fsAttr = new DsmDosFSAttr();
+            fsAttr.setDriveLetter((byte) driveLetter);
+            fsAttr.setFsInfo(info);
+            fsAttr.setFsInfoLength((short) info.length());
+            regFSData.setFsAttr(fsAttr);
+        } else {
+            DsmUnixFSAttr fsAttr = new DsmUnixFSAttr();
+            fsAttr.setFsInfo(info);
+            fsAttr.setFsInfoLength((short) info.length());
+            regFSData.setFsAttr(fsAttr);
+        }
+        regFSData.setOccupancy(occupancy);
+        regFSData.setCapacity(capacity);
+        short rc;
+        try {
+            rc = TSMAPI.dsmRegisterFS(dsmHandle, regFSData);
+        } catch (JNIException e) {
+            throw new TSMException("Internal error: " + e.getMessage());
+        }
+        if (rc != TSMAPIConstants.DSM_RC_OK) {
+            throw new TSMException(dsmHandle, rc);
+        }
+    }
+
+    public void send(TSMObject object) throws NullPointerException, FileNotFoundException, IOException, TSMException {
+        String filePath = object.getLocalFilePath();
+        if (filePath == null) {
+            throw new NullPointerException("localFilePath can not be null.");
+        }
+        File f = new File(filePath);
+        if (!f.exists())
+            throw new FileNotFoundException(filePath + " has not found.");
+        long sizeEstimate = f.length();
+        short rc;
+        FileInputStream fis = null;
+        try {
+            rc = TSMAPI.dsmBeginTxn(dsmHandle);
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(dsmHandle, rc);
+            DsmObjName objName = new DsmObjName();
+            objName.setFs(object.getFileSpaceName());
+            objName.setHl(object.getHighLevelName());
+            objName.setLl(object.getLowLevelName());
+            objName.setObjType(TSMAPIConstants.DSM_OBJ_FILE);
+            McBindKey mcBindKey = new McBindKey();
+            rc = TSMAPI.dsmBindMC(dsmHandle, objName, object.getTypeDefinitionForBindMCAndSendObj(), mcBindKey);
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(dsmHandle, rc);
+            ObjAttr objAttr = new ObjAttr();
+            objAttr.setSizeEstimate(sizeEstimate);
+            objAttr.setOwner(null);
+            objAttr.setObjCompressed(false);
+            objAttr.setObjInfoLength((short) 0);
+            objAttr.setObjInfo(null);
+            objAttr.setMcNameP(object.getManagementClassName());
+            rc = TSMAPI.dsmSendObj(dsmHandle, object.getTypeDefinitionForBindMCAndSendObj(), object.getSendObjBuffer(), objName, objAttr, null);
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(dsmHandle, rc);
+            byte buffer[] = new byte[bufferSize];
+            fis = new FileInputStream(filePath);
+            DataBlk dataBlk = new DataBlk();
+            dataBlk.setBufferPtr(buffer);
+            int length = 0;
+            while ((length = fis.read(buffer)) > 0) {
+                dataBlk.setBufferLen(length);
+                rc = TSMAPI.dsmSendData(dsmHandle, dataBlk);
+                if (rc != TSMAPIConstants.DSM_RC_OK)
+                    throw new TSMException(dsmHandle, rc);
+                object.bytesWorked(length);
+            }
+            rc = TSMAPI.dsmEndSendObj(dsmHandle);
+            if (rc != TSMAPIConstants.DSM_RC_OK)
+                throw new TSMException(dsmHandle, rc);
+            DsmEndTxnExIn endTxnExIn = new DsmEndTxnExIn();
+            endTxnExIn.setDsmHandle(dsmHandle);
+            endTxnExIn.setVote(TSMAPIConstants.DSM_VOTE_COMMIT);
+            DsmEndTxnExOut endTxnExOut = new DsmEndTxnExOut();
+            rc = TSMAPI.dsmEndTxnEx(endTxnExIn, endTxnExOut);
+            if (rc != TSMAPIConstants.DSM_RC_OK) {
+                throw new TSMException(dsmHandle, rc, endTxnExOut.getReason());
+            }
+        } catch (JNIException e1) {
+            DsmEndTxnExIn endTxnExIn = new DsmEndTxnExIn();
+            endTxnExIn.setDsmHandle(dsmHandle);
+            endTxnExIn.setVote(TSMAPIConstants.DSM_VOTE_ABORT);
+            DsmEndTxnExOut endTxnExOut = new DsmEndTxnExOut();
+            try {
+                TSMAPI.dsmEndTxnEx(endTxnExIn, endTxnExOut);
+            } catch (Exception e) {
+            }
+            ;
+            throw new TSMException("Internal error: " + e1.getMessage());
+        } catch (TSMException e2) {
+            DsmEndTxnExIn endTxnExIn = new DsmEndTxnExIn();
+            endTxnExIn.setDsmHandle(dsmHandle);
+            endTxnExIn.setVote(TSMAPIConstants.DSM_VOTE_ABORT);
+            DsmEndTxnExOut endTxnExOut = new DsmEndTxnExOut();
+            try {
+                TSMAPI.dsmEndTxnEx(endTxnExIn, endTxnExOut);
+            } catch (Exception e) {
+            }
+            ;
+            throw e2;
+        } catch (IOException e3) {
+            DsmEndTxnExIn endTxnExIn = new DsmEndTxnExIn();
+            endTxnExIn.setDsmHandle(dsmHandle);
+            endTxnExIn.setVote(TSMAPIConstants.DSM_VOTE_ABORT);
+            DsmEndTxnExOut endTxnExOut = new DsmEndTxnExOut();
+            try {
+                TSMAPI.dsmEndTxnEx(endTxnExIn, endTxnExOut);
+            } catch (Exception e) {
+            }
+            ;
+            throw e3;
+        } finally {
+            if (fis != null)
+                fis.close();
+        }
+    }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMException.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMException.java
new file mode 100644 (file)
index 0000000..c61a2c6
--- /dev/null
@@ -0,0 +1,26 @@
+package user.tsm.client;
+
+import user.tsm.client.api.internal.TSMAPI;
+
+public class TSMException extends Exception {
+       private static final long serialVersionUID = 9143197897265206279L;
+       private short rc = 0;
+       private short reason = 0;
+       public TSMException(String message) {
+               super(message);
+       }
+       public TSMException(int dsmHandle, short rc) {
+               this(dsmHandle, rc, (short)0);
+       }
+       public TSMException(int dsmHandle, short rc, short reason) {
+               super(TSMAPI.dsmRCMsg(dsmHandle, rc));
+               this.rc = rc;
+               this.reason = reason;
+       }
+       public short getRC() {
+               return rc;
+       }
+       public short getReason() {
+               return reason;
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMObject.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMObject.java
new file mode 100644 (file)
index 0000000..3087528
--- /dev/null
@@ -0,0 +1,84 @@
+package user.tsm.client;
+
+/*
+ * A TSMObject osztaly reprezentalja a TSM szerveren tarolt vagy tartolando dokumentumokat.
+ */
+public abstract class TSMObject {
+       /*
+        * Fajl space nev, mindig a File.separator-ral kezdodik.
+        */
+       private String fileSpaceName = null;
+       private String highLevelName = null;
+       private String lowLevelName = null;
+       private String localFilePath = null;
+       private String managementClassName = null;
+       private long objId = -1;
+       private int copyGroup = -1;
+       private TSMObjectListener listener = null;
+
+       public TSMObject(String fileSpaceName, String highLevelName, String lowLevelName) {
+               this.fileSpaceName = fileSpaceName;
+               this.highLevelName = highLevelName;
+               this.lowLevelName = lowLevelName;
+               this.managementClassName = null;
+               this.objId = -1;
+               this.copyGroup = -1;
+       }
+
+       public TSMObject(String fileSpaceName, String highLevelName, String lowLevelName, String managementClassName) {
+               this.fileSpaceName = fileSpaceName;
+               this.highLevelName = highLevelName;
+               this.lowLevelName = lowLevelName;
+               this.managementClassName = managementClassName;
+               this.objId = -1;
+               this.copyGroup = -1;
+       }
+
+       public String getFileSpaceName() {
+               return fileSpaceName;
+       }
+
+       public String getHighLevelName() {
+               return highLevelName;
+       }
+
+       public String getLowLevelName() {
+               return lowLevelName;
+       }
+       public void setLocalFilePath(String localFilePath) {
+               this.localFilePath = localFilePath;
+       }
+       public String getLocalFilePath() {
+               return localFilePath;
+       }
+       public void setManagementClassName(String managementClassName){
+               this.managementClassName = managementClassName;
+       }
+       public String getManagementClassName(){
+               return managementClassName;
+       }
+       public void setCopyGroup(int copyGroup) {
+               this.copyGroup = copyGroup;
+       }
+       public int getCopyGroup() {
+               return copyGroup;
+       }
+       public void setObjId(long objId) {
+               this.objId = objId;
+       }
+       public long getObjId() {
+               return objId;
+       }
+       public void setListener(TSMObjectListener listener) {
+               this.listener = listener;
+       }
+       public void bytesWorked(long bytes) {
+               if( listener != null ) {
+                       listener.bytesWorked(bytes);
+               }
+       }
+
+       public abstract short getTypeDefinitionForBindMCAndSendObj();
+       public abstract short getTypeDefinitionForGetData();
+       public abstract Object getSendObjBuffer();
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMObjectListener.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/TSMObjectListener.java
new file mode 100644 (file)
index 0000000..00610fa
--- /dev/null
@@ -0,0 +1,5 @@
+package user.tsm.client;
+
+public interface TSMObjectListener {
+       public void bytesWorked(long bytes);
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DataBlk.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DataBlk.java
new file mode 100644 (file)
index 0000000..f1d9c0e
--- /dev/null
@@ -0,0 +1,49 @@
+package user.tsm.client.api.internal;
+
+public class DataBlk {
+       private short stVersion = 0;
+       private int bufferLen = 0;
+       private int numBytes = 0;
+       private byte[] bufferPtr = null;
+       private int numBytesCompressed = 0;
+       
+       public DataBlk() {
+       }
+       
+       public short getStVersion() {
+               return stVersion;
+       }
+       public void setStVersion(short stVersion) {
+               this.stVersion = stVersion;
+       }
+       public byte[] getBufferPtr() {
+               return bufferPtr;
+       }
+       public void setBufferPtr(byte[] bufferPtr) {
+               this.bufferPtr = bufferPtr;
+       }
+       public int getBufferLen() {
+               return bufferLen;
+       }
+       public void setBufferLen(int bufferLen) throws IndexOutOfBoundsException{
+               if( bufferPtr == null )
+                       throw new IndexOutOfBoundsException();
+               if( bufferLen < 0 )
+                       throw new IndexOutOfBoundsException();
+               if( bufferLen > bufferPtr.length )
+                       throw new IndexOutOfBoundsException();
+               this.bufferLen = bufferLen;
+       }
+       public int getNumBytes() {
+               return numBytes;
+       }
+       public void setNumBytes(int numBytes) {
+               this.numBytes = numBytes;
+       }
+       public int getNumBytesCompressed() {
+               return numBytesCompressed;
+       }
+       public void setNumBytesCompressed(int numBytesCompressed) {
+               this.numBytesCompressed = numBytesCompressed;
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmApiVersionEx.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmApiVersionEx.java
new file mode 100644 (file)
index 0000000..4ed1eec
--- /dev/null
@@ -0,0 +1,69 @@
+package user.tsm.client.api.internal;
+
+public class DsmApiVersionEx {
+    private short stVersion = 0;    
+    private short version = 0;    
+    private short release = 0;    
+    private short level = 0;    
+    private short subLevel = 0;    
+    private boolean unicode = false;    
+
+    public short getStVersion() {
+        return stVersion;
+    }    
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }    
+
+    public short getVersion() {
+        return version;
+    }    
+
+    public void setVersion(short version) {
+        this.version = version;
+    }    
+
+    public short getRelease() {
+        return release;
+    }    
+
+    public void setRelease(short release) {
+        this.release = release;
+    }    
+
+    public short getLevel() {
+        return level;
+    }    
+
+    public void setLevel(short level) {
+        this.level = level;
+    }    
+
+    public short getSubLevel() {
+        return subLevel;
+    }    
+
+    public void setSubLevel(short subLevel) {
+        this.subLevel = subLevel;
+    }    
+
+    public boolean getUnicode() {
+        return unicode;
+    }    
+
+    public void setUnicode(boolean unicode) {
+        this.unicode = unicode;
+    }    
+
+    public String toString() {
+        String s = "DsmApiVersionEx :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\tversion = " + version + "\n";
+        s += "\trelease = " + release + "\n";
+        s += "\tlevel = " + level + "\n";
+        s += "\tsubLevel = " + subLevel + "\n";
+        s += "\tunicode = " + unicode + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmArchiveDelInfo.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmArchiveDelInfo.java
new file mode 100644 (file)
index 0000000..36bf6f0
--- /dev/null
@@ -0,0 +1,49 @@
+package user.tsm.client.api.internal;
+
+public class DsmArchiveDelInfo {
+    private short stVersion = 0;
+    private DsmObjName objName = null;
+    private int copyGroup = 0;
+       private long objId = -1;
+
+    public short getStVersion() {
+        return stVersion;
+    }
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }
+
+    public DsmObjName getObjName() {
+        return objName;
+    }
+
+    public void setObjName(DsmObjName objName) {
+        this.objName = objName;
+    }
+
+    public int getCopyGroup() {
+        return copyGroup;
+    }
+
+    public void setCopyGroup(int copyGroup) {
+        this.copyGroup = copyGroup;
+    }
+
+       public void setObjId(long objId) {
+               this.objId = objId;
+       }
+       public long getObjId() {
+               return objId;
+       }
+
+
+
+    public String toString() {
+        String s = "DsmArchiveDelInfo :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\tobjName = " + objName + "\n";
+        s += "\tcopyGroup = " + copyGroup + "\n";
+        return s;
+    }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmBackupDelInfo.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmBackupDelInfo.java
new file mode 100644 (file)
index 0000000..d7a3f7d
--- /dev/null
@@ -0,0 +1,39 @@
+package user.tsm.client.api.internal;
+
+public class DsmBackupDelInfo {
+    private short stVersion = 0;    
+    private DsmObjName objName = null;    
+    private int copyGroup = 0;    
+
+    public short getStVersion() {
+        return stVersion;
+    }    
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }    
+
+    public DsmObjName getObjName() {
+        return objName;
+    }
+
+    public void setObjName(DsmObjName objName) {
+        this.objName = objName;
+    }
+
+    public int getCopyGroup() {
+        return copyGroup;
+    }    
+
+    public void setCopyGroup(int copyGroup) {
+        this.copyGroup = copyGroup;
+    }    
+
+    public String toString() {
+        String s = "DsmBackupDelInfo :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\tobjName = " + objName + "\n";
+        s += "\tcopyGroup = " + copyGroup + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmDate.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmDate.java
new file mode 100644 (file)
index 0000000..f2f5d29
--- /dev/null
@@ -0,0 +1,69 @@
+package user.tsm.client.api.internal;
+
+public class DsmDate {
+    private short year = 0;    
+    private byte month = 0;    
+    private byte day = 0;    
+    private byte hour = 0;    
+    private byte minute = 0;    
+    private byte second = 0;    
+
+    public short getYear() {
+        return year;
+    }    
+
+    public void setYear(short year) {
+        this.year = year;
+    }    
+
+    public byte getMonth() {
+        return month;
+    }    
+
+    public void setMonth(byte month) {
+        this.month = month;
+    }    
+
+    public byte getDay() {
+        return day;
+    }    
+
+    public void setDay(byte day) {
+        this.day = day;
+    }    
+
+    public byte getHour() {
+        return hour;
+    }    
+
+    public void setHour(byte hour) {
+        this.hour = hour;
+    }    
+
+    public byte getMinute() {
+        return minute;
+    }    
+
+    public void setMinute(byte minute) {
+        this.minute = minute;
+    }    
+
+    public byte getSecond() {
+        return second;
+    }    
+
+    public void setSecond(byte second) {
+        this.second = second;
+    }    
+
+    public String toString() {
+        String s = "DsmDate :\n";
+        s += "\tyear = " + year + "\n";
+        s += "\tmonth = " + month + "\n";
+        s += "\tday = " + day + "\n";
+        s += "\thour = " + hour + "\n";
+        s += "\tminute = " + minute + "\n";
+        s += "\tsecond = " + second + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmDosFSAttr.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmDosFSAttr.java
new file mode 100644 (file)
index 0000000..e2c447a
--- /dev/null
@@ -0,0 +1,13 @@
+package user.tsm.client.api.internal;
+
+public class DsmDosFSAttr extends DsmFSAttr {
+       private byte driveLetter = 0;
+       
+       public byte getDriveLetter() {
+               return driveLetter;
+       }
+       public void setDriveLetter(byte driveLetter) {
+               this.driveLetter = driveLetter;
+       }
+       
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmEndTxnExIn.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmEndTxnExIn.java
new file mode 100644 (file)
index 0000000..f9e0e60
--- /dev/null
@@ -0,0 +1,39 @@
+package user.tsm.client.api.internal;
+
+public class DsmEndTxnExIn {
+    private short stVersion = 0;    
+    private int dsmHandle = 0;    
+    private byte vote = 0;    
+
+    public short getStVersion() {
+        return stVersion;
+    }    
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }    
+
+    public int getDsmHandle() {
+        return dsmHandle;
+    }    
+
+    public void setDsmHandle(int dsmHandle) {
+        this.dsmHandle = dsmHandle;
+    }    
+
+    public byte getVote() {
+        return vote;
+    }    
+
+    public void setVote(byte vote) {
+        this.vote = vote;
+    }    
+
+    public String toString() {
+        String s = "DsmEndTxnExIn :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\tdsmHandle = " + dsmHandle + "\n";
+        s += "\tvote = " + vote + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmEndTxnExOut.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmEndTxnExOut.java
new file mode 100644 (file)
index 0000000..5650b24
--- /dev/null
@@ -0,0 +1,59 @@
+package user.tsm.client.api.internal;
+
+public class DsmEndTxnExOut {
+    private short stVersion = 0;    
+    private short reason = 0;    
+    private long groupLeaderObjId = 0;    
+    private byte reserved1 = 0;    
+    private short reserved2 = 0;    
+
+    public short getStVersion() {
+        return stVersion;
+    }    
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }    
+
+    public short getReason() {
+        return reason;
+    }    
+
+    public void setReason(short reason) {
+        this.reason = reason;
+    }    
+
+    public long getGroupLeaderObjId() {
+        return groupLeaderObjId;
+    }    
+
+    public void setGroupLeaderObjId(long groupLeaderObjId) {
+        this.groupLeaderObjId = groupLeaderObjId;
+    }    
+
+    public byte getReserved1() {
+        return reserved1;
+    }    
+
+    public void setReserved1(byte reserved1) {
+        this.reserved1 = reserved1;
+    }    
+
+    public short getReserved2() {
+        return reserved2;
+    }    
+
+    public void setReserved2(short reserved2) {
+        this.reserved2 = reserved2;
+    }    
+
+    public String toString() {
+        String s = "DsmEndTxnExOut :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\treason = " + reason + "\n";
+        s += "\tgroupLeaderObjId = " + groupLeaderObjId + "\n";
+        s += "\treserved1 = " + reserved1 + "\n";
+        s += "\treserved2 = " + reserved2 + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmFSAttr.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmFSAttr.java
new file mode 100644 (file)
index 0000000..1542f00
--- /dev/null
@@ -0,0 +1,22 @@
+package user.tsm.client.api.internal;
+
+public abstract class DsmFSAttr {
+       private short fsInfoLength = 0;
+       private String fsInfo = null;
+       
+       public short fsInfoLength() {
+               return fsInfoLength;
+       }
+       public String getFsInfo() {
+               return fsInfo;
+       }
+       public byte[] get_fsInfo_bytes() {
+               return fsInfo.getBytes();
+       }
+       public void setFsInfoLength(short fsInfoLength) {
+               this.fsInfoLength = fsInfoLength;
+       }
+       public void setFsInfo(String fsInfo) {
+               this.fsInfo = fsInfo;
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmGetList.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmGetList.java
new file mode 100644 (file)
index 0000000..0c0b753
--- /dev/null
@@ -0,0 +1,37 @@
+package user.tsm.client.api.internal;
+
+public class DsmGetList {
+       private short stVersion = 0;
+       private int numObjId = 0;
+       private long[] objId;
+       private PartialObjData partialObjData;
+
+       public short getStVersion() {
+               return stVersion;
+       }
+       public void setStVersion(short stVersion) {
+               this.stVersion = stVersion;
+       }
+       public int getNumObjId() {
+               return numObjId;
+       }
+       public void setNumObjId(int numObjId) {
+               this.numObjId = numObjId;
+       }
+       public long[] getObjId() {
+               return objId;
+       }
+       public void setObjId(long[] objId) {
+               this.objId = objId;
+       }
+
+       public PartialObjData getPartialObjData()
+       {
+               return partialObjData;
+       }
+
+       public void setPartialObjData( PartialObjData partialObjData )
+       {
+               this.partialObjData = partialObjData;
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmHandle.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmHandle.java
new file mode 100644 (file)
index 0000000..e1768e8
--- /dev/null
@@ -0,0 +1,19 @@
+package user.tsm.client.api.internal;
+
+public class DsmHandle {
+    private int dsmHandle = 0;    
+
+    public int getDsmHandle() {
+        return dsmHandle;
+    }    
+
+    public void setDsmHandle(int dsmHandle) {
+        this.dsmHandle = dsmHandle;
+    }    
+
+    public String toString() {
+        String s = "DsmHandle :\n";
+        s += "\tdsmHandle = " + dsmHandle + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmInitExIn.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmInitExIn.java
new file mode 100644 (file)
index 0000000..2dd3364
--- /dev/null
@@ -0,0 +1,297 @@
+package user.tsm.client.api.internal;
+
+public class DsmInitExIn {
+    private short stVersion = 0;    
+    private DsmApiVersionEx apiVersionExP = null;    
+    private String clientNodeNameP = null;    
+    private String clientOwnerNameP = null;    
+    private String clientPasswordP = null;    
+    private String userNameP = null;    
+    private String userPasswordP = null;    
+    private String applicationTypeP = null;    
+    private String configfile = null;    
+    private String options = null;    
+    private byte dirDelimiter = 0;    
+    private boolean useUnicode = false;    
+    private boolean bCrossPlatform = false;    
+    private boolean bService = false;    
+    private boolean bEncryptKeyEnabled = false;    
+    private String encryptionPasswordP = null;    
+    private boolean useTsmBuffers = false;    
+    private byte numTsmBuffers = 0;    
+
+    public short getStVersion() {
+        return stVersion;
+    }    
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }    
+
+    public DsmApiVersionEx getApiVersionExP() {
+        return apiVersionExP;
+    }
+
+    public void setApiVersionExP(DsmApiVersionEx apiVersionExP) {
+        this.apiVersionExP = apiVersionExP;
+    }
+
+    public String getClientNodeNameP() {
+       return clientNodeNameP;
+    }
+    public byte[] get_clientNodeNameP_bytes() {
+        if( clientNodeNameP == null )
+            return null;
+       return clientNodeNameP.getBytes();
+    }
+
+    public void setClientNodeNameP(String clientNodeNameP) {
+       this.clientNodeNameP = clientNodeNameP;
+    }    
+    public void set_clientNodeNameP_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.clientNodeNameP = null;
+            return;
+       }
+       this.clientNodeNameP = new String(bytes);
+    }
+
+    public String getClientOwnerNameP() {
+       return clientOwnerNameP;
+    }
+    public byte[] get_clientOwnerNameP_bytes() {
+        if( clientOwnerNameP == null )
+            return null;
+       return clientOwnerNameP.getBytes();
+    }
+
+    public void setClientOwnerNameP(String clientOwnerNameP) {
+       this.clientOwnerNameP = clientOwnerNameP;
+    }    
+    public void set_clientOwnerNameP_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.clientOwnerNameP = null;
+            return;
+       }
+       this.clientOwnerNameP = new String(bytes);
+    }
+
+    public String getClientPasswordP() {
+       return clientPasswordP;
+    }
+    public byte[] get_clientPasswordP_bytes() {
+        if( clientPasswordP == null )
+            return null;
+       return clientPasswordP.getBytes();
+    }
+
+    public void setClientPasswordP(String clientPasswordP) {
+       this.clientPasswordP = clientPasswordP;
+    }    
+    public void set_clientPasswordP_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.clientPasswordP = null;
+            return;
+       }
+       this.clientPasswordP = new String(bytes);
+    }
+
+    public String getUserNameP() {
+       return userNameP;
+    }
+    public byte[] get_userNameP_bytes() {
+        if( userNameP == null )
+            return null;
+       return userNameP.getBytes();
+    }
+
+    public void setUserNameP(String userNameP) {
+       this.userNameP = userNameP;
+    }    
+    public void set_userNameP_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.userNameP = null;
+            return;
+       }
+       this.userNameP = new String(bytes);
+    }
+
+    public String getUserPasswordP() {
+       return userPasswordP;
+    }
+    public byte[] get_userPasswordP_bytes() {
+        if( userPasswordP == null )
+            return null;
+       return userPasswordP.getBytes();
+    }
+
+    public void setUserPasswordP(String userPasswordP) {
+       this.userPasswordP = userPasswordP;
+    }    
+    public void set_userPasswordP_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.userPasswordP = null;
+            return;
+       }
+       this.userPasswordP = new String(bytes);
+    }
+
+    public String getApplicationTypeP() {
+       return applicationTypeP;
+    }
+    public byte[] get_applicationTypeP_bytes() {
+        if( applicationTypeP == null )
+            return null;
+       return applicationTypeP.getBytes();
+    }
+
+    public void setApplicationTypeP(String applicationTypeP) {
+       this.applicationTypeP = applicationTypeP;
+    }    
+    public void set_applicationTypeP_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.applicationTypeP = null;
+            return;
+       }
+       this.applicationTypeP = new String(bytes);
+    }
+
+    public String getConfigfile() {
+       return configfile;
+    }
+    public byte[] get_configfile_bytes() {
+        if( configfile == null )
+            return null;
+       return configfile.getBytes();
+    }
+
+    public void setConfigfile(String configfile) {
+       this.configfile = configfile;
+    }    
+    public void set_configfile_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.configfile = null;
+            return;
+       }
+       this.configfile = new String(bytes);
+    }
+
+    public String getOptions() {
+       return options;
+    }
+    public byte[] get_options_bytes() {
+        if( options == null )
+            return null;
+       return options.getBytes();
+    }
+
+    public void setOptions(String options) {
+       this.options = options;
+    }    
+    public void set_options_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.options = null;
+            return;
+       }
+       this.options = new String(bytes);
+    }
+
+    public byte getDirDelimiter() {
+        return dirDelimiter;
+    }    
+
+    public void setDirDelimiter(byte dirDelimiter) {
+        this.dirDelimiter = dirDelimiter;
+    }    
+
+    public boolean getUseUnicode() {
+        return useUnicode;
+    }    
+
+    public void setUseUnicode(boolean useUnicode) {
+        this.useUnicode = useUnicode;
+    }    
+
+    public boolean getBCrossPlatform() {
+        return bCrossPlatform;
+    }    
+
+    public void setBCrossPlatform(boolean bCrossPlatform) {
+        this.bCrossPlatform = bCrossPlatform;
+    }    
+
+    public boolean getBService() {
+        return bService;
+    }    
+
+    public void setBService(boolean bService) {
+        this.bService = bService;
+    }    
+
+    public boolean getBEncryptKeyEnabled() {
+        return bEncryptKeyEnabled;
+    }    
+
+    public void setBEncryptKeyEnabled(boolean bEncryptKeyEnabled) {
+        this.bEncryptKeyEnabled = bEncryptKeyEnabled;
+    }    
+
+    public String getEncryptionPasswordP() {
+       return encryptionPasswordP;
+    }
+    public byte[] get_encryptionPasswordP_bytes() {
+        if( encryptionPasswordP == null )
+            return null;
+       return encryptionPasswordP.getBytes();
+    }
+
+    public void setEncryptionPasswordP(String encryptionPasswordP) {
+       this.encryptionPasswordP = encryptionPasswordP;
+    }    
+    public void set_encryptionPasswordP_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.encryptionPasswordP = null;
+            return;
+       }
+       this.encryptionPasswordP = new String(bytes);
+    }
+
+    public boolean getUseTsmBuffers() {
+        return useTsmBuffers;
+    }    
+
+    public void setUseTsmBuffers(boolean useTsmBuffers) {
+        this.useTsmBuffers = useTsmBuffers;
+    }    
+
+    public byte getNumTsmBuffers() {
+        return numTsmBuffers;
+    }    
+
+    public void setNumTsmBuffers(byte numTsmBuffers) {
+        this.numTsmBuffers = numTsmBuffers;
+    }    
+
+    public String toString() {
+        String s = "DsmInitExIn :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\tapiVersionExP = " + apiVersionExP + "\n";
+        s += "\tclientNodeNameP = " + clientNodeNameP + "\n";
+        s += "\tclientOwnerNameP = " + clientOwnerNameP + "\n";
+        s += "\tclientPasswordP = " + clientPasswordP + "\n";
+        s += "\tuserNameP = " + userNameP + "\n";
+        s += "\tuserPasswordP = " + userPasswordP + "\n";
+        s += "\tapplicationTypeP = " + applicationTypeP + "\n";
+        s += "\tconfigfile = " + configfile + "\n";
+        s += "\toptions = " + options + "\n";
+        s += "\tdirDelimiter = " + dirDelimiter + "\n";
+        s += "\tuseUnicode = " + useUnicode + "\n";
+        s += "\tbCrossPlatform = " + bCrossPlatform + "\n";
+        s += "\tbService = " + bService + "\n";
+        s += "\tbEncryptKeyEnabled = " + bEncryptKeyEnabled + "\n";
+        s += "\tencryptionPasswordP = " + encryptionPasswordP + "\n";
+        s += "\tuseTsmBuffers = " + useTsmBuffers + "\n";
+        s += "\tnumTsmBuffers = " + numTsmBuffers + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmInitExOut.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmInitExOut.java
new file mode 100644 (file)
index 0000000..914966e
--- /dev/null
@@ -0,0 +1,101 @@
+package user.tsm.client.api.internal;
+
+public class DsmInitExOut {
+    private short stVersion = 0;    
+    private short userNameAuthorities = 0;    
+    private short infoRC = 0;    
+    private String adsmServerName = null;    
+    private short serverVer = 0;    
+    private short serverRel = 0;    
+    private short serverLev = 0;    
+    private short serverSubLev = 0;    
+
+    public short getStVersion() {
+        return stVersion;
+    }    
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }    
+
+    public short getUserNameAuthorities() {
+        return userNameAuthorities;
+    }    
+
+    public void setUserNameAuthorities(short userNameAuthorities) {
+        this.userNameAuthorities = userNameAuthorities;
+    }    
+
+    public short getInfoRC() {
+        return infoRC;
+    }    
+
+    public void setInfoRC(short infoRC) {
+        this.infoRC = infoRC;
+    }    
+
+    public String getAdsmServerName() {
+       return adsmServerName;
+    }
+    public byte[] get_adsmServerName_bytes() {
+        if( adsmServerName == null )
+            return null;
+       return adsmServerName.getBytes();
+    }
+
+    public void setAdsmServerName(String adsmServerName) {
+       this.adsmServerName = adsmServerName;
+    }    
+    public void set_adsmServerName_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.adsmServerName = null;
+            return;
+       }
+       this.adsmServerName = new String(bytes);
+    }
+
+    public short getServerVer() {
+        return serverVer;
+    }    
+
+    public void setServerVer(short serverVer) {
+        this.serverVer = serverVer;
+    }    
+
+    public short getServerRel() {
+        return serverRel;
+    }    
+
+    public void setServerRel(short serverRel) {
+        this.serverRel = serverRel;
+    }    
+
+    public short getServerLev() {
+        return serverLev;
+    }    
+
+    public void setServerLev(short serverLev) {
+        this.serverLev = serverLev;
+    }    
+
+    public short getServerSubLev() {
+        return serverSubLev;
+    }    
+
+    public void setServerSubLev(short serverSubLev) {
+        this.serverSubLev = serverSubLev;
+    }    
+
+    public String toString() {
+        String s = "DsmInitExOut :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\tuserNameAuthorities = " + userNameAuthorities + "\n";
+        s += "\tinfoRC = " + infoRC + "\n";
+        s += "\tadsmServerName = " + adsmServerName + "\n";
+        s += "\tserverVer = " + serverVer + "\n";
+        s += "\tserverRel = " + serverRel + "\n";
+        s += "\tserverLev = " + serverLev + "\n";
+        s += "\tserverSubLev = " + serverSubLev + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmObjName.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmObjName.java
new file mode 100644 (file)
index 0000000..37e3302
--- /dev/null
@@ -0,0 +1,85 @@
+package user.tsm.client.api.internal;
+
+public class DsmObjName {
+    private String fs = null;    
+    private String hl = null;    
+    private String ll = null;    
+    private byte objType = 0;    
+
+    public String getFs() {
+       return fs;
+    }
+    public byte[] get_fs_bytes() {
+        if( fs == null )
+            return null;
+       return fs.getBytes();
+    }
+
+    public void setFs(String fs) {
+       this.fs = fs;
+    }    
+    public void set_fs_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.fs = null;
+            return;
+       }
+       this.fs = new String(bytes);
+    }
+
+    public String getHl() {
+       return hl;
+    }
+    public byte[] get_hl_bytes() {
+        if( hl == null )
+            return null;
+       return hl.getBytes();
+    }
+
+    public void setHl(String hl) {
+       this.hl = hl;
+    }    
+    public void set_hl_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.hl = null;
+            return;
+       }
+       this.hl = new String(bytes);
+    }
+
+    public String getLl() {
+       return ll;
+    }
+    public byte[] get_ll_bytes() {
+        if( ll == null )
+            return null;
+       return ll.getBytes();
+    }
+
+    public void setLl(String ll) {
+       this.ll = ll;
+    }    
+    public void set_ll_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.ll = null;
+            return;
+       }
+       this.ll = new String(bytes);
+    }
+
+    public byte getObjType() {
+        return objType;
+    }    
+
+    public void setObjType(byte objType) {
+        this.objType = objType;
+    }    
+
+    public String toString() {
+        String s = "DsmObjName :\n";
+        s += "\tfs = " + fs + "\n";
+        s += "\thl = " + hl + "\n";
+        s += "\tll = " + ll + "\n";
+        s += "\tobjType = " + objType + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmUnixFSAttr.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/DsmUnixFSAttr.java
new file mode 100644 (file)
index 0000000..b54bde0
--- /dev/null
@@ -0,0 +1,5 @@
+package user.tsm.client.api.internal;
+
+public class DsmUnixFSAttr extends DsmFSAttr {
+
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/JNIException.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/JNIException.java
new file mode 100644 (file)
index 0000000..3431c6c
--- /dev/null
@@ -0,0 +1,9 @@
+package user.tsm.client.api.internal;
+
+public class JNIException extends Exception {
+       private static final long serialVersionUID = -3488577202454528686L;
+       
+    public JNIException(String message) {
+       super(message);
+    }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/McBindKey.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/McBindKey.java
new file mode 100644 (file)
index 0000000..99895a3
--- /dev/null
@@ -0,0 +1,105 @@
+package user.tsm.client.api.internal;
+
+public class McBindKey {
+    private short stVersion = 0;    
+    private String mcName = null;    
+    private boolean backup_cg_exists = false;    
+    private boolean archive_cg_exists = false;    
+    private String backup_copy_dest = null;    
+    private String archive_copy_dest = null;    
+
+    public short getStVersion() {
+        return stVersion;
+    }    
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }    
+
+    public String getMcName() {
+       return mcName;
+    }
+    public byte[] get_mcName_bytes() {
+        if( mcName == null )
+            return null;
+       return mcName.getBytes();
+    }
+
+    public void setMcName(String mcName) {
+       this.mcName = mcName;
+    }    
+    public void set_mcName_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.mcName = null;
+            return;
+       }
+       this.mcName = new String(bytes);
+    }
+
+    public boolean getBackup_cg_exists() {
+        return backup_cg_exists;
+    }    
+
+    public void setBackup_cg_exists(boolean backup_cg_exists) {
+        this.backup_cg_exists = backup_cg_exists;
+    }    
+
+    public boolean getArchive_cg_exists() {
+        return archive_cg_exists;
+    }    
+
+    public void setArchive_cg_exists(boolean archive_cg_exists) {
+        this.archive_cg_exists = archive_cg_exists;
+    }    
+
+    public String getBackup_copy_dest() {
+       return backup_copy_dest;
+    }
+    public byte[] get_backup_copy_dest_bytes() {
+        if( backup_copy_dest == null )
+            return null;
+       return backup_copy_dest.getBytes();
+    }
+
+    public void setBackup_copy_dest(String backup_copy_dest) {
+       this.backup_copy_dest = backup_copy_dest;
+    }    
+    public void set_backup_copy_dest_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.backup_copy_dest = null;
+            return;
+       }
+       this.backup_copy_dest = new String(bytes);
+    }
+
+    public String getArchive_copy_dest() {
+       return archive_copy_dest;
+    }
+    public byte[] get_archive_copy_dest_bytes() {
+        if( archive_copy_dest == null )
+            return null;
+       return archive_copy_dest.getBytes();
+    }
+
+    public void setArchive_copy_dest(String archive_copy_dest) {
+       this.archive_copy_dest = archive_copy_dest;
+    }    
+    public void set_archive_copy_dest_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.archive_copy_dest = null;
+            return;
+       }
+       this.archive_copy_dest = new String(bytes);
+    }
+
+    public String toString() {
+        String s = "McBindKey :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\tmcName = " + mcName + "\n";
+        s += "\tbackup_cg_exists = " + backup_cg_exists + "\n";
+        s += "\tarchive_cg_exists = " + archive_cg_exists + "\n";
+        s += "\tbackup_copy_dest = " + backup_copy_dest + "\n";
+        s += "\tarchive_copy_dest = " + archive_copy_dest + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/ObjAttr.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/ObjAttr.java
new file mode 100644 (file)
index 0000000..07c3a03
--- /dev/null
@@ -0,0 +1,115 @@
+package user.tsm.client.api.internal;
+
+public class ObjAttr {
+    private short stVersion = 0;    
+    private String owner = null;    
+    private long sizeEstimate = 0;    
+    private boolean objCompressed = false;    
+    private short objInfoLength = 0;    
+    private String objInfo = null;    
+    private String mcNameP = null;    
+
+    public short getStVersion() {
+        return stVersion;
+    }    
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }    
+
+    public String getOwner() {
+       return owner;
+    }
+    public byte[] get_owner_bytes() {
+        if( owner == null )
+            return null;
+       return owner.getBytes();
+    }
+
+    public void setOwner(String owner) {
+       this.owner = owner;
+    }    
+    public void set_owner_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.owner = null;
+            return;
+       }
+       this.owner = new String(bytes);
+    }
+
+    public long getSizeEstimate() {
+        return sizeEstimate;
+    }    
+
+    public void setSizeEstimate(long sizeEstimate) {
+        this.sizeEstimate = sizeEstimate;
+    }    
+
+    public boolean getObjCompressed() {
+        return objCompressed;
+    }    
+
+    public void setObjCompressed(boolean objCompressed) {
+        this.objCompressed = objCompressed;
+    }    
+
+    public short getObjInfoLength() {
+        return objInfoLength;
+    }    
+
+    public void setObjInfoLength(short objInfoLength) {
+        this.objInfoLength = objInfoLength;
+    }    
+
+    public String getObjInfo() {
+       return objInfo;
+    }
+    public byte[] get_objInfo_bytes() {
+        if( objInfo == null )
+            return null;
+       return objInfo.getBytes();
+    }
+
+    public void setObjInfo(String objInfo) {
+       this.objInfo = objInfo;
+    }    
+    public void set_objInfo_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.objInfo = null;
+            return;
+       }
+       this.objInfo = new String(bytes);
+    }
+
+    public String getMcNameP() {
+       return mcNameP;
+    }
+    public byte[] get_mcNameP_bytes() {
+        if( mcNameP == null )
+            return null;
+       return mcNameP.getBytes();
+    }
+
+    public void setMcNameP(String mcNameP) {
+       this.mcNameP = mcNameP;
+    }    
+    public void set_mcNameP_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.mcNameP = null;
+            return;
+       }
+       this.mcNameP = new String(bytes);
+    }
+
+    public String toString() {
+        String s = "ObjAttr :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\towner = " + owner + "\n";
+        s += "\tsizeEstimate = " + sizeEstimate + "\n";
+        s += "\tobjCompressed = " + objCompressed + "\n";
+        s += "\tobjInfoLength = " + objInfoLength + "\n";
+        s += "\tobjInfo = " + objInfo + "\n";
+        s += "\tmcNameP = " + mcNameP + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/PartialObjData.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/PartialObjData.java
new file mode 100644 (file)
index 0000000..260d706
--- /dev/null
@@ -0,0 +1,43 @@
+package user.tsm.client.api.internal;
+
+public class PartialObjData {
+    private short stVersion = 0;
+    private long partialObjOffset = 0;
+    private long partialObjLength = 0;
+
+    public short getStVersion() {
+        return stVersion;
+    }
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }
+
+       public long getPartialObjLength()
+       {
+               return partialObjLength;
+       }
+
+       public void setPartialObjLength( long partialObjLength )
+       {
+               this.partialObjLength = partialObjLength;
+       }
+
+       public long getPartialObjOffset()
+       {
+               return partialObjOffset;
+       }
+
+       public void setPartialObjOffset( long partialObjOffset )
+       {
+               this.partialObjOffset = partialObjOffset;
+       }
+
+    public String toString() {
+        String s = "ObjAttr :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\tpartialObjOffset = " + partialObjOffset + "\n";
+        s += "\tpartialObjLength = " + partialObjLength + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/QryArchiveData.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/QryArchiveData.java
new file mode 100644 (file)
index 0000000..ea01cba
--- /dev/null
@@ -0,0 +1,155 @@
+package user.tsm.client.api.internal;
+
+public class QryArchiveData
+{
+/*
+       dsUint16_t   stVersion;                 // structure version
+       dsmObjName   *objName;                  // Full dsm name of object
+       char         *owner;                            // owner name for maximum date boundaries, see defines above
+       dsmDate      insDateLowerBound; // low bound archive insert date
+       dsmDate      insDateUpperBound; // hi bound archive insert date
+       dsmDate      expDateLowerBound; // low bound expiration date
+       dsmDate      expDateUpperBound; // hi bound expiration date
+       char         *descr;                            // archive description
+*/
+       private short stVersion = 0;
+       private DsmObjName objName = null;
+       private String owner = null;
+       private DsmDate insDateLowerBound = null;
+       private DsmDate insDateUpperBound = null;
+       private DsmDate expDateLowerBound = null;
+       private DsmDate expDateUpperBound = null;
+       private String descr = null;
+
+       public short getStVersion()
+       {
+               return stVersion;
+       }
+
+       public void setStVersion( short stVersion )
+       {
+               this.stVersion = stVersion;
+       }
+
+       public DsmObjName getObjName()
+       {
+               return objName;
+       }
+
+       public void setObjName( DsmObjName objName )
+       {
+               this.objName = objName;
+       }
+
+       public String getOwner()
+       {
+               return owner;
+       }
+
+       public byte[] get_owner_bytes()
+       {
+               if ( owner==null )
+               {
+                       return null;
+               }
+               return owner.getBytes();
+       }
+
+       public void setOwner( String owner )
+       {
+               this.owner = owner;
+       }
+
+       public void set_owner_bytes( byte[] bytes )
+       {
+               if ( bytes==null )
+               {
+                       this.owner = null;
+                       return;
+               }
+               this.owner = new String( bytes );
+       }
+
+       public String getDescr()
+       {
+               return descr;
+       }
+
+       public byte[] get_descr_bytes()
+       {
+               if ( descr==null )
+               {
+                       return null;
+               }
+               return descr.getBytes();
+       }
+
+       public void setDescr( String descr )
+       {
+               this.descr = descr;
+       }
+
+       public void set_descr_bytes( byte[] bytes )
+       {
+               if ( bytes==null )
+               {
+                       this.descr = null;
+                       return;
+               }
+               this.descr = new String( bytes );
+       }
+
+       public DsmDate getExpDateLowerBound()
+       {
+               return expDateLowerBound;
+       }
+
+       public void setExpDateLowerBound( DsmDate expDateLowerBound )
+       {
+               this.expDateLowerBound = expDateLowerBound;
+       }
+
+       public DsmDate getExpDateUpperBound()
+       {
+               return expDateUpperBound;
+       }
+
+       public void setExpDateUpperBound( DsmDate expDateUpperBound )
+       {
+               this.expDateUpperBound = expDateUpperBound;
+       }
+
+       public DsmDate getInsDateLowerBound()
+       {
+               return insDateLowerBound;
+       }
+
+       public void setInsDateLowerBound( DsmDate insDateLowerBound )
+       {
+               this.insDateLowerBound = insDateLowerBound;
+       }
+
+       public DsmDate getInsDateUpperBound()
+       {
+               return insDateUpperBound;
+       }
+
+       public void setInsDateUpperBound( DsmDate insDateUpperBound )
+       {
+               this.insDateUpperBound = insDateUpperBound;
+       }
+
+       public String toString()
+       {
+               String s = "QryArchiveData :\n";
+               s += "\tstVersion = " + stVersion + "\n";
+               s += "\tobjName = " + objName + "\n";
+               s += "\towner = " + owner + "\n";
+               s += "\tinsDateLowerBound = " + insDateLowerBound + "\n";
+               s += "\tinsDateUpperBound = " + insDateUpperBound + "\n";
+               s += "\texpDateLowerBound = " + expDateLowerBound + "\n";
+               s += "\texpDateUpperBound = " + expDateUpperBound + "\n";
+               s += "\tdescr = " + descr + "\n";
+               return s;
+       }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/QryBackupData.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/QryBackupData.java
new file mode 100644 (file)
index 0000000..7b40cb8
--- /dev/null
@@ -0,0 +1,71 @@
+package user.tsm.client.api.internal;
+
+public class QryBackupData {
+    private short stVersion = 0;    
+    private DsmObjName objName = null;    
+    private String owner = null;    
+    private byte objState = 0;    
+    private DsmDate pitDate = null;    
+
+    public short getStVersion() {
+        return stVersion;
+    }    
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }    
+
+    public DsmObjName getObjName() {
+        return objName;
+    }
+
+    public void setObjName(DsmObjName objName) {
+        this.objName = objName;
+    }
+
+    public String getOwner() {
+       return owner;
+    }
+    public byte[] get_owner_bytes() {
+        if( owner == null )
+            return null;
+       return owner.getBytes();
+    }
+
+    public void setOwner(String owner) {
+       this.owner = owner;
+    }    
+    public void set_owner_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.owner = null;
+            return;
+       }
+       this.owner = new String(bytes);
+    }
+
+    public byte getObjState() {
+        return objState;
+    }    
+
+    public void setObjState(byte objState) {
+        this.objState = objState;
+    }    
+
+    public DsmDate getPitDate() {
+        return pitDate;
+    }
+
+    public void setPitDate(DsmDate pitDate) {
+        this.pitDate = pitDate;
+    }
+
+    public String toString() {
+        String s = "QryBackupData :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\tobjName = " + objName + "\n";
+        s += "\towner = " + owner + "\n";
+        s += "\tobjState = " + objState + "\n";
+        s += "\tpitDate = " + pitDate + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/QryRespArchiveData.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/QryRespArchiveData.java
new file mode 100644 (file)
index 0000000..2670465
--- /dev/null
@@ -0,0 +1,347 @@
+package user.tsm.client.api.internal;
+
+public class QryRespArchiveData
+{
+/*
+       typedef struct S_qryRespArchiveData
+       {
++      dsUint16_t      stVersion;                           // structure version
++      dsmObjName      objName;                      // Filespace name qualifier
++      dsUint32_t      copyGroup;                           // copy group number
++      char            mcName[DSM_MAX_MC_NAME_LENGTH + 1];            // mc name
++      char            owner[DSM_MAX_OWNER_LENGTH + 1];            // owner name
++      dsStruct64_t    objId;                                  // Unique copy id
++      dsStruct64_t    reserved;                       // backward compatability
++      dsUint8_t       mediaClass;                         // media access class
++      dsmDate         insDate;                        // archive insertion date
++      dsmDate         expDate;                    // expiration date for object
+       char            descr[DSM_MAX_DESCR_LENGTH + 1];   // archive description
++      dsUint16_t      objInfolen;             // length of object-dependent info
++      char            objInfo[DSM_MAX_OBJINFO_LENGTH];  //object-dependent info
++      dsUint160_t     restoreOrderExt;                         // restore order
++      dsStruct64_t    sizeEstimate;              // size estimate stored by user
++      dsUint8_t       compressType;                          // Compression flag
+       dsUint8_t       retentionInitiated;   // object waiting on retention event
+       dsUint8_t       objHeld;  //object is on retention "hold" see values above
++      dsUint8_t       encryptionType;                     // type of encryption
++      dsmBool_t       clientDeduplicated;             // obj deduplicated by API
+       }qryRespArchiveData;
+
+typedef struct S_qryRespBackupData
+{
+   dsUint16_t      stVersion;                           // structure version
+   dsmObjName      objName;                       // full dsm name of object
+   dsUint32_t      copyGroup;                           // copy group number
+   char            mcName[DSM_MAX_MC_NAME_LENGTH + 1];            // mc name
+   char            owner[DSM_MAX_OWNER_LENGTH + 1];            // owner name
+   dsStruct64_t    objId;                                // Unique object id
+   dsStruct64_t    reserved;                       // backward compatability
+   dsUint8_t       mediaClass;                         // media access class
+   dsUint8_t       objState;                      // Obj state, active, etc.
+   dsmDate         insDate;                         // backup insertion date
+   dsmDate         expDate;                    // expiration date for object
+   dsUint16_t      objInfolen;             // length of object-dependent info
+   char            objInfo[DSM_MAX_OBJINFO_LENGTH];  //object-dependent info
+   dsUint160_t     restoreOrderExt;                         // restore order
+   dsStruct64_t    sizeEstimate;             // size estimate stored by user
+   dsStruct64_t    baseObjId;
+   dsUint16_t      baseObjInfolen;             // length of base object-dependent info
+   dsUint8_t       baseObjInfo[DSM_MAX_OBJINFO_LENGTH];  // base object-dependent info
+   dsUint160_t     baseRestoreOrder;                         // restore order
+   dsUint32_t      fsID;
+   dsUint8_t       compressType;
+   dsmBool_t       isGroupLeader;
+   dsmBool_t       isOpenGroup;
+   dsUint8_t       reserved1;               // for future use
+   dsmBool_t       reserved2;               // for future use
+   dsUint16_t      reserved3;               // for future use
+   reservedInfo_t  *reserved4;              // for future use
+   dsUint8_t       encryptionType;          // type of encryption
+   dsmBool_t       clientDeduplicated;      // obj deduplicated by API
+}qryRespBackupData;
+*/
+       private short stVersion = 0;
+       private DsmObjName objName = null;
+       private int copyGroup = 0;
+       private String mcName = null;
+       private String owner = null;
+       private long objId = 0;
+       private byte mediaClass = 0;
+       private DsmDate insDate = null;
+       private DsmDate expDate = null;
+       private String descr = null;
+       private short objInfolen = 0;
+       private String objInfo = null;
+       private long sizeEstimate = 0;
+       private byte compressType = 0;
+       private byte retentionInitiated = 0;
+       private byte objHeld = 0;
+       private byte encryptionType = 0;
+
+       public short getStVersion()
+       {
+               return stVersion;
+       }
+
+       public void setStVersion( short stVersion )
+       {
+               this.stVersion = stVersion;
+       }
+
+       public DsmObjName getObjName()
+       {
+               return objName;
+       }
+
+       public void setObjName( DsmObjName objName )
+       {
+               this.objName = objName;
+       }
+
+       public int getCopyGroup()
+       {
+               return copyGroup;
+       }
+
+       public void setCopyGroup( int copyGroup )
+       {
+               this.copyGroup = copyGroup;
+       }
+
+       public String getMcName()
+       {
+               return mcName;
+       }
+
+       public byte[] get_mcName_bytes()
+       {
+               if ( mcName==null )
+               {
+                       return null;
+               }
+               return mcName.getBytes();
+       }
+
+       public void setMcName( String mcName )
+       {
+               this.mcName = mcName;
+       }
+
+       public void set_mcName_bytes( byte[] bytes )
+       {
+               if ( bytes==null )
+               {
+                       this.mcName = null;
+                       return;
+               }
+               this.mcName = new String( bytes );
+       }
+
+       public String getOwner()
+       {
+               return owner;
+       }
+
+       public byte[] get_owner_bytes()
+       {
+               if ( owner==null )
+               {
+                       return null;
+               }
+               return owner.getBytes();
+       }
+
+       public void setOwner( String owner )
+       {
+               this.owner = owner;
+       }
+
+       public void set_owner_bytes( byte[] bytes )
+       {
+               if ( bytes==null )
+               {
+                       this.owner = null;
+                       return;
+               }
+               this.owner = new String( bytes );
+       }
+
+       public long getObjId()
+       {
+               return objId;
+       }
+
+       public void setObjId( long objId )
+       {
+               this.objId = objId;
+       }
+
+       public byte getMediaClass()
+       {
+               return mediaClass;
+       }
+
+       public void setMediaClass( byte mediaClass )
+       {
+               this.mediaClass = mediaClass;
+       }
+
+       public DsmDate getInsDate()
+       {
+               return insDate;
+       }
+
+       public void setInsDate( DsmDate insDate )
+       {
+               this.insDate = insDate;
+       }
+
+       public DsmDate getExpDate()
+       {
+               return expDate;
+       }
+
+       public void setExpDate( DsmDate expDate )
+       {
+               this.expDate = expDate;
+       }
+
+       public short getObjInfolen()
+       {
+               return objInfolen;
+       }
+
+       public void setObjInfolen( short objInfolen )
+       {
+               this.objInfolen = objInfolen;
+       }
+
+       public String getObjInfo()
+       {
+               return objInfo;
+       }
+
+       public byte[] get_objInfo_bytes()
+       {
+               if ( objInfo==null )
+               {
+                       return null;
+               }
+               return objInfo.getBytes();
+       }
+
+       public void setObjInfo( String objInfo )
+       {
+               this.objInfo = objInfo;
+       }
+
+       public void set_objInfo_bytes( byte[] bytes )
+       {
+               if ( bytes==null )
+               {
+                       this.objInfo = null;
+                       return;
+               }
+               this.objInfo = new String( bytes );
+       }
+
+       public long getSizeEstimate()
+       {
+               return sizeEstimate;
+       }
+
+       public void setSizeEstimate( long sizeEstimate )
+       {
+               this.sizeEstimate = sizeEstimate;
+       }
+
+       public byte getCompressType()
+       {
+               return compressType;
+       }
+
+       public void setCompressType( byte compressType )
+       {
+               this.compressType = compressType;
+       }
+
+       public byte getEncryptionType()
+       {
+               return encryptionType;
+       }
+
+       public void setEncryptionType( byte encryptionType )
+       {
+               this.encryptionType = encryptionType;
+       }
+
+       public String getDescr()
+       {
+               return descr;
+       }
+       public byte[] get_descr_bytes()
+       {
+               if ( descr==null )
+               {
+                       return null;
+               }
+               return descr.getBytes();
+       }
+
+       public void setDescr( String descr )
+       {
+               this.descr = descr;
+       }
+       public void set_descr_bytes( byte[] bytes )
+       {
+               if ( bytes==null )
+               {
+                       this.descr = null;
+                       return;
+               }
+               this.descr = new String( bytes );
+       }
+
+       public byte getObjHeld()
+       {
+               return objHeld;
+       }
+
+       public void setObjHeld( byte objHeld )
+       {
+               this.objHeld = objHeld;
+       }
+
+       public byte getRetentionInitiated()
+       {
+               return retentionInitiated;
+       }
+
+       public void setRetentionInitiated( byte retentionInitiated )
+       {
+               this.retentionInitiated = retentionInitiated;
+       }
+
+       public String toString()
+       {
+               String s = "QryRespArchiveData :\n";
+               s += "\tstVersion = " + stVersion + "\n";
+               s += "\tobjName = " + objName + "\n";
+               s += "\tcopyGroup = " + copyGroup + "\n";
+               s += "\tmcName = " + mcName + "\n";
+               s += "\towner = " + owner + "\n";
+               s += "\tobjId = " + objId + "\n";
+               s += "\tmediaClass = " + mediaClass + "\n";
+               s += "\tinsDate = " + insDate + "\n";
+               s += "\texpDate = " + expDate + "\n";
+               s += "\tobjInfolen = " + objInfolen + "\n";
+               s += "\tobjInfo = " + objInfo + "\n";
+               s += "\tsizeEstimate = " + sizeEstimate + "\n";
+               s += "\tcompressType = " + compressType + "\n";
+               s += "\tencryptionType = " + encryptionType + "\n";
+               s += "\tdescr = " + descr + "\n";
+               s += "\tobjHeld = " + objHeld + "\n";
+               s += "\tretentionInitiated = " + retentionInitiated + "\n";
+               return s;
+       }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/QryRespBackupData.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/QryRespBackupData.java
new file mode 100644 (file)
index 0000000..0e9b369
--- /dev/null
@@ -0,0 +1,255 @@
+package user.tsm.client.api.internal;
+
+public class QryRespBackupData {
+    private short stVersion = 0;    
+    private DsmObjName objName = null;    
+    private int copyGroup = 0;    
+    private String mcName = null;    
+    private String owner = null;    
+    private long objId = 0;    
+    private byte mediaClass = 0;    
+    private byte objState = 0;    
+    private DsmDate insDate = null;    
+    private DsmDate expDate = null;    
+    private short objInfolen = 0;    
+    private String objInfo = null;    
+    private long sizeEstimate = 0;    
+    private long baseObjId = 0;    
+    private short baseObjInfolen = 0;    
+    private byte baseObjInfo[] = null;    
+    private int fsID = 0;    
+    private byte compressType = 0;    
+    private boolean isGroupLeader = false;    
+    private boolean isOpenGroup = false;    
+    private byte encryptionType = 0;    
+
+    public short getStVersion() {
+        return stVersion;
+    }    
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }    
+
+    public DsmObjName getObjName() {
+        return objName;
+    }
+
+    public void setObjName(DsmObjName objName) {
+        this.objName = objName;
+    }
+
+    public int getCopyGroup() {
+        return copyGroup;
+    }    
+
+    public void setCopyGroup(int copyGroup) {
+        this.copyGroup = copyGroup;
+    }    
+
+    public String getMcName() {
+       return mcName;
+    }
+    public byte[] get_mcName_bytes() {
+        if( mcName == null )
+            return null;
+       return mcName.getBytes();
+    }
+
+    public void setMcName(String mcName) {
+       this.mcName = mcName;
+    }    
+    public void set_mcName_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.mcName = null;
+            return;
+       }
+       this.mcName = new String(bytes);
+    }
+
+    public String getOwner() {
+       return owner;
+    }
+    public byte[] get_owner_bytes() {
+        if( owner == null )
+            return null;
+       return owner.getBytes();
+    }
+
+    public void setOwner(String owner) {
+       this.owner = owner;
+    }    
+    public void set_owner_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.owner = null;
+            return;
+       }
+       this.owner = new String(bytes);
+    }
+
+    public long getObjId() {
+        return objId;
+    }    
+
+    public void setObjId(long objId) {
+        this.objId = objId;
+    }    
+
+    public byte getMediaClass() {
+        return mediaClass;
+    }    
+
+    public void setMediaClass(byte mediaClass) {
+        this.mediaClass = mediaClass;
+    }    
+
+    public byte getObjState() {
+        return objState;
+    }    
+
+    public void setObjState(byte objState) {
+        this.objState = objState;
+    }    
+
+    public DsmDate getInsDate() {
+        return insDate;
+    }
+
+    public void setInsDate(DsmDate insDate) {
+        this.insDate = insDate;
+    }
+
+    public DsmDate getExpDate() {
+        return expDate;
+    }
+
+    public void setExpDate(DsmDate expDate) {
+        this.expDate = expDate;
+    }
+
+    public short getObjInfolen() {
+        return objInfolen;
+    }    
+
+    public void setObjInfolen(short objInfolen) {
+        this.objInfolen = objInfolen;
+    }    
+
+    public String getObjInfo() {
+       return objInfo;
+    }
+    public byte[] get_objInfo_bytes() {
+        if( objInfo == null )
+            return null;
+       return objInfo.getBytes();
+    }
+
+    public void setObjInfo(String objInfo) {
+       this.objInfo = objInfo;
+    }    
+    public void set_objInfo_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.objInfo = null;
+            return;
+       }
+       this.objInfo = new String(bytes);
+    }
+
+    public long getSizeEstimate() {
+        return sizeEstimate;
+    }    
+
+    public void setSizeEstimate(long sizeEstimate) {
+        this.sizeEstimate = sizeEstimate;
+    }    
+
+    public long getBaseObjId() {
+        return baseObjId;
+    }    
+
+    public void setBaseObjId(long baseObjId) {
+        this.baseObjId = baseObjId;
+    }    
+
+    public short getBaseObjInfolen() {
+        return baseObjInfolen;
+    }    
+
+    public void setBaseObjInfolen(short baseObjInfolen) {
+        this.baseObjInfolen = baseObjInfolen;
+    }    
+
+    public byte[] getBaseObjInfo() {
+       return baseObjInfo;
+    }
+
+    public void setBaseObjInfo(byte[] baseObjInfo) {
+       this.baseObjInfo = baseObjInfo;
+    }    
+
+    public int getFsID() {
+        return fsID;
+    }    
+
+    public void setFsID(int fsID) {
+        this.fsID = fsID;
+    }    
+
+    public byte getCompressType() {
+        return compressType;
+    }    
+
+    public void setCompressType(byte compressType) {
+        this.compressType = compressType;
+    }    
+
+    public boolean getIsGroupLeader() {
+        return isGroupLeader;
+    }    
+
+    public void setIsGroupLeader(boolean isGroupLeader) {
+        this.isGroupLeader = isGroupLeader;
+    }    
+
+    public boolean getIsOpenGroup() {
+        return isOpenGroup;
+    }    
+
+    public void setIsOpenGroup(boolean isOpenGroup) {
+        this.isOpenGroup = isOpenGroup;
+    }    
+
+    public byte getEncryptionType() {
+        return encryptionType;
+    }    
+
+    public void setEncryptionType(byte encryptionType) {
+        this.encryptionType = encryptionType;
+    }    
+
+    public String toString() {
+        String s = "QryRespBackupData :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\tobjName = " + objName + "\n";
+        s += "\tcopyGroup = " + copyGroup + "\n";
+        s += "\tmcName = " + mcName + "\n";
+        s += "\towner = " + owner + "\n";
+        s += "\tobjId = " + objId + "\n";
+        s += "\tmediaClass = " + mediaClass + "\n";
+        s += "\tobjState = " + objState + "\n";
+        s += "\tinsDate = " + insDate + "\n";
+        s += "\texpDate = " + expDate + "\n";
+        s += "\tobjInfolen = " + objInfolen + "\n";
+        s += "\tobjInfo = " + objInfo + "\n";
+        s += "\tsizeEstimate = " + sizeEstimate + "\n";
+        s += "\tbaseObjId = " + baseObjId + "\n";
+        s += "\tbaseObjInfolen = " + baseObjInfolen + "\n";
+        s += "\tbaseObjInfo = " + baseObjInfo + "\n";
+        s += "\tfsID = " + fsID + "\n";
+        s += "\tcompressType = " + compressType + "\n";
+        s += "\tisGroupLeader = " + isGroupLeader + "\n";
+        s += "\tisOpenGroup = " + isOpenGroup + "\n";
+        s += "\tencryptionType = " + encryptionType + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/RegFSData.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/RegFSData.java
new file mode 100644 (file)
index 0000000..fdd7daa
--- /dev/null
@@ -0,0 +1,93 @@
+package user.tsm.client.api.internal;
+
+public class RegFSData {
+    private short stVersion = 0;    
+    private String fsName = null;    
+    private String fsType = null;    
+    private long occupancy = 0;    
+    private long capacity = 0;    
+    private DsmFSAttr fsAttr = null;    
+
+    public short getStVersion() {
+        return stVersion;
+    }    
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }    
+
+    public String getFsName() {
+       return fsName;
+    }
+    public byte[] get_fsName_bytes() {
+        if( fsName == null )
+            return null;
+       return fsName.getBytes();
+    }
+
+    public void setFsName(String fsName) {
+       this.fsName = fsName;
+    }    
+    public void set_fsName_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.fsName = null;
+            return;
+       }
+       this.fsName = new String(bytes);
+    }
+
+    public String getFsType() {
+       return fsType;
+    }
+    public byte[] get_fsType_bytes() {
+        if( fsType == null )
+            return null;
+       return fsType.getBytes();
+    }
+
+    public void setFsType(String fsType) {
+       this.fsType = fsType;
+    }    
+    public void set_fsType_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.fsType = null;
+            return;
+       }
+       this.fsType = new String(bytes);
+    }
+
+    public long getOccupancy() {
+        return occupancy;
+    }    
+
+    public void setOccupancy(long occupancy) {
+        this.occupancy = occupancy;
+    }    
+
+    public long getCapacity() {
+        return capacity;
+    }    
+
+    public void setCapacity(long capacity) {
+        this.capacity = capacity;
+    }    
+
+    public DsmFSAttr getFsAttr() {
+        return fsAttr;
+    }
+
+    public void setFsAttr(DsmFSAttr fsAttr) {
+        this.fsAttr = fsAttr;
+    }
+
+    public String toString() {
+        String s = "RegFSData :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\tfsName = " + fsName + "\n";
+        s += "\tfsType = " + fsType + "\n";
+        s += "\toccupancy = " + occupancy + "\n";
+        s += "\tcapacity = " + capacity + "\n";
+        s += "\tfsAttr = " + fsAttr + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/SndArchiveData.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/SndArchiveData.java
new file mode 100644 (file)
index 0000000..4110e83
--- /dev/null
@@ -0,0 +1,41 @@
+package user.tsm.client.api.internal;
+
+public class SndArchiveData {
+    private short stVersion = 0;    
+    private String descr = null;    
+
+    public short getStVersion() {
+        return stVersion;
+    }    
+
+    public void setStVersion(short stVersion) {
+        this.stVersion = stVersion;
+    }    
+
+    public String getDescr() {
+       return descr;
+    }
+    public byte[] get_descr_bytes() {
+        if( descr == null )
+            return null;
+       return descr.getBytes();
+    }
+
+    public void setDescr(String descr) {
+       this.descr = descr;
+    }    
+    public void set_descr_bytes(byte[] bytes) {
+       if( bytes == null ) {
+            this.descr = null;
+            return;
+       }
+       this.descr = new String(bytes);
+    }
+
+    public String toString() {
+        String s = "SndArchiveData :\n";
+        s += "\tstVersion = " + stVersion + "\n";
+        s += "\tdescr = " + descr + "\n";
+        return s;
+    }
+}
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/TSMAPI.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/TSMAPI.java
new file mode 100644 (file)
index 0000000..ffe8762
--- /dev/null
@@ -0,0 +1,69 @@
+package user.tsm.client.api.internal;
+
+public class TSMAPI {
+
+       private static boolean isAvailable;
+       static {
+               try {
+                       System.loadLibrary("tsmapi-1.1");
+                       isAvailable = true;
+               } catch (UnsatisfiedLinkError e) {
+               }
+       }
+
+       public static native short dsmBeginArchiveQuery(int dsmHandle, QryArchiveData qryArchiveData) throws JNIException;
+
+       public static native short dsmBeginBackupQuery(int dsmHandle, QryBackupData qryBackupData) throws JNIException;
+
+       public static native short dsmBeginGetData(int dsmHandle, boolean mountWait, short getType, DsmGetList dsmGetObjListP, PartialObjData partialObjDataP)
+                       throws JNIException;
+
+       public static native short dsmBeginTxn(int dsmHandle);
+
+       public static native short dsmBindMC(int dsmHandle, DsmObjName objNameP, short sendType, McBindKey mcBindKeyP) throws JNIException;
+
+       public static native short dsmCleanUp(boolean mtFlag);
+
+       public static native short dsmDeleteArchiveObj(int dsmHandle, DsmArchiveDelInfo dsmArchiveDelInfo) throws JNIException;
+
+       public static native short dsmDeleteBackupObj(int dsmHandle, DsmBackupDelInfo dsmBackupDelInfo) throws JNIException;
+
+       public static native short dsmEndGetData(int dsmHandle);
+
+       public static native short dsmEndGetObj(int dsmHandle);
+
+       public static native short dsmEndQuery(int dsmHandle);
+
+       public static native short dsmEndSendObj(int dsmHandle);
+
+       public static native short dsmEndTxnEx(DsmEndTxnExIn endTxnExInP, DsmEndTxnExOut endTxnExOutP) throws JNIException;
+
+       public static native short dsmGetData(int dsmHandle, DataBlk dataBlkPtr) throws JNIException;
+
+       public static native short dsmGetNextArchiveQObj(int dsmHandle, QryRespArchiveData qryRespArchiveData) throws JNIException;
+
+       public static native short dsmGetNextBackupQObj(int dsmHandle, QryRespBackupData backupQueryResponse) throws JNIException;
+
+       public static native short dsmGetObj(int dsmHandle, long objId, DataBlk dataBlkPtr) throws JNIException;
+
+       public static native short dsmInitEx(DsmHandle dsmHandleP, DsmInitExIn dsmInitExInP, DsmInitExOut dsmInitExOutP) throws JNIException;
+
+       public static native void dsmQueryApiVersionEx(DsmApiVersionEx apiVersionExP) throws JNIException;
+
+       public static native String dsmRCMsg(int dsmHandle, short dsmRC);
+
+       public static native short dsmRegisterFS(int dsmHandle, RegFSData regFilespaceP) throws JNIException;
+
+       public static native short dsmSendData(int dsmHandle, DataBlk dataBlkPtr) throws JNIException;
+
+       public static native short dsmSendObj(int dsmHandle, short sendType, Object sendBuff, DsmObjName objNameP, ObjAttr objAttrPtr, DataBlk dataBlkPtr)
+                       throws JNIException;
+
+       public static native short dsmSetUp(boolean mtFlag);
+
+       public static native short dsmTerminate(int dsmHandle);
+
+       public static boolean isAvailable() {
+               return isAvailable;
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/TSMAPIConstants.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/TSMAPIConstants.java
new file mode 100644 (file)
index 0000000..3b2607c
--- /dev/null
@@ -0,0 +1,30 @@
+package user.tsm.client.api.internal;
+
+public interface TSMAPIConstants {
+       public static final boolean DSM_MULTITHREAD = true;
+       public static final boolean DSM_SINGLETHREAD = false;
+
+       public static final short DSM_RC_OK = 0;
+       public static final short DSM_RS_ABORT_NO_MATCH = 2;
+       public static final short DSM_RC_FINISHED = 121;
+       public static final short DSM_RC_MORE_DATA = 2200;
+       public static final short DSM_RC_CHECK_REASON_CODE = 2302;
+
+       public static final byte DSM_VOTE_COMMIT = 1;
+       public static final byte DSM_VOTE_ABORT = 2;
+
+       public static final byte DSM_OBJ_FILE = 0x01;
+       public static final byte stBackup = 0x00;
+       public static final byte gtBackup = 0x00;
+       public static final byte qtBackup = 0x01;
+
+       public static final byte stArchive = 0x01;
+       public static final byte gtArchive = 0x01;
+       public static final byte qtArchive = 0x00;
+
+       public static final byte DSM_ACTIVE = 0x01;
+
+       // Boundary values for dsmDate.year field in qryArchiveData structure       |
+       public static final short DATE_MINUS_INFINITE = 0x0000; // lowest boundary
+       public static final short DATE_PLUS_INFINITE = 0x7FFF;  // highest upper boundary
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/test/BackupTest.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/test/BackupTest.java
new file mode 100644 (file)
index 0000000..0e09d2d
--- /dev/null
@@ -0,0 +1,141 @@
+package user.tsm.client.api.internal.test;
+
+import user.tsm.client.api.internal.DataBlk;
+import user.tsm.client.api.internal.DsmApiVersionEx;
+import user.tsm.client.api.internal.DsmEndTxnExIn;
+import user.tsm.client.api.internal.DsmEndTxnExOut;
+import user.tsm.client.api.internal.DsmHandle;
+import user.tsm.client.api.internal.DsmInitExIn;
+import user.tsm.client.api.internal.DsmInitExOut;
+import user.tsm.client.api.internal.DsmObjName;
+import user.tsm.client.api.internal.DsmUnixFSAttr;
+import user.tsm.client.api.internal.McBindKey;
+import user.tsm.client.api.internal.ObjAttr;
+import user.tsm.client.api.internal.RegFSData;
+import user.tsm.client.api.internal.TSMAPI;
+import user.tsm.client.api.internal.TSMAPIConstants;
+
+
+public class BackupTest {
+       static {
+               System.loadLibrary("tsmjapi-1.0");
+       }
+       
+       public static void main(String[] args) throws Exception {               
+               DsmApiVersionEx apiVersionEx = new DsmApiVersionEx();
+               TSMAPI.dsmQueryApiVersionEx(apiVersionEx);
+               System.out.println(apiVersionEx);
+
+               DsmHandle handle = new DsmHandle();
+               DsmInitExIn initExIn = new DsmInitExIn();
+               initExIn.setApiVersionExP(apiVersionEx);                
+               initExIn.setClientNodeNameP("APITEST");
+               initExIn.setClientOwnerNameP(null);
+               initExIn.setClientPasswordP("PASSWORD");
+               initExIn.setUserNameP(null);
+               initExIn.setUserPasswordP(null);
+               initExIn.setApplicationTypeP("TEST");
+               initExIn.setConfigfile(null);
+               initExIn.setOptions(null);
+               initExIn.setDirDelimiter((byte)'/');
+               initExIn.setUseUnicode(false);
+               initExIn.setBCrossPlatform(true);
+               initExIn.setBService(false);
+               initExIn.setBEncryptKeyEnabled(false);
+               initExIn.setEncryptionPasswordP(null);
+               initExIn.setUseTsmBuffers(false);
+               initExIn.setNumTsmBuffers((byte)0);             
+               DsmInitExOut initExOut = new DsmInitExOut();
+               short rc = TSMAPI.dsmInitEx(handle, initExIn, initExOut);
+               if( rc != 0 ) {         
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       return;
+               }
+               System.out.println(initExOut);
+               System.out.println("dsmHandle = " + handle.getDsmHandle());
+               
+               RegFSData regFSData = new RegFSData();
+               regFSData.setFsName("/S1");
+               regFSData.setFsType("FSTYPE1");
+               DsmUnixFSAttr fsAttr = new DsmUnixFSAttr();
+               fsAttr.setFsInfo("FSINFO");
+               fsAttr.setFsInfoLength((short)7);
+               regFSData.setFsAttr(fsAttr);
+               regFSData.setOccupancy(0);
+               regFSData.setCapacity((long)50*1024*1024*1024);
+               rc = TSMAPI.dsmRegisterFS(handle.getDsmHandle(), regFSData);
+               if( (rc != 0) && (rc != 2062) ) {               
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       return;
+               }
+               
+               rc = TSMAPI.dsmBeginTxn(handle.getDsmHandle());
+               if( rc != 0 ) {         
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       return;
+               }
+                               
+               DsmObjName objName = new DsmObjName();
+               objName.setFs("/S1");
+               objName.setHl("/HL");
+               objName.setLl("/BACKUP");       
+               objName.setObjType((byte)1);
+               McBindKey mcBindKey = new McBindKey();
+               rc = TSMAPI.dsmBindMC(handle.getDsmHandle(), objName, TSMAPIConstants.stBackup, mcBindKey);
+               if( rc != 0 ) {         
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       System.out.println(mcBindKey);
+                       return;
+               }
+               System.out.println(mcBindKey);
+               
+               ObjAttr objAttr = new ObjAttr();
+               objAttr.setSizeEstimate(10);
+               objAttr.setOwner(null);
+               objAttr.setObjCompressed(false);
+               objAttr.setObjInfoLength((short)0);
+               DataBlk dataBlk = new DataBlk();
+               byte buffer[] = new byte[65536];
+               dataBlk.setBufferPtr(buffer);
+               dataBlk.setBufferLen(10);
+               for( int i = 0; i < 10; i++ ) {
+                       buffer[i] = (byte)(i+48);
+               }
+               rc = TSMAPI.dsmSendObj(handle.getDsmHandle(), TSMAPIConstants.stBackup, null, objName, objAttr, dataBlk);
+               if( rc != 0 ) {         
+                       return;
+               }
+//             for( int i = 0; i < 1; i++ ) {
+//                     rc = TSMJAPI.dsmSendData(handle.getDsmHandle(), dataBlk);
+//                     if( rc != 0 ) {         
+//                             System.out.println(TSMJAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+//                             return;
+//                     }
+//             }
+               rc = TSMAPI.dsmEndSendObj(handle.getDsmHandle());
+               if( rc != 0 ) {         
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       return;
+               }
+               
+               DsmEndTxnExIn endTxnExIn = new DsmEndTxnExIn();
+               endTxnExIn.setDsmHandle(handle.getDsmHandle());
+               endTxnExIn.setVote((byte)1);
+               DsmEndTxnExOut endTxnExOut = new DsmEndTxnExOut();              
+               rc = TSMAPI.dsmEndTxnEx(endTxnExIn, endTxnExOut);
+               if( rc != 0 ) {         
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       System.out.println(endTxnExOut);
+                       return;
+               }
+               System.out.println(endTxnExOut);
+
+               rc = TSMAPI.dsmTerminate(handle.getDsmHandle());
+               if( rc != 0 ) {         
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       return;
+               }
+       }
+}
+
+               
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/test/QueryBackupDataTest.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/test/QueryBackupDataTest.java
new file mode 100644 (file)
index 0000000..d5bbeb8
--- /dev/null
@@ -0,0 +1,91 @@
+package user.tsm.client.api.internal.test;
+
+import user.tsm.client.api.internal.DsmApiVersionEx;
+import user.tsm.client.api.internal.DsmDate;
+import user.tsm.client.api.internal.DsmHandle;
+import user.tsm.client.api.internal.DsmInitExIn;
+import user.tsm.client.api.internal.DsmInitExOut;
+import user.tsm.client.api.internal.DsmObjName;
+import user.tsm.client.api.internal.QryBackupData;
+import user.tsm.client.api.internal.QryRespBackupData;
+import user.tsm.client.api.internal.TSMAPI;
+
+
+public class QueryBackupDataTest {
+       static {
+               System.loadLibrary("tsmjapi-1.0");
+       }
+       
+       public static void main(String[] args) throws Exception {               
+               DsmApiVersionEx apiVersionEx = new DsmApiVersionEx();
+               TSMAPI.dsmQueryApiVersionEx(apiVersionEx);
+               System.out.println(apiVersionEx);
+
+               DsmHandle handle = new DsmHandle();
+               DsmInitExIn initExIn = new DsmInitExIn();
+               initExIn.setApiVersionExP(apiVersionEx);                
+               initExIn.setClientNodeNameP("APITEST");
+               initExIn.setClientOwnerNameP(null);
+               initExIn.setClientPasswordP("PASSWORD");
+               initExIn.setUserNameP(null);
+               initExIn.setUserPasswordP(null);
+               initExIn.setApplicationTypeP("TEST");
+               initExIn.setConfigfile(null);
+               initExIn.setOptions(null);
+               initExIn.setDirDelimiter((byte)'/');
+               initExIn.setUseUnicode(false);
+               initExIn.setBCrossPlatform(true);
+               initExIn.setBService(false);
+               initExIn.setBEncryptKeyEnabled(false);
+               initExIn.setEncryptionPasswordP(null);
+               initExIn.setUseTsmBuffers(false);
+               initExIn.setNumTsmBuffers((byte)0);             
+               DsmInitExOut initExOut = new DsmInitExOut();
+               short rc = TSMAPI.dsmInitEx(handle, initExIn, initExOut);
+               if( rc != 0 ) {         
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       return;
+               }
+               System.out.println(initExOut);
+               System.out.println("dsmHandle = " + handle.getDsmHandle());
+               
+               QryBackupData qryBackupData = new QryBackupData();
+               DsmObjName objName = new DsmObjName();
+               objName.setFs("/S1");
+               objName.setHl("/HL");
+               objName.setLl("/BACKUP");
+               objName.setObjType((byte)1);
+               qryBackupData.setObjName(objName);
+               qryBackupData.setOwner(null);
+               qryBackupData.setObjState((byte)1);
+               DsmDate pitDate = new DsmDate();
+               pitDate.setYear((short)0xFFFF);         
+               qryBackupData.setPitDate(pitDate);
+               rc = TSMAPI.dsmBeginBackupQuery(handle.getDsmHandle(), qryBackupData);
+               System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));         
+               if( rc != 0 ) {         
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       TSMAPI.dsmTerminate(handle.getDsmHandle());
+                       return;
+               }
+               QryRespBackupData qryRespBackupData = new QryRespBackupData();
+               rc = TSMAPI.dsmGetNextBackupQObj(handle.getDsmHandle(), qryRespBackupData);
+               System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+               if( (rc != 0)  && (rc != 2200) ) {              
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       TSMAPI.dsmEndQuery(handle.getDsmHandle());
+                       TSMAPI.dsmTerminate(handle.getDsmHandle());
+                       return;
+               }
+               rc = TSMAPI.dsmGetNextBackupQObj(handle.getDsmHandle(), qryRespBackupData);
+               System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+               System.out.println(qryRespBackupData);
+               rc = TSMAPI.dsmTerminate(handle.getDsmHandle());
+               if( rc != 0 ) {         
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       return;
+               }
+       }
+}
+
+               
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/test/RestoreTest.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/api/internal/test/RestoreTest.java
new file mode 100644 (file)
index 0000000..917c536
--- /dev/null
@@ -0,0 +1,140 @@
+package user.tsm.client.api.internal.test;
+
+import user.tsm.client.api.internal.DataBlk;
+import user.tsm.client.api.internal.DsmApiVersionEx;
+import user.tsm.client.api.internal.DsmDate;
+import user.tsm.client.api.internal.DsmGetList;
+import user.tsm.client.api.internal.DsmHandle;
+import user.tsm.client.api.internal.DsmInitExIn;
+import user.tsm.client.api.internal.DsmInitExOut;
+import user.tsm.client.api.internal.DsmObjName;
+import user.tsm.client.api.internal.QryBackupData;
+import user.tsm.client.api.internal.QryRespBackupData;
+import user.tsm.client.api.internal.TSMAPI;
+
+
+public class RestoreTest {
+       static {
+               System.loadLibrary("tsmjapi-1.0");
+       }
+
+       public static void main(String[] args) throws Exception {
+               DsmApiVersionEx apiVersionEx = new DsmApiVersionEx();
+               TSMAPI.dsmQueryApiVersionEx(apiVersionEx);
+               System.out.println(apiVersionEx);
+
+               DsmHandle handle = new DsmHandle();
+               DsmInitExIn initExIn = new DsmInitExIn();
+               initExIn.setApiVersionExP(apiVersionEx);
+               initExIn.setClientNodeNameP("APITEST");
+               initExIn.setClientOwnerNameP(null);
+               initExIn.setClientPasswordP("PASSWORD");
+               initExIn.setUserNameP(null);
+               initExIn.setUserPasswordP(null);
+               initExIn.setApplicationTypeP("TEST");
+               initExIn.setConfigfile(null);
+               initExIn.setOptions(null);
+               initExIn.setDirDelimiter((byte)'/');
+               initExIn.setUseUnicode(false);
+               initExIn.setBCrossPlatform(true);
+               initExIn.setBService(false);
+               initExIn.setBEncryptKeyEnabled(false);
+               initExIn.setEncryptionPasswordP(null);
+               initExIn.setUseTsmBuffers(false);
+               initExIn.setNumTsmBuffers((byte)0);
+               DsmInitExOut initExOut = new DsmInitExOut();
+               short rc = TSMAPI.dsmInitEx(handle, initExIn, initExOut);
+               if( rc != 0 ) {
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       return;
+               }
+               System.out.println(initExOut);
+               System.out.println("dsmHandle = " + handle.getDsmHandle());
+
+               QryBackupData qryBackupData = new QryBackupData();
+               DsmObjName objName = new DsmObjName();
+               objName.setFs("/S1");
+               objName.setHl("/HL");
+               objName.setLl("/BACKUP");
+               objName.setObjType((byte)1);
+               qryBackupData.setObjName(objName);
+               qryBackupData.setOwner(null);
+               qryBackupData.setObjState((byte)1);
+               DsmDate pitDate = new DsmDate();
+               pitDate.setYear((short)0xFFFF);
+               qryBackupData.setPitDate(pitDate);
+               rc = TSMAPI.dsmBeginBackupQuery(handle.getDsmHandle(), qryBackupData);
+               if( rc != 0 ) {
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       TSMAPI.dsmTerminate(handle.getDsmHandle());
+                       return;
+               }
+               QryRespBackupData qryRespBackupData = new QryRespBackupData();
+               rc = TSMAPI.dsmGetNextBackupQObj(handle.getDsmHandle(), qryRespBackupData);
+               System.out.println(qryRespBackupData);
+               if( (rc != 0)  && (rc != 2200) ) {
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       TSMAPI.dsmEndQuery(handle.getDsmHandle());
+                       TSMAPI.dsmTerminate(handle.getDsmHandle());
+                       return;
+               }
+               rc = TSMAPI.dsmEndQuery(handle.getDsmHandle());
+               if( rc != 0 ) {
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       TSMAPI.dsmTerminate(handle.getDsmHandle());
+                       return;
+               }
+               DsmGetList dsmGetList = new DsmGetList();
+               dsmGetList.setNumObjId(1);
+               long objIds[] = new long[1];
+               objIds[0] = qryRespBackupData.getObjId();
+               dsmGetList.setObjId(objIds);
+               rc = TSMAPI.dsmBeginGetData(handle.getDsmHandle(), true, (short)0, dsmGetList, null);
+               if( rc != 0 ) {
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       TSMAPI.dsmTerminate(handle.getDsmHandle());
+                       return;
+               }
+
+               byte buffer[] = new byte[65536];
+               DataBlk dataBlk = new DataBlk();
+               dataBlk.setBufferPtr(buffer);
+               dataBlk.setBufferLen(6);
+               rc = TSMAPI.dsmGetObj(handle.getDsmHandle(), objIds[0], dataBlk);
+               System.out.println(rc);
+               if( rc != 0  && rc != 121 && rc != 2200 )  {
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       TSMAPI.dsmTerminate(handle.getDsmHandle());
+                       return;
+               }
+
+               rc = TSMAPI.dsmGetData(handle.getDsmHandle(), dataBlk);
+               System.out.println(rc);
+               if( rc != 0  && rc != 121 && rc != 2200 )  {
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       TSMAPI.dsmTerminate(handle.getDsmHandle());
+                       return;
+               }
+
+               rc = TSMAPI.dsmEndGetObj(handle.getDsmHandle());
+               if( rc != 0 ) {
+                       TSMAPI.dsmTerminate(handle.getDsmHandle());
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       return;
+               }
+
+               rc = TSMAPI.dsmEndGetData(handle.getDsmHandle());
+               if( rc != 0 ) {
+                       TSMAPI.dsmTerminate(handle.getDsmHandle());
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       return;
+               }
+
+               rc = TSMAPI.dsmTerminate(handle.getDsmHandle());
+               if( rc != 0 ) {
+                       System.out.println(TSMAPI.dsmRCMsg(handle.getDsmHandle(), rc));
+                       return;
+               }
+       }
+}
+
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Backup.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Backup.java
new file mode 100644 (file)
index 0000000..88a0d17
--- /dev/null
@@ -0,0 +1,39 @@
+package user.tsm.client.sample;
+
+import user.tsm.client.TSMBackupFileObject;
+import user.tsm.client.TSMException;
+import user.tsm.client.TSMObjectListener;
+import user.tsm.client.TSMClient;
+
+public class Backup {
+       public static void main(String args[]) {
+               TSMClient server = null;
+               try {
+                       server = new TSMClient("TEST");
+                       server.connect(null, null);
+                       System.out.println("Connected");
+               
+                       //server.registerFilespace("/TSMJAPITEST2", "typetest", 'C', "", 1000000L, 500000L);
+                       
+                       
+                       TSMBackupFileObject backupObject = new TSMBackupFileObject("/TSMJAPITEST2", "\\HLTEST", "\\LLTEST2");
+                       backupObject.setLocalFilePath("c:/projects/sport1/S2M00010_P");
+                       backupObject.setListener(new TSMObjectListener() {
+                               public void bytesWorked(long bytes) {
+                                       System.out.println(bytes);
+                               }
+                       });
+                       server.send(backupObject);
+                       server.disconnect();
+                       System.out.println("Disconnected");
+               } catch(TSMException e) {
+                       System.out.println("Message: " + e.getMessage() + "(RC=" + e.getRC() + ", reason=" + e.getReason() + ")");
+                       if( (server != null) && (server.isConnected()) )
+                               server.disconnect();
+               } catch(Exception e) {
+                       e.printStackTrace();
+                       if( (server != null) && (server.isConnected()) )
+                               server.disconnect();
+               }
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/BackupTest1.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/BackupTest1.java
new file mode 100644 (file)
index 0000000..40e6998
--- /dev/null
@@ -0,0 +1,24 @@
+package user.tsm.client.sample;
+
+import user.tsm.client.TSMBackupFileObject;
+import user.tsm.client.TSMClient;
+
+
+public class BackupTest1
+{
+       public static void main( String args[] ) throws Exception
+       {
+               TSMClient server = null;
+               server = new TSMClient( "TEST" );
+               server.connect( "userdev","password" );
+               System.out.println( "Connected" );
+               server.setBufferSize( 65536 );
+
+               TSMBackupFileObject objtsm = new TSMBackupFileObject( "/ALLIANZ/EDMS/201108","/NEWTSM","/haho1" );
+               objtsm.setLocalFilePath( "/root/tsmapi/test/haho1" );
+               server.send( objtsm );
+
+               server.disconnect();
+               System.out.println( "Disconnected" );
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/BackupTest2.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/BackupTest2.java
new file mode 100644 (file)
index 0000000..fbb6aee
--- /dev/null
@@ -0,0 +1,24 @@
+package user.tsm.client.sample;
+
+import user.tsm.client.TSMBackupFileObject;
+import user.tsm.client.TSMClient;
+
+
+public class BackupTest2
+{
+       public static void main( String args[] ) throws Exception
+       {
+               TSMClient server = null;
+               server = new TSMClient( "TEST" );
+               server.connect( "userdev","password" );
+               System.out.println( "Connected" );
+               server.setBufferSize( 65536 );
+
+               TSMBackupFileObject objtsm = new TSMBackupFileObject( "/ALLIANZ/EDMS/201108","/NEWTSM","/haho1","USERDEV2" );
+               objtsm.setLocalFilePath( "/root/tsmapi/test/haho1" );
+               server.send( objtsm );
+
+               server.disconnect();
+               System.out.println( "Disconnected" );
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Connect.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Connect.java
new file mode 100644 (file)
index 0000000..45ac253
--- /dev/null
@@ -0,0 +1,20 @@
+package user.tsm.client.sample;
+
+import user.tsm.client.TSMClient;
+
+public class Connect {
+       public static void main(String args[]) {
+               TSMClient server = null;
+               try {
+                       server = new TSMClient("TEST");
+                       server.connect(null, null);
+                       System.out.println("Connected");
+                       server.disconnect();
+                       System.out.println("Disconnected");
+               } catch(Exception e) {
+                       System.out.println(e.getMessage());
+                       if( (server != null) && (server.isConnected()) )
+                               server.disconnect();
+               }
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Delete.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Delete.java
new file mode 100644 (file)
index 0000000..911221b
--- /dev/null
@@ -0,0 +1,33 @@
+package user.tsm.client.sample;
+
+import user.tsm.client.TSMBackupFileObject;
+import user.tsm.client.TSMException;
+import user.tsm.client.TSMClient;
+
+public class Delete {
+       public static void main(String args[]) {
+               TSMClient server = null;
+               try {
+                       server = new TSMClient("TEST");
+                       server.connect("APITEST", "PASSWORD");
+                       System.out.println("Connected");
+
+                       TSMBackupFileObject result = server.getActiveBackupFileObject("TSMJAPITEST1", "HLTEST", "LLTEST2");
+                       System.out.println("Query results: ");
+                       if( result != null ) {
+                               server.delete(result);
+                               System.out.println(result.getFileSpaceName() + result.getHighLevelName() + result.getLowLevelName() + " has been deleted.");
+                       }                       
+                       server.disconnect();
+                       System.out.println("Disconnected");
+               } catch(TSMException e) {
+                       System.out.println("Message: " + e.getMessage() + "(RC=" + e.getRC() + ", reason=" + e.getReason() + ")");
+                       if( (server != null) && (server.isConnected()) )
+                               server.disconnect();
+               } catch(Exception e) {
+                       e.printStackTrace();
+                       if( (server != null) && (server.isConnected()) )
+                               server.disconnect();
+               }
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/DeleteTest1.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/DeleteTest1.java
new file mode 100644 (file)
index 0000000..df698be
--- /dev/null
@@ -0,0 +1,24 @@
+package user.tsm.client.sample;
+
+import user.tsm.client.TSMBackupFileObject;
+import user.tsm.client.TSMClient;
+
+
+public class DeleteTest1
+{
+       public static void main( String args[] ) throws Exception
+       {
+               TSMClient server = null;
+               server = new TSMClient( "TEST" );
+               server.connect( "userdev","password" );
+               System.out.println( "Connected" );
+               server.setBufferSize( 65536 );
+
+               TSMBackupFileObject result = server.getActiveBackupFileObject( "/ALLIANZ/EDMS/201108","/NEWTSM","/haho1" );
+               //result.setLocalFilePath( "/root/tsmapi/test/haho2" );
+               server.delete( result );
+
+               server.disconnect();
+               System.out.println( "Disconnected" );
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/MultiThread.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/MultiThread.java
new file mode 100644 (file)
index 0000000..4582e3c
--- /dev/null
@@ -0,0 +1,75 @@
+package user.tsm.client.sample;
+
+import java.io.File;
+
+import user.tsm.client.TSMBackupFileObject;
+import user.tsm.client.TSMClient;
+
+public class MultiThread {
+
+       
+       public class TestThread extends Thread {
+               private String name = null;
+               private String workPath = null;
+               private String fileName = null;
+               
+               public TestThread(String name, String workPath, String fileName) {
+                       this.name = name;
+                       this.workPath = workPath;
+                       this.fileName = fileName;
+               }
+               public void run() {
+                       try {
+                               TSMClient server = new TSMClient("TEST");
+                               
+                               for( int i = 0; i < 10; i++ ) {
+                                       server.connect(null, null);
+                                       System.out.println(name + ": connected");
+                                       
+                                       //server.registerFilespace("PASA1", "typetest", 'C', "", 1000000L, 500000L);
+
+
+                                       TSMBackupFileObject object = new TSMBackupFileObject("PASA1", "\\", "\\" + fileName );
+                                       object.setLocalFilePath(workPath + File.separator + fileName);
+                                       server.send(object);
+                                       System.out.println(name + ": sent");
+
+                                       
+                                       object = server.getActiveBackupFileObject("PASA1", "\\", "\\" + fileName );
+                                       object.setLocalFilePath(workPath + File.separator + fileName + "_restored");
+                                       server.recieve(object);
+                                       System.out.println(name + ": received");
+                                       server.delete(object);
+                                       
+                                       
+                                       server.disconnect();
+                                       
+System.out.println(name + ": disconnected");
+
+                               }
+                               
+                       } catch(Exception e) {
+                               System.out.println("Exception in" + name);
+                               e.printStackTrace();
+                       }
+               }
+       }
+       
+       public void start() throws Exception{
+               TSMClient.SetUpMultithread();
+               new TestThread("Thread 1", "c:/projects/sport1/ORIG", "R2M00001").start();
+               /* 
+               new TestThread("Thread 2", "c:/projects/sport1/ORIG", "R2M00002").start();
+               new TestThread("Thread 3", "c:/projects/sport1/ORIG", "R2M00003").start();
+               new TestThread("Thread 4", "c:/projects/sport1/ORIG", "R2M00001").start();
+               new TestThread("Thread 5", "c:/projects/sport1/ORIG", "R2M00002").start();
+               */
+       }
+       
+       
+       public static void main(String args[]) throws Exception {
+               MultiThread t = new MultiThread();
+               t.start();
+       }
+       
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Query.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Query.java
new file mode 100644 (file)
index 0000000..e250ab5
--- /dev/null
@@ -0,0 +1,31 @@
+package user.tsm.client.sample;
+
+import user.tsm.client.TSMBackupFileObject;
+import user.tsm.client.TSMException;
+import user.tsm.client.TSMClient;
+
+public class Query {
+       public static void main(String args[]) {
+               TSMClient server = null;
+               try {
+                       server = new TSMClient("TEST");
+                       server.connect("APITEST", "PASSWORD");
+                       System.out.println("Connected");
+
+                       TSMBackupFileObject result = server.getActiveBackupFileObject("TSMJAPITEST1", "HLTEST", "LLTEST2");
+                       System.out.println("Query results: ");
+                       if( result != null )
+                               System.out.println(result.getFileSpaceName() + result.getHighLevelName() + result.getLowLevelName());
+                       server.disconnect();
+                       System.out.println("Disconnected");
+               } catch(TSMException e) {
+                       System.out.println("Message: " + e.getMessage() + "(RC=" + e.getRC() + ", reason=" + e.getReason() + ")");
+                       if( (server != null) && (server.isConnected()) )
+                               server.disconnect();
+               } catch(Exception e) {
+                       e.printStackTrace();
+                       if( (server != null) && (server.isConnected()) )
+                               server.disconnect();
+               }
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/RegisterFilespace.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/RegisterFilespace.java
new file mode 100644 (file)
index 0000000..b7518cb
--- /dev/null
@@ -0,0 +1,21 @@
+package user.tsm.client.sample;
+
+import user.tsm.client.TSMClient;
+
+public class RegisterFilespace {
+       public static void main(String args[]) {
+               TSMClient server = null;
+               try {
+                       server = new TSMClient("TEST");
+                       server.connect("APITEST", "PASSWORD");
+                       System.out.println("Connected");
+                       server.registerFilespace("TSMJAPITEST1", "TSMJAPITEST", 'C', "TSMJAPITEST", 10L*1024L*1024L*1024L, 0);
+                       server.disconnect();
+                       System.out.println("Disconnected");
+               } catch(Exception e) {
+                       System.out.println(e.getMessage());
+                       if( (server != null) && (server.isConnected()) )
+                               server.disconnect();
+               }
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Restore.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/Restore.java
new file mode 100644 (file)
index 0000000..be91832
--- /dev/null
@@ -0,0 +1,42 @@
+package user.tsm.client.sample;
+
+import user.tsm.client.TSMBackupFileObject;
+import user.tsm.client.TSMException;
+import user.tsm.client.TSMObjectListener;
+import user.tsm.client.TSMClient;
+
+public class Restore {
+       public static void main(String args[]) {
+               TSMClient server = null;
+               try {
+                       server = new TSMClient("TEST");
+                       server.connect(null, null);
+                       System.out.println("Connected");
+                       server.setBufferSize(65536);
+
+                       TSMBackupFileObject result = server.getActiveBackupFileObject("PASA1", "\\", "\\S2M00002");
+                       
+                       System.out.println("Query results: ");
+                       if( result != null ) {
+                               result.setLocalFilePath("c:/projects/sport1/S2M00002_RESTORED");
+                               result.setListener(new TSMObjectListener() {
+                                       public void bytesWorked(long bytes) {
+                                               System.out.println(bytes);
+                                       }
+                               });
+                               server.recieve(result);
+                       }
+                       server.disconnect();
+                       System.out.println("Disconnected");
+               } catch(TSMException e) {
+                       System.out.println("Message: " + e.getMessage() + "(RC=" + e.getRC() + ", reason=" + e.getReason() + ")");
+                       if( (server != null) && (server.isConnected()) )
+                               server.disconnect();
+               } catch(Exception e) {
+                       e.printStackTrace();
+                       if( (server != null) && (server.isConnected()) )
+                               server.disconnect();
+               }
+       }
+}
+//TSMBackupFileObject result[] = server.queryActiveBackupObjects("/S1", "/HLTEST", "/LLTEST2");
\ No newline at end of file
diff --git a/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/RestoreTest1.java b/mc-intergator/tsm-clientapi/src/main/java/user/tsm/client/sample/RestoreTest1.java
new file mode 100644 (file)
index 0000000..455aa2d
--- /dev/null
@@ -0,0 +1,28 @@
+package user.tsm.client.sample;
+
+import user.tsm.client.TSMBackupFileObject;
+import user.tsm.client.TSMClient;
+
+
+public class RestoreTest1
+{
+       public static void main( String args[] ) throws Exception
+       {
+               TSMClient server = null;
+               server = new TSMClient( "TEST" );
+               server.connect( "userdev","password" );
+               System.out.println( "Connected" );
+               server.setBufferSize( 65536 );
+
+               TSMBackupFileObject result = server.getActiveBackupFileObject( "/ALLIANZ/EDMS/201108","/NEWTSM","/201108_67d1a0a2-5dc3-48a7-925d-56601066860a" );
+
+               System.out.println( "Query results: " );
+               if ( result!=null )
+               {
+                       result.setLocalFilePath( "/root/tsmapi/test/haho" );
+                       server.recieve( result );
+               }
+               server.disconnect();
+               System.out.println( "Disconnected" );
+       }
+}
diff --git a/mc-intergator/tsm-clientapi/src/main/resources/application.yaml b/mc-intergator/tsm-clientapi/src/main/resources/application.yaml
new file mode 100644 (file)
index 0000000..f949a19
--- /dev/null
@@ -0,0 +1,6 @@
+spring:
+  main:
+    banner-mode: off
+tsm:
+  separator: "\\"
+  hlname: "\\"
diff --git a/mc-intergator/tsm-clientapi/src/main/resources/logback.xml b/mc-intergator/tsm-clientapi/src/main/resources/logback.xml
new file mode 100644 (file)
index 0000000..0173054
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <include resource="org/springframework/boot/logging/logback/base.xml"/>
+    <logger name="org.springframework" level="ERROR"/>
+</configuration>
\ No newline at end of file