diff --git a/.gitignore b/.gitignore index a6be6ea..999bae6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,20 @@ +test/javasource/ test/deployment/ -test/javasource/**/proxies/ -test/javasource/com/ -test/javasource/system/ +test/.classpath +test/.project +test/theme/ +test/userlib/ test/.classpath test/.project *.launch *.tmp *.lock .idea/ -*.bak -settings/ + +node_modules/ +.editorconfig +*DS_Store* +.vscode/ +*.bak +deployment diff --git a/Gulpfile.js b/Gulpfile.js new file mode 100644 index 0000000..13305f3 --- /dev/null +++ b/Gulpfile.js @@ -0,0 +1,88 @@ +// Generated on 2017-02-14 using generator-mendix 2.1.0 :: git+https://github.com/mendix/generator-mendix.git +/*jshint -W069,-W097*/ +"use strict"; + +// In case you seem to have trouble starting Mendix through `gulp modeler`, you might have to set the path to the Mendix application, otherwise leave both values as they are +var MODELER_PATH = null; +var MODELER_ARGS = "/file:{path}"; + +/******************************************************************************** + * Do not edit anything below, unless you know what you are doing + ********************************************************************************/ +var gulp = require("gulp"), + zip = require("gulp-zip"), + del = require("del"), + newer = require("gulp-newer"), + gutil = require("gulp-util"), + gulpif = require("gulp-if"), + jsonTransform = require("gulp-json-transform"), + intercept = require("gulp-intercept"), + argv = require("yargs").argv, + widgetBuilderHelper = require("widgetbuilder-gulp-helper"), + jsValidate = require("gulp-jsvalidate"); + +var pkg = require("./package.json"), + paths = widgetBuilderHelper.generatePaths(pkg), + xmlversion = widgetBuilderHelper.xmlversion; + +gulp.task("default", function() { + gulp.watch("./src/**/*", ["compress"]); + gulp.watch("./src/**/*.js", ["copy:js"]); +}); + +gulp.task("clean", function () { + return del([ + paths.WIDGET_TEST_DEST, + paths.WIDGET_DIST_DEST + ], { force: true }); +}); + +gulp.task("compress", ["clean"], function () { + return gulp.src("src/**/*") + .pipe(zip(pkg.name + ".mpk")) + .pipe(gulp.dest(paths.TEST_WIDGETS_FOLDER)) + .pipe(gulp.dest("dist")); +}); + +gulp.task("copy:js", function () { + return gulp.src(["./src/**/*.js"]) + .pipe(jsValidate()) + .pipe(newer(paths.TEST_WIDGETS_DEPLOYMENT_FOLDER)) + .pipe(gulp.dest(paths.TEST_WIDGETS_DEPLOYMENT_FOLDER)); +}); + +gulp.task("version:xml", function () { + return gulp.src(paths.PACKAGE_XML) + .pipe(xmlversion(argv.n)) + .pipe(gulp.dest("./src/")); +}); + +gulp.task("version:json", function () { + return gulp.src("./package.json") + .pipe(gulpif(typeof argv.n !== "undefined", jsonTransform(function(data) { + data.version = argv.n; + return data; + }, 2))) + .pipe(gulp.dest("./")); +}); + +gulp.task("icon", function (cb) { + var icon = (typeof argv.file !== "undefined") ? argv.file : "./icon.png"; + console.log("\nUsing this file to create a base64 string: " + gutil.colors.cyan(icon)); + gulp.src(icon) + .pipe(intercept(function (file) { + console.log("\nCopy the following to your " + pkg.name + ".xml (after description):\n\n" + gutil.colors.cyan("") + file.contents.toString("base64") + gutil.colors.cyan("<\/icon>") + "\n"); + cb(); + })); +}); + +gulp.task("folders", function () { + paths.showPaths(); return; +}); + +gulp.task("modeler", function (cb) { + widgetBuilderHelper.runmodeler(MODELER_PATH, MODELER_ARGS, paths.TEST_PATH, cb); +}); + +gulp.task("build", ["compress"]); +gulp.task("version", ["version:xml", "version:json"]); diff --git a/dist/TooltipImage.mpk b/dist/TooltipImage.mpk index 99941d5..506f3ed 100644 Binary files a/dist/TooltipImage.mpk and b/dist/TooltipImage.mpk differ diff --git a/package.json b/package.json new file mode 100644 index 0000000..f4109e0 --- /dev/null +++ b/package.json @@ -0,0 +1,37 @@ +{ + "name": "TooltipImage", + "version": "1.2.0", + "description": "", + "license": "", + "author": "", + "private": true, + "dependencies": {}, + "devDependencies": { + "del": "^2.2.2", + "gulp": "^3.9.1", + "gulp-if": "^2.0.1", + "gulp-intercept": "^0.1.0", + "gulp-json-transform": "^0.4.2", + "gulp-newer": "^1.3.0", + "gulp-util": "^3.0.7", + "gulp-zip": "^3.2.0", + "gulp-jsvalidate": "^3.0.0", + "widgetbuilder-gulp-helper": "https://github.com/JelteMX/widgetbuilder-gulp-helper/archive/1.0.1.tar.gz", + "yargs": "^6.0.0" + }, + "engines": { + "node": ">=5" + }, + "generatorVersion": "2.1.0", + "paths": { + "testProjectFolder": "./test/", + "testProjectFileName": "Test.mpr" + }, + "scripts": { + "build": "node ./node_modules/gulp/bin/gulp build", + "version": "node ./node_modules/gulp/bin/gulp version", + "icon": "node ./node_modules/gulp/bin/gulp icon", + "folders": "node ./node_modules/gulp/bin/gulp folders", + "modeler": "node ./node_modules/gulp/bin/gulp modeler" + } +} \ No newline at end of file diff --git a/src/TooltipImage/TooltipImage.xml b/src/TooltipImage/TooltipImage.xml index fb070e0..c12aa17 100644 --- a/src/TooltipImage/TooltipImage.xml +++ b/src/TooltipImage/TooltipImage.xml @@ -20,16 +20,22 @@ Appearance Tooltip form - + Tooltip position Appearance Tooltip position Above After - Below + Below Before - + Above Centered + After Centered + Below Centered + Before Centered + Above (Alternate) + Below (Alternate) + Default image diff --git a/src/TooltipImage/widget/FormTooltip.js b/src/TooltipImage/widget/FormTooltip.js index d213431..c7c9353 100644 --- a/src/TooltipImage/widget/FormTooltip.js +++ b/src/TooltipImage/widget/FormTooltip.js @@ -23,7 +23,7 @@ define([ 'mxui/dom', 'dojo/dom', 'dojo/_base/lang', 'dijit/registry', "dojo/text!TooltipImage/widget/templates/Tooltip.html" ], function (declare, _WidgetBase, _Widget, _Templated, MasterTooltip, domMx, dom, lang, registry, widgetTemplate) { - + // Declare widget. return declare('TooltipImage.widget.FormTooltip', [ _WidgetBase, _Widget, _Templated, MasterTooltip ], { @@ -39,7 +39,7 @@ define([ tooltipform : '', showdelay : 0, hidedeley : 0, - + // Internal variables used. _hideTimer : null, _showTimer : null, @@ -47,7 +47,7 @@ define([ _previousContext : null, _currentContext : null, _topWidgets : null, - + _dataContainer : {}, postCreate : function() { @@ -55,7 +55,7 @@ define([ this.connect(this.targetnode, 'onmouseover', '_onShow'); this.connect(this.targetnode, 'onmouseout', '_onHide'); - + this.connect(mxui.widget, 'hideTooltip', this, '_hideTooltip'); }, @@ -92,7 +92,7 @@ define([ _fetchForm : function() { var node = null, ioBind = null; - + logger.debug(this.id + '.fetchForm'); if(this._topWidgets) { @@ -105,7 +105,7 @@ define([ callback: lang.hitch(this, function(form) { var i = null, widget; - + this._tooltipNode = node.firstChild; this._topWidgets = registry.findWidgets(this._tooltipNode)[0]; @@ -175,13 +175,13 @@ define([ uninitialize : function() { logger.debug(this.id + '.uninitialize'); - if (typeof this._tooltipNode !== 'undefined' && this._tooltipNode) { - mxui.widget.destroyChildren(this._tooltipNode); + if (typeof this._topWidgets !== 'undefined' && this._topWidgets) { + this._topWidgets.destroy(); } } - + }); }); require(["TooltipImage/widget/FormTooltip"], function () { "use strict"; -}); \ No newline at end of file +}); diff --git a/src/TooltipImage/widget/MasterTooltip.js b/src/TooltipImage/widget/MasterTooltip.js index b9c2ced..f7717af 100644 --- a/src/TooltipImage/widget/MasterTooltip.js +++ b/src/TooltipImage/widget/MasterTooltip.js @@ -1,7 +1,7 @@ /*jslint white: true, nomen: true, plusplus: true */ /*global logger, mx, mxui, mendix, dojo, require, console, define, module, TooltipImage */ define([ - "dojo/_base/declare", "TooltipImage/widget/Templated", + "dojo/_base/declare", "TooltipImage/widget/Templated", "dojo/window", "dojo/dom-class", "dojo/dom-geometry", "dijit/Tooltip", "dojo/text!TooltipImage/widget/templates/Tooltip.html" ], function(declare, _Templated, dojoWindow, dojoClass, dojoGeometry, dijitTooltip, templateString) { @@ -52,6 +52,7 @@ define([ // see dijit/_MasterTooltip.js line 40 this.aroundNode = null; + logger.debug("Calling inherited with " + position); this.inherited(arguments, [content, aroundNode, position]); dojoClass.add(this.domNode, "mx-tooltip"); } @@ -61,4 +62,4 @@ define([ }); require(["TooltipImage/widget/MasterTooltip"], function () { "use strict"; -}); \ No newline at end of file +}); diff --git a/src/TooltipImage/widget/TooltipImage.js b/src/TooltipImage/widget/TooltipImage.js index 7ad0bee..deed7f5 100644 --- a/src/TooltipImage/widget/TooltipImage.js +++ b/src/TooltipImage/widget/TooltipImage.js @@ -15,9 +15,9 @@ */ define([ - 'dojo/_base/declare', 'mxui/widget/_WidgetBase', 'dijit/_Widget', 'dijit/_TemplatedMixin', 'mxui/widget/Image', + 'dojo/_base/declare', 'mxui/widget/_WidgetBase', 'dijit/_Widget', 'dijit/_TemplatedMixin', 'mxui/dom', 'dojo/_base/lang', 'dojo/dom-attr', 'dojo/text!TooltipImage/widget/templates/TooltipImage.html', 'TooltipImage/widget/FormTooltip' - ], function (declare, _WidgetBase, _Widget, _Templated, MxuiImage, lang, domAttr, widgetTemplate, FormTooltip) { +], function (declare, _WidgetBase, _Widget, _Templated, MxuiDom, lang, domAttr, widgetTemplate, FormTooltip) { // Declare widget. return declare('TooltipImage.widget.TooltipImage', [ _WidgetBase, _Widget, _Templated ], { @@ -31,64 +31,68 @@ define([ baseClass : "formtooltipTooltipImage", templateString: widgetTemplate, - + tooltip : null, - viewer : null, + viewer : null, // Update update : function(context, callback) { logger.debug(this.id + ".applyContext"); + this._dataContent[this.id]._contextObj = context; + this._dataContent[this.id]._viewer.applyContext(context, function() {}); - + if (typeof this._dataContent[this.id]._tooltip !== 'undefined' && this._dataContent[this.id]._tooltip !== null) { this._dataContent[this.id]._tooltip.applyContext(context, lang.hitch(this, function(callback) { - + if (typeof callback !== 'undefined'){ callback(); } - + }, callback)); - + } else { - + if (typeof callback !== 'undefined'){ callback(); } - + } }, applyContext : function(context, callback) { logger.debug(this.id + ".applyContext"); + this._dataContent[this.id]._contextObj = context; + this._dataContent[this.id]._viewer.applyContext(context); - + if (typeof this._dataContent[this.id]._tooltip !== 'undefined' && this._dataContent[this.id]._tooltip !== null) { - + this._dataContent[this.id]._tooltip.applyContext(context, lang.hitch(this, function(callback) { - + if (typeof callback !== 'undefined'){ callback(); } - + }, callback)); - + } else { - + if (typeof callback !== 'undefined'){ callback(); } - + } }, postCreate : function() { var position = null; - + logger.debug(this.id + ".postCreate"); - + this._dataContent[this.id] = { _tooltip : null, _viewer : null, @@ -99,42 +103,50 @@ define([ this.imagepath = "hack/" + this.imagepath; } - this._dataContent[this.id]._viewer = new MxuiImage({ - path : this.imagepath, - defaultUrl : this.imagedefault - }); - + var img = mxui.dom.create("img"); + + logger.debug("Path='" + this.imagedefault + "'"); + + img.src = this.imagedefault; + img.width = this.imagewidth; + img.height = this.imageheight; + + this._dataContent[this.id]._viewer = { + applyContext: function(context) { }, + destroy: function() { + if (typeof this.domNode !== 'undefined' && this.domNode !== null) { + this.domnode.destroy(); + } + } + }; + + this._dataContent[this.id]._viewer.domNode = img; + this.domNode.appendChild(this._dataContent[this.id]._viewer.domNode); - if(this.imagewidth > 0){ - domAttr.set(this._dataContent[this.id]._viewer.domNode, "width", this.imagewidth + 'px'); - } - if(this.imageheight > 0){ - domAttr.set(this._dataContent[this.id]._viewer.domNode, "height", this.imageheight + 'px'); - } if(typeof this.imageclick !== 'undefined' && this.imageclick !== ''){ this.connect(this._dataContent[this.id]._viewer.domNode, "onclick", dojo.hitch(this, function(evt){ mx.data.action({ params : { applyto : 'selection', actionname : this.imageclick, - guids : [ this._contextObj.getGuid() ] + guids : [ this._dataContent[this.id]._contextObj.getTrackId() ] }, callback : function(obj) { // no MxObject expected - console.log("Tooltip image - microflow executed"); + logger.debug("Tooltip image - microflow executed"); }, error : function(error) { - console.log("Tooltip image - error - " + error.description); + logger.debug("Tooltip image - error - " + error.description); }, onValidation : function(validations) { - console.log("Tooltip image - there were " + validations.length + " validation errors"); + logger.debug("Tooltip image - there were " + validations.length + " validation errors"); } }); } )); } - switch(this.tooltippos) { + switch(this.tooltippos) { case "below": position = ["below", "above"]; break; @@ -147,7 +159,25 @@ define([ case "before": position = ["before", "after"]; break; - } + case "belowcentered": + position = ["below-centered", "above-centered"]; + break; + case "abovecentered": + position = ["above-centered", "below-centered"]; + break; + case "aftercentered": + position = ["after-centered", "before-centered"]; + break; + case "beforecentered": + position = ["before-centered", "after-centered"]; + break; + case "belowalt": + position = ["below-alt", "above-alt"]; + break; + case "abovealt": + position = ["above-alt", "below-alt"]; + break; + } this._dataContent[this.id]._tooltip = new TooltipImage.widget.FormTooltip({ cssclass : this.cssclass, @@ -157,7 +187,7 @@ define([ showdelay : 0, hidedeley : 0 }); - + }, uninitialize : function() { @@ -165,9 +195,6 @@ define([ if (typeof this._dataContent[this.id]._tooltip !== 'undefined' && this._dataContent[this.id]._tooltip !== null){ this._dataContent[this.id]._tooltip.destroy(); } - if (typeof this._dataContent[this.id]._viewer !== 'undefined' && this._dataContent[this.id]._viewer !== null){ - this._dataContent[this.id]._viewer.destroy(); - } } }); diff --git a/src/TooltipImage/widget/ui/FormTooltip.css b/src/TooltipImage/widget/ui/FormTooltip.css index a97a560..2a0617e 100644 --- a/src/TooltipImage/widget/ui/FormTooltip.css +++ b/src/TooltipImage/widget/ui/FormTooltip.css @@ -1,26 +1,48 @@ -.mx-tooltip .dijitTooltipContainer:after, +.mx-tooltip .dijitTooltipContainer:after, .mx-tooltip .dijitTooltipContainer:before { - right: 100%; - top: 50%; - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none; + right: 100%; + top: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; } -.mx-tooltip .dijitTooltipContainer:after { - border-color: rgba(136, 183, 213, 0); - border-right-color: #26323D; - border-width: 7px; - margin-top: -7px; +.dijitTooltipLeft .dijitTooltipContainer:after { + border-color: rgba(136, 183, 213, 0); + border-left-color: #26323D; + border-width: 7px; + margin-top: -7px; + right: -14px; } -.mx-tooltip .dijitTooltipContainer:before { - border-color: rgba(38, 50, 61, 0); - border-right-color: #26323D; - border-width: 8px; - margin-top: -8px; + +.dijitTooltipRight .dijitTooltipContainer:before { + border-color: rgba(38, 50, 61, 0); + border-right-color: #26323D; + border-width: 8px; + margin-top: -8px; +} + +div.dijitTooltipLeft { + margin-left: -20px; + margin-top: -11px; + margin-right: 20px; +} + +div.dijitTooltipRight { + margin-left: 20px; + margin-top: -11px; + margin-right: -20px; +} + +div.dijitTooltipAbove { + margin-top: -30px; +} + +div.dijitTooltipBelow { + margin-top: 20px; } .mx-tooltip .dijitTooltipConnector { diff --git a/src/TooltipImage/widget/ui/TooltipImage.css b/src/TooltipImage/widget/ui/TooltipImage.css index 0c1915e..2a0617e 100644 --- a/src/TooltipImage/widget/ui/TooltipImage.css +++ b/src/TooltipImage/widget/ui/TooltipImage.css @@ -10,19 +10,41 @@ pointer-events: none; } -.mx-tooltip .dijitTooltipContainer:after { - border-color: rgba(136, 183, 213, 0); - border-right-color: #26323D; - border-width: 7px; - margin-top: -7px; +.dijitTooltipLeft .dijitTooltipContainer:after { + border-color: rgba(136, 183, 213, 0); + border-left-color: #26323D; + border-width: 7px; + margin-top: -7px; + right: -14px; } -.mx-tooltip .dijitTooltipContainer:before { + +.dijitTooltipRight .dijitTooltipContainer:before { border-color: rgba(38, 50, 61, 0); border-right-color: #26323D; border-width: 8px; margin-top: -8px; } +div.dijitTooltipLeft { + margin-left: -20px; + margin-top: -11px; + margin-right: 20px; +} + +div.dijitTooltipRight { + margin-left: 20px; + margin-top: -11px; + margin-right: -20px; +} + +div.dijitTooltipAbove { + margin-top: -30px; +} + +div.dijitTooltipBelow { + margin-top: 20px; +} + .mx-tooltip .dijitTooltipConnector { display: none; } diff --git a/src/package.xml b/src/package.xml index 8dd870f..b01b187 100644 --- a/src/package.xml +++ b/src/package.xml @@ -1,11 +1,11 @@ - + - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/test/.classpath b/test/.classpath index 99bcdbd..b236079 100644 --- a/test/.classpath +++ b/test/.classpath @@ -2,7 +2,7 @@ - - + + diff --git a/test/MX5_6_2.launch b/test/MX5_6_2.launch deleted file mode 100644 index 3512a38..0000000 --- a/test/MX5_6_2.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/Project.mpr b/test/Project.mpr deleted file mode 100644 index aa16846..0000000 Binary files a/test/Project.mpr and /dev/null differ diff --git a/test/Test.mpr b/test/Test.mpr new file mode 100644 index 0000000..6de1250 Binary files /dev/null and b/test/Test.mpr differ diff --git a/test/deployment/build_core.xml b/test/deployment/build_core.xml index bfda035..30a1019 100644 --- a/test/deployment/build_core.xml +++ b/test/deployment/build_core.xml @@ -1,73 +1,48 @@ - - - Ant buildfile for deployment. Generated by the Mendix Business Modeler. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Ant buildfile for deployment. Generated by the Mendix Modeler. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/deployment/build_webui.xml b/test/deployment/build_webui.xml deleted file mode 100644 index 2962fcf..0000000 --- a/test/deployment/build_webui.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - Ant buildfile for web UI deployment. Generated by the Mendix Business Modeler. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/deployment/data/.policy b/test/deployment/data/.policy index 950092b..134d525 100644 --- a/test/deployment/data/.policy +++ b/test/deployment/data/.policy @@ -1,3 +1,3 @@ -grant { - permission java.security.AllPermission; +grant { + permission java.security.AllPermission; }; \ No newline at end of file diff --git a/test/deployment/data/database/20140415_163923_database_commands.sql b/test/deployment/data/database/20140415_163923_database_commands.sql deleted file mode 100644 index 7c5ea23..0000000 --- a/test/deployment/data/database/20140415_163923_database_commands.sql +++ /dev/null @@ -1,1670 +0,0 @@ -CREATE FUNCTION MX_TOLOCALDATETIME(v TIMESTAMP, timeZoneId NVARCHAR(50)) RETURNS TIMESTAMP LANGUAGE JAVA DETERMINISTIC NO SQL EXTERNAL NAME 'CLASSPATH:com.mendix.connectionbus.connections.jdbc.implementations.hsqldb.DateTimeLocalizationConverter.convertToLocalDateTime'; -CREATE TABLE "mendixsystem$entity" ( - "id" VARCHAR_IGNORECASE(36) NOT NULL, - "entity_name" VARCHAR_IGNORECASE(511) NOT NULL, - "table_name" VARCHAR_IGNORECASE(255) NOT NULL, - "superentity_id" VARCHAR_IGNORECASE(255) NULL, - PRIMARY KEY("id")); -CREATE INDEX "idx_mendixsystem$entity_entity_name" ON "mendixsystem$entity" - ("entity_name"); -CREATE TABLE "mendixsystem$attribute" ( - "id" VARCHAR_IGNORECASE(36) NOT NULL, - "entity_id" VARCHAR_IGNORECASE(255) NOT NULL, - "attribute_name" VARCHAR_IGNORECASE(255) NOT NULL, - "column_name" VARCHAR_IGNORECASE(255) NOT NULL, - "type" INT NOT NULL, - "length" INT NULL, - "default_value" VARCHAR_IGNORECASE(2147483647) NULL, - "is_auto_number" BOOLEAN NOT NULL, - PRIMARY KEY("id")); -CREATE TABLE "mendixsystem$index" ( - "id" VARCHAR_IGNORECASE(36) NOT NULL, - "table_id" VARCHAR_IGNORECASE(36) NOT NULL, - "index_name" VARCHAR_IGNORECASE(255) NOT NULL, - PRIMARY KEY("id")); -CREATE TABLE "mendixsystem$index_column" ( - "index_id" VARCHAR_IGNORECASE(36) NOT NULL, - "column_id" VARCHAR_IGNORECASE(36) NOT NULL, - "sort_order" BOOLEAN NOT NULL, - "ordinal" INT NOT NULL, - PRIMARY KEY("index_id","column_id")); -CREATE TABLE "mendixsystem$association" ( - "id" VARCHAR_IGNORECASE(36) NOT NULL, - "association_name" VARCHAR_IGNORECASE(511) NOT NULL, - "table_name" VARCHAR_IGNORECASE(255) NOT NULL, - "parent_entity_id" VARCHAR_IGNORECASE(36) NOT NULL, - "child_entity_id" VARCHAR_IGNORECASE(36) NOT NULL, - "parent_column_name" VARCHAR_IGNORECASE(255) NOT NULL, - "child_column_name" VARCHAR_IGNORECASE(255) NOT NULL, - "index_name" VARCHAR_IGNORECASE(255) NULL, - PRIMARY KEY("id")); -CREATE TABLE "mendixsystem$version" ( - "versionnumber" VARCHAR_IGNORECASE(255) NOT NULL, - "lastsyncdate" TIMESTAMP NOT NULL, - "preanalysismigrationversionnumber" VARCHAR_IGNORECASE(255) NOT NULL, - "modelversionnumber" VARCHAR_IGNORECASE(255) NULL, - "sprintrprojectname" VARCHAR_IGNORECASE(511) NULL, - PRIMARY KEY("versionnumber")); -CREATE TABLE "mendixsystem$sequence" ( - "name" VARCHAR_IGNORECASE(255) NOT NULL, - "attribute_id" VARCHAR_IGNORECASE(36) NOT NULL, - "start_value" BIGINT NOT NULL, - "current_value" BIGINT NULL, - PRIMARY KEY("attribute_id")); -CREATE INDEX "idx_mendixsystem$sequence_name" ON "mendixsystem$sequence" - ("name"); -CREATE TABLE "mendixsystem$entityidentifier" ( - "id" VARCHAR_IGNORECASE(36) NOT NULL, - "short_id" SMALLINT NULL, - "object_sequence" BIGINT NULL, - PRIMARY KEY("id")); -CREATE INDEX "idx_mendixsystem$entityidentifier_short_id" ON "mendixsystem$entityidentifier" - ("short_id"); -CREATE TABLE "system$image" ( - "id" BIGINT NOT NULL, - "publicthumbnailpath" VARCHAR_IGNORECASE(500) NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name", -"superentity_id") - VALUES ('37827192-315d-4ab6-85b8-f626f866ea76', -'System.Image', -'system$image', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('41c141fa-700b-44de-870d-1aa971e11689', -'37827192-315d-4ab6-85b8-f626f866ea76', -'PublicThumbnailPath', -'publicthumbnailpath', -30, -500, -'', -false); -CREATE TABLE "system$userrole" ( - "id" BIGINT NOT NULL, - "name" VARCHAR_IGNORECASE(100) NULL, - "description" VARCHAR_IGNORECASE(1000) NULL, - "modelguid" VARCHAR_IGNORECASE(36) NULL, - PRIMARY KEY("id")); -CREATE INDEX "idx_system$userrole_name" ON "system$userrole" - ("name","id"); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('92ef30a6-de04-423c-84fd-a21e9b9eeae2', -'System.UserRole', -'system$userrole'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('3a3aca86-2f34-4038-a62f-7c0654ce21b7', -'92ef30a6-de04-423c-84fd-a21e9b9eeae2', -'Name', -'name', -30, -100, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('a33fbc53-ecf5-46c5-bad2-a364686e19dc', -'92ef30a6-de04-423c-84fd-a21e9b9eeae2', -'Description', -'description', -30, -1000, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('3cb7dc95-eac8-4999-8af4-492a4f2c0d73', -'92ef30a6-de04-423c-84fd-a21e9b9eeae2', -'ModelGUID', -'modelguid', -30, -36, -'', -false); -INSERT INTO "mendixsystem$index" ("id", -"table_id", -"index_name") - VALUES ('a46808f5-f89a-41eb-81e2-217968eac118', -'92ef30a6-de04-423c-84fd-a21e9b9eeae2', -'idx_system$userrole_name'); -INSERT INTO "mendixsystem$index_column" ("index_id", -"column_id", -"sort_order", -"ordinal") - VALUES ('a46808f5-f89a-41eb-81e2-217968eac118', -'3a3aca86-2f34-4038-a62f-7c0654ce21b7', -false, -0); -CREATE TABLE "system$grantableroles" ( - "system$userroleid1" BIGINT NOT NULL, - "system$userroleid2" BIGINT NOT NULL, - PRIMARY KEY("system$userroleid1","system$userroleid2")); -CREATE INDEX "idx_system$grantableroles_system$userrole_system$userrole" ON "system$grantableroles" - ("system$userroleid2","system$userroleid1"); -INSERT INTO "mendixsystem$association" ("id", -"association_name", -"table_name", -"parent_entity_id", -"child_entity_id", -"parent_column_name", -"child_column_name", -"index_name") - VALUES ('1adca745-c7a9-44ff-92bb-5d41cb2a1743', -'System.grantableRoles', -'system$grantableroles', -'92ef30a6-de04-423c-84fd-a21e9b9eeae2', -'92ef30a6-de04-423c-84fd-a21e9b9eeae2', -'system$userroleid1', -'system$userroleid2', -'idx_system$grantableroles_system$userrole_system$userrole'); -CREATE TABLE "system$xasinstance" ( - "id" BIGINT NOT NULL, - "lastupdate" TIMESTAMP NULL, - "allowednumberofconcurrentusers" INT NULL, - "createddate" TIMESTAMP NULL, - "customername" VARCHAR_IGNORECASE(200) NULL, - "partnername" VARCHAR_IGNORECASE(200) NULL, - "xasid" VARCHAR_IGNORECASE(50) NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('d4154981-8dac-4150-aec5-efa3ef62a7a2', -'System.XASInstance', -'system$xasinstance'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('0c4060ab-4901-419c-a184-81f20fa0460e', -'d4154981-8dac-4150-aec5-efa3ef62a7a2', -'LastUpdate', -'lastupdate', -20, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('2dbe88f5-2b15-4ec3-b295-2e2b496a1ebd', -'d4154981-8dac-4150-aec5-efa3ef62a7a2', -'AllowedNumberOfConcurrentUsers', -'allowednumberofconcurrentusers', -3, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('65b02632-d981-3a1c-8ec5-2a36fe6fd7d8', -'d4154981-8dac-4150-aec5-efa3ef62a7a2', -'createdDate', -'createddate', -20, -0, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('7ca1bcd3-9355-472f-9e3f-4440366297d6', -'d4154981-8dac-4150-aec5-efa3ef62a7a2', -'CustomerName', -'customername', -30, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('4359850e-675d-49db-a25c-d78ee530dc33', -'d4154981-8dac-4150-aec5-efa3ef62a7a2', -'PartnerName', -'partnername', -30, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('91b58eb9-c16c-4e33-b66b-28489e7fb783', -'d4154981-8dac-4150-aec5-efa3ef62a7a2', -'XASId', -'xasid', -30, -50, -'', -false); -CREATE TABLE "system$licenseinformation" ( - "id" BIGINT NOT NULL, - "separateanonymoususers" BOOLEAN NULL, - "licensetype" VARCHAR_IGNORECASE(200) NULL, - "licensekey" VARCHAR_IGNORECASE(2147483647) NULL, - "runtimemode" VARCHAR_IGNORECASE(200) NULL, - "serverid" VARCHAR_IGNORECASE(200) NULL, - "company" VARCHAR_IGNORECASE(200) NULL, - "expirationdate" TIMESTAMP NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('2094c41d-9a78-4f9b-a099-862521f8fd98', -'System.LicenseInformation', -'system$licenseinformation'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('1575d644-26fb-44c5-b8ad-1a5a9cfa25f3', -'2094c41d-9a78-4f9b-a099-862521f8fd98', -'SeparateAnonymousUsers', -'separateanonymoususers', -10, -200, -'false', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('8e3885e9-b952-4574-9f41-fa0327adb3a1', -'2094c41d-9a78-4f9b-a099-862521f8fd98', -'LicenseType', -'licensetype', -40, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('e76e16d4-50e0-4886-a6b3-6705670aac00', -'2094c41d-9a78-4f9b-a099-862521f8fd98', -'LicenseKey', -'licensekey', -30, -0, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('9f9a6510-c754-4b3e-88d7-15ef5633b456', -'2094c41d-9a78-4f9b-a099-862521f8fd98', -'RuntimeMode', -'runtimemode', -40, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('cc9a899e-d817-4c4d-b7ce-26e6bd1778a7', -'2094c41d-9a78-4f9b-a099-862521f8fd98', -'ServerID', -'serverid', -30, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('7ecc851a-0d45-437f-8b81-276b6a352ef1', -'2094c41d-9a78-4f9b-a099-862521f8fd98', -'Company', -'company', -30, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('f3aa0140-2ed8-4798-a823-eb2be764f5f7', -'2094c41d-9a78-4f9b-a099-862521f8fd98', -'ExpirationDate', -'expirationdate', -20, -200, -'', -false); -CREATE TABLE "system$privatefiledocument" ( - "id" BIGINT NOT NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name", -"superentity_id") - VALUES ('3b6f5ca3-28d6-4581-b26e-7ce5bd0e6eeb', -'System.PrivateFileDocument', -'system$privatefiledocument', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39'); -CREATE TABLE "system$scheduledeventinformation" ( - "id" BIGINT NOT NULL, - "name" VARCHAR_IGNORECASE(200) NULL, - "status" VARCHAR_IGNORECASE(20) NULL, - "description" VARCHAR_IGNORECASE(2147483647) NULL, - "endtime" TIMESTAMP NULL, - "starttime" TIMESTAMP NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('685df5a6-1e02-49bb-a0b5-5a55c5e8313d', -'System.ScheduledEventInformation', -'system$scheduledeventinformation'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('8b7184a0-cd05-4c75-89f9-be6e9349783b', -'685df5a6-1e02-49bb-a0b5-5a55c5e8313d', -'Name', -'name', -30, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('6d2a7545-4e52-4c5d-ac02-0b8211d0585f', -'685df5a6-1e02-49bb-a0b5-5a55c5e8313d', -'Status', -'status', -40, -20, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('26ccae8a-22b1-4899-87c9-c5b4915dbf28', -'685df5a6-1e02-49bb-a0b5-5a55c5e8313d', -'Description', -'description', -30, -0, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('33adad79-f658-4e69-8c58-e003fb3c78be', -'685df5a6-1e02-49bb-a0b5-5a55c5e8313d', -'EndTime', -'endtime', -20, -50, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('651e7007-7fcd-43b3-a918-a0de81de34bf', -'685df5a6-1e02-49bb-a0b5-5a55c5e8313d', -'StartTime', -'starttime', -20, -50, -'', -false); -CREATE TABLE "system$language" ( - "id" BIGINT NOT NULL, - "description" VARCHAR_IGNORECASE(200) NULL, - "code" VARCHAR_IGNORECASE(20) NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('76805df3-dede-435f-92a6-d6525c68a693', -'System.Language', -'system$language'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('d879cb38-5630-4fdf-9e39-f03da0aa8ede', -'76805df3-dede-435f-92a6-d6525c68a693', -'Description', -'description', -30, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('88390044-5b74-4e71-8b88-a6e4e91f6f2e', -'76805df3-dede-435f-92a6-d6525c68a693', -'Code', -'code', -30, -20, -'', -false); -CREATE TABLE "myfirstmodule$timeritems" ( - "id" BIGINT NOT NULL, - "currenttimestring" VARCHAR_IGNORECASE(200) NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('184c36df-58df-4cef-b2bc-059ef2294145', -'MyFirstModule.TimerItems', -'myfirstmodule$timeritems'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('dff17dff-20ba-4b66-80b7-08e2930971be', -'184c36df-58df-4cef-b2bc-059ef2294145', -'CurrentTimeString', -'currenttimestring', -30, -200, -'', -false); -CREATE TABLE "myfirstmodule$timerobjects_camera" ( - "myfirstmodule$timeritemsid" BIGINT NOT NULL, - "myfirstmodule$cameraid" BIGINT NOT NULL, - PRIMARY KEY("myfirstmodule$timeritemsid","myfirstmodule$cameraid")); -CREATE INDEX "idx_myfirstmodule$timerobjects_camera_myfirstmodule$camera_myfirstmodule$timeritems" ON "myfirstmodule$timerobjects_camera" - ("myfirstmodule$cameraid","myfirstmodule$timeritemsid"); -INSERT INTO "mendixsystem$association" ("id", -"association_name", -"table_name", -"parent_entity_id", -"child_entity_id", -"parent_column_name", -"child_column_name", -"index_name") - VALUES ('146ec8f6-97a9-4fb3-8ad3-3d73e5886540', -'MyFirstModule.TimerObjects_Camera', -'myfirstmodule$timerobjects_camera', -'184c36df-58df-4cef-b2bc-059ef2294145', -'add31ae4-b768-4d3f-beae-42f3d5114b82', -'myfirstmodule$timeritemsid', -'myfirstmodule$cameraid', -'idx_myfirstmodule$timerobjects_camera_myfirstmodule$camera_myfirstmodule$timeritems'); -CREATE TABLE "system$statistics" ( - "id" BIGINT NOT NULL, - "maxnumberofconcurrentusers" INT NULL, - "maxnumberofnamedusers" INT NULL, - "lastupdate" TIMESTAMP NULL, - "maxnumberofanonymousconcurrentusers" INT NULL, - "createddate" TIMESTAMP NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('efabe590-d3e2-4b24-9c39-836a367d217f', -'System.Statistics', -'system$statistics'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('c9cf945d-4a51-49fd-8ac0-fe1f8998e059', -'efabe590-d3e2-4b24-9c39-836a367d217f', -'MaxNumberOfConcurrentUsers', -'maxnumberofconcurrentusers', -3, -200, -'0', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('f2e32aad-4142-4256-babb-64d2944c35a1', -'efabe590-d3e2-4b24-9c39-836a367d217f', -'MaxNumberOfNamedUsers', -'maxnumberofnamedusers', -3, -200, -'0', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('444cda15-e7f4-43e7-a8d3-69c06081d868', -'efabe590-d3e2-4b24-9c39-836a367d217f', -'LastUpdate', -'lastupdate', -20, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('2c0c77ad-fc8e-4819-bf45-51548b813f2b', -'efabe590-d3e2-4b24-9c39-836a367d217f', -'MaxNumberOfAnonymousConcurrentUsers', -'maxnumberofanonymousconcurrentusers', -3, -200, -'0', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('2c252288-582f-38a1-8929-bae57eebacfb', -'efabe590-d3e2-4b24-9c39-836a367d217f', -'createdDate', -'createddate', -20, -0, -'', -false); -CREATE TABLE "system$clustermanager" ( - "system$statisticsid" BIGINT NOT NULL, - "system$xasinstanceid" BIGINT NOT NULL, - PRIMARY KEY("system$statisticsid","system$xasinstanceid")); -CREATE INDEX "idx_system$clustermanager_system$xasinstance_system$statistics" ON "system$clustermanager" - ("system$xasinstanceid","system$statisticsid"); -INSERT INTO "mendixsystem$association" ("id", -"association_name", -"table_name", -"parent_entity_id", -"child_entity_id", -"parent_column_name", -"child_column_name", -"index_name") - VALUES ('d9eb2a5f-b448-4a73-b179-4141ab51e622', -'System.ClusterManager', -'system$clustermanager', -'efabe590-d3e2-4b24-9c39-836a367d217f', -'d4154981-8dac-4150-aec5-efa3ef62a7a2', -'system$statisticsid', -'system$xasinstanceid', -'idx_system$clustermanager_system$xasinstance_system$statistics'); -CREATE TABLE "myfirstmodule$camera" ( - "id" BIGINT NOT NULL, - "name" VARCHAR_IGNORECASE(200) NULL, - "location" VARCHAR_IGNORECASE(200) NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('add31ae4-b768-4d3f-beae-42f3d5114b82', -'MyFirstModule.Camera', -'myfirstmodule$camera'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('d8b1d075-f9fc-4683-b832-7c0055f2addf', -'add31ae4-b768-4d3f-beae-42f3d5114b82', -'Name', -'name', -30, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('9cf87e67-c1c2-4206-b245-fdc9ee84b532', -'add31ae4-b768-4d3f-beae-42f3d5114b82', -'Location', -'location', -30, -200, -'', -false); -CREATE TABLE "system$filedocument" ( - "id" BIGINT NOT NULL, - "name" VARCHAR_IGNORECASE(400) NULL, - "changeddate" TIMESTAMP NULL, - "__filename__" BIGINT NULL, - "hascontents" BOOLEAN NULL, - "fileid" BIGINT NULL, - "contents" LONGVARBINARY NULL, - "deleteafterdownload" BOOLEAN NULL, - "createddate" TIMESTAMP NULL, - "submetaobjectname" VARCHAR_IGNORECASE(255) NULL, - "system$owner" BIGINT NULL, - "system$changedby" BIGINT NULL, - PRIMARY KEY("id")); -CREATE SEQUENCE "system$filedocument___filename___mxseq" AS BIGINT START WITH 1; -CREATE SEQUENCE "system$filedocument_fileid_mxseq" AS BIGINT START WITH 1; -CREATE INDEX "idx_system$filedocument_fileid" ON "system$filedocument" - ("fileid","id"); -CREATE INDEX "idx_system$filedocument_submetaobjectname" ON "system$filedocument" - ("submetaobjectname","id"); -CREATE INDEX "idx_system$filedocument_system$owner" ON "system$filedocument" - ("system$owner","id"); -CREATE INDEX "idx_system$filedocument_system$changedby" ON "system$filedocument" - ("system$changedby","id"); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'System.FileDocument', -'system$filedocument'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('3501ab9f-42c7-46e4-ac8f-c51e256c934e', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'Name', -'name', -30, -400, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('245def96-0172-3d83-96fe-0ee1ba825f26', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'changedDate', -'changeddate', -20, -0, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('a02027b1-e24d-49fc-9b3f-ade644070879', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'__FileName__', -'__filename__', -0, -200, -'1', -true); -INSERT INTO "mendixsystem$sequence" ("attribute_id", -"name", -"start_value", -"current_value") - VALUES ('a02027b1-e24d-49fc-9b3f-ade644070879', -'system$filedocument___filename___mxseq', -1, -0); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('4c9627fb-3b64-4239-95eb-f51fb8d3f2b3', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'HasContents', -'hascontents', -10, -200, -'false', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('0f81688b-e719-4204-8f86-8fcd664a0992', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'FileID', -'fileid', -0, -200, -'1', -true); -INSERT INTO "mendixsystem$sequence" ("attribute_id", -"name", -"start_value", -"current_value") - VALUES ('0f81688b-e719-4204-8f86-8fcd664a0992', -'system$filedocument_fileid_mxseq', -1, -0); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('e6dfb82a-54fe-4fcd-a513-a086f508c2db', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'Contents', -'contents', -50, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('5fecca4d-0f28-484d-9fe7-1afde250b07d', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'DeleteAfterDownload', -'deleteafterdownload', -10, -200, -'false', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('8655b482-0ac3-31db-8289-b05f505b77cb', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'createdDate', -'createddate', -20, -0, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('b51ea62a-1838-3f74-9c5f-07b5b5a92a45', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'submetaobjectname', -'submetaobjectname', -30, -255, -'System.FileDocument', -false); -INSERT INTO "mendixsystem$index" ("id", -"table_id", -"index_name") - VALUES ('6ceea2cb-6acf-457a-852f-eb7deab79430', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'idx_system$filedocument_fileid'); -INSERT INTO "mendixsystem$index_column" ("index_id", -"column_id", -"sort_order", -"ordinal") - VALUES ('6ceea2cb-6acf-457a-852f-eb7deab79430', -'0f81688b-e719-4204-8f86-8fcd664a0992', -false, -0); -INSERT INTO "mendixsystem$index" ("id", -"table_id", -"index_name") - VALUES ('dfd88a6e-a3b6-3080-b6cc-d5c61334281d', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'idx_system$filedocument_submetaobjectname'); -INSERT INTO "mendixsystem$index_column" ("index_id", -"column_id", -"sort_order", -"ordinal") - VALUES ('dfd88a6e-a3b6-3080-b6cc-d5c61334281d', -'b51ea62a-1838-3f74-9c5f-07b5b5a92a45', -false, -0); -INSERT INTO "mendixsystem$index" ("id", -"table_id", -"index_name") - VALUES ('a5c117d9-85fc-365e-9a66-909509269987', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'idx_system$filedocument_system$owner'); -INSERT INTO "mendixsystem$index_column" ("index_id", -"column_id", -"sort_order", -"ordinal") - VALUES ('a5c117d9-85fc-365e-9a66-909509269987', -'1442c9da-d4ae-3cf5-b3c0-6c878743e4e5', -false, -0); -INSERT INTO "mendixsystem$index" ("id", -"table_id", -"index_name") - VALUES ('a1966801-fcea-3251-82e4-bf4178bdc504', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'idx_system$filedocument_system$changedby'); -INSERT INTO "mendixsystem$index_column" ("index_id", -"column_id", -"sort_order", -"ordinal") - VALUES ('a1966801-fcea-3251-82e4-bf4178bdc504', -'956c1382-b9fc-3367-b0b2-cb67ee9ef13f', -false, -0); -INSERT INTO "mendixsystem$association" ("id", -"association_name", -"table_name", -"parent_entity_id", -"child_entity_id", -"parent_column_name", -"child_column_name") - VALUES ('1442c9da-d4ae-3cf5-b3c0-6c878743e4e5', -'System.owner', -'system$filedocument', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'id', -'system$owner'); -INSERT INTO "mendixsystem$association" ("id", -"association_name", -"table_name", -"parent_entity_id", -"child_entity_id", -"parent_column_name", -"child_column_name") - VALUES ('956c1382-b9fc-3367-b0b2-cb67ee9ef13f', -'System.changedBy', -'system$filedocument', -'170ce49d-f29c-4fac-99a6-b55e8a3aeb39', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'id', -'system$changedby'); -CREATE TABLE "system$user" ( - "id" BIGINT NOT NULL, - "isanonymous" BOOLEAN NULL, - "name" VARCHAR_IGNORECASE(100) NULL, - "changeddate" TIMESTAMP NULL, - "active" BOOLEAN NULL, - "failedlogins" INT NULL, - "lastlogin" TIMESTAMP NULL, - "password" VARCHAR_IGNORECASE(200) NULL, - "blocked" BOOLEAN NULL, - "createddate" TIMESTAMP NULL, - "webserviceuser" BOOLEAN NULL, - "submetaobjectname" VARCHAR_IGNORECASE(255) NULL, - "system$owner" BIGINT NULL, - "system$changedby" BIGINT NULL, - PRIMARY KEY("id")); -CREATE INDEX "idx_system$user_name" ON "system$user" - ("name","id"); -CREATE INDEX "idx_system$user_submetaobjectname" ON "system$user" - ("submetaobjectname","id"); -CREATE INDEX "idx_system$user_system$owner" ON "system$user" - ("system$owner","id"); -CREATE INDEX "idx_system$user_system$changedby" ON "system$user" - ("system$changedby","id"); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('282e2e60-88a5-469d-84a5-ba8d9151644f', -'System.User', -'system$user'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('28d526e0-915b-466f-80c8-56af32ece225', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'IsAnonymous', -'isanonymous', -10, -200, -'false', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('69acb4a2-be26-4cc5-902a-a8591d357510', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'Name', -'name', -30, -100, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('e9446b4c-b0f6-3f04-8b0a-264d2384b449', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'changedDate', -'changeddate', -20, -0, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('b22d0982-fbee-43a7-8d20-c200d319a3e5', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'Active', -'active', -10, -200, -'true', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('84845531-dbd9-4e00-8afb-c2adc08699bb', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'FailedLogins', -'failedlogins', -3, -200, -'0', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('040db5be-7810-48b3-a569-516191e8803d', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'LastLogin', -'lastlogin', -20, -15, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('ef366bc1-ac94-4fd6-bafd-7cee2be459e6', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'Password', -'password', -31, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('d149bcc3-5e80-46da-ac3f-ee734a64cce1', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'Blocked', -'blocked', -10, -200, -'false', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('9c09d4eb-9c9c-303e-951e-8c3ea32db37a', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'createdDate', -'createddate', -20, -0, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('15e3e13d-2df6-4d8a-a1cc-58eea4cec602', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'WebServiceUser', -'webserviceuser', -10, -200, -'false', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('c2dd7e10-28b4-304c-9ddf-104be6be9cde', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'submetaobjectname', -'submetaobjectname', -30, -255, -'System.User', -false); -INSERT INTO "mendixsystem$index" ("id", -"table_id", -"index_name") - VALUES ('5711e9d5-7b67-4579-b730-2ed0b852b799', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'idx_system$user_name'); -INSERT INTO "mendixsystem$index_column" ("index_id", -"column_id", -"sort_order", -"ordinal") - VALUES ('5711e9d5-7b67-4579-b730-2ed0b852b799', -'69acb4a2-be26-4cc5-902a-a8591d357510', -false, -0); -INSERT INTO "mendixsystem$index" ("id", -"table_id", -"index_name") - VALUES ('d45d41fb-40ec-3b91-becf-455eb7f35bff', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'idx_system$user_submetaobjectname'); -INSERT INTO "mendixsystem$index_column" ("index_id", -"column_id", -"sort_order", -"ordinal") - VALUES ('d45d41fb-40ec-3b91-becf-455eb7f35bff', -'c2dd7e10-28b4-304c-9ddf-104be6be9cde', -false, -0); -INSERT INTO "mendixsystem$index" ("id", -"table_id", -"index_name") - VALUES ('3515901d-e8f5-3173-87bb-11ae532c243e', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'idx_system$user_system$owner'); -INSERT INTO "mendixsystem$index_column" ("index_id", -"column_id", -"sort_order", -"ordinal") - VALUES ('3515901d-e8f5-3173-87bb-11ae532c243e', -'07738295-23fe-3fc1-832b-ed18b22727f0', -false, -0); -INSERT INTO "mendixsystem$index" ("id", -"table_id", -"index_name") - VALUES ('291e0cde-0e23-351e-8001-6240437d1e0e', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'idx_system$user_system$changedby'); -INSERT INTO "mendixsystem$index_column" ("index_id", -"column_id", -"sort_order", -"ordinal") - VALUES ('291e0cde-0e23-351e-8001-6240437d1e0e', -'6013226d-aeae-3cd2-acec-d95d8bd5c3ad', -false, -0); -INSERT INTO "mendixsystem$association" ("id", -"association_name", -"table_name", -"parent_entity_id", -"child_entity_id", -"parent_column_name", -"child_column_name") - VALUES ('07738295-23fe-3fc1-832b-ed18b22727f0', -'System.owner', -'system$user', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'id', -'system$owner'); -INSERT INTO "mendixsystem$association" ("id", -"association_name", -"table_name", -"parent_entity_id", -"child_entity_id", -"parent_column_name", -"child_column_name") - VALUES ('6013226d-aeae-3cd2-acec-d95d8bd5c3ad', -'System.changedBy', -'system$user', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'id', -'system$changedby'); -CREATE TABLE "system$user_language" ( - "system$userid" BIGINT NOT NULL, - "system$languageid" BIGINT NOT NULL, - PRIMARY KEY("system$userid","system$languageid")); -CREATE INDEX "idx_system$user_language_system$language_system$user" ON "system$user_language" - ("system$languageid","system$userid"); -INSERT INTO "mendixsystem$association" ("id", -"association_name", -"table_name", -"parent_entity_id", -"child_entity_id", -"parent_column_name", -"child_column_name", -"index_name") - VALUES ('00640985-3c73-4b15-9705-d4ec3ff58e6b', -'System.User_Language', -'system$user_language', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'76805df3-dede-435f-92a6-d6525c68a693', -'system$userid', -'system$languageid', -'idx_system$user_language_system$language_system$user'); -CREATE TABLE "system$user_timezone" ( - "system$userid" BIGINT NOT NULL, - "system$timezoneid" BIGINT NOT NULL, - PRIMARY KEY("system$userid","system$timezoneid")); -CREATE INDEX "idx_system$user_timezone_system$timezone_system$user" ON "system$user_timezone" - ("system$timezoneid","system$userid"); -INSERT INTO "mendixsystem$association" ("id", -"association_name", -"table_name", -"parent_entity_id", -"child_entity_id", -"parent_column_name", -"child_column_name", -"index_name") - VALUES ('bab4a1ab-7d40-47d5-8f21-fc99d089211d', -'System.User_TimeZone', -'system$user_timezone', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f', -'system$userid', -'system$timezoneid', -'idx_system$user_timezone_system$timezone_system$user'); -CREATE TABLE "system$userroles" ( - "system$userid" BIGINT NOT NULL, - "system$userroleid" BIGINT NOT NULL, - PRIMARY KEY("system$userid","system$userroleid")); -CREATE INDEX "idx_system$userroles_system$userrole_system$user" ON "system$userroles" - ("system$userroleid","system$userid"); -INSERT INTO "mendixsystem$association" ("id", -"association_name", -"table_name", -"parent_entity_id", -"child_entity_id", -"parent_column_name", -"child_column_name", -"index_name") - VALUES ('6adaf137-4299-435e-9475-a871a4f21471', -'System.UserRoles', -'system$userroles', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'92ef30a6-de04-423c-84fd-a21e9b9eeae2', -'system$userid', -'system$userroleid', -'idx_system$userroles_system$userrole_system$user'); -CREATE TABLE "system$timezone" ( - "id" BIGINT NOT NULL, - "description" VARCHAR_IGNORECASE(100) NULL, - "rawoffset" INT NULL, - "code" VARCHAR_IGNORECASE(50) NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f', -'System.TimeZone', -'system$timezone'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('954c43f0-3333-4264-813b-e8f1c8f2f0b6', -'7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f', -'Description', -'description', -30, -100, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('1060f919-60c9-4f90-91ee-81b4bf584bcd', -'7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f', -'RawOffset', -'rawoffset', -3, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('6abafab4-6a96-46c0-9475-b72cc4d3ffd6', -'7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f', -'Code', -'code', -30, -50, -'', -false); -CREATE TABLE "system$session" ( - "id" BIGINT NOT NULL, - "sessionid" VARCHAR_IGNORECASE(50) NULL, - "lastactive" TIMESTAMP NULL, - "createddate" TIMESTAMP NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('37f9fd49-5318-4c63-9a51-f761779b202f', -'System.Session', -'system$session'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('d50c78a5-d740-4a76-a356-47659cfd515e', -'37f9fd49-5318-4c63-9a51-f761779b202f', -'SessionId', -'sessionid', -30, -50, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('1ffdcb00-e7a4-4303-8b40-2319d9ba01b7', -'37f9fd49-5318-4c63-9a51-f761779b202f', -'LastActive', -'lastactive', -20, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('0c2b42ef-02bd-3783-bf55-02a92f4275c7', -'37f9fd49-5318-4c63-9a51-f761779b202f', -'createdDate', -'createddate', -20, -0, -'', -false); -CREATE TABLE "system$session_user" ( - "system$sessionid" BIGINT NOT NULL, - "system$userid" BIGINT NOT NULL, - PRIMARY KEY("system$sessionid","system$userid")); -CREATE INDEX "idx_system$session_user_system$user_system$session" ON "system$session_user" - ("system$userid","system$sessionid"); -INSERT INTO "mendixsystem$association" ("id", -"association_name", -"table_name", -"parent_entity_id", -"child_entity_id", -"parent_column_name", -"child_column_name", -"index_name") - VALUES ('546aaff5-62e1-40ce-ab45-d40d0a0478f1', -'System.Session_User', -'system$session_user', -'37f9fd49-5318-4c63-9a51-f761779b202f', -'282e2e60-88a5-469d-84a5-ba8d9151644f', -'system$sessionid', -'system$userid', -'idx_system$session_user_system$user_system$session'); -CREATE TABLE "system$userlimitation" ( - "id" BIGINT NOT NULL, - "numberofallowedusers" INT NULL, - "limitationtype" VARCHAR_IGNORECASE(200) NULL, - "amounttype" VARCHAR_IGNORECASE(200) NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('fc9a5209-0dd8-416a-b14e-0eb8a26d26fa', -'System.UserLimitation', -'system$userlimitation'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('76bf0011-197b-4a7e-8803-fb18987c32d6', -'fc9a5209-0dd8-416a-b14e-0eb8a26d26fa', -'NumberOfAllowedUsers', -'numberofallowedusers', -3, -200, -'0', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('e211d02c-4a56-437b-b441-67fb8b9d9f6f', -'fc9a5209-0dd8-416a-b14e-0eb8a26d26fa', -'LimitationType', -'limitationtype', -40, -200, -'', -false); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('1e3915a2-fa37-4ff1-bd2f-71652d35b51a', -'fc9a5209-0dd8-416a-b14e-0eb8a26d26fa', -'AmountType', -'amounttype', -40, -200, -'', -false); -CREATE TABLE "system$userlimitation_licenseinformation" ( - "system$userlimitationid" BIGINT NOT NULL, - "system$licenseinformationid" BIGINT NOT NULL, - PRIMARY KEY("system$userlimitationid","system$licenseinformationid")); -CREATE INDEX "idx_system$userlimitation_licenseinformation_system$licenseinformation_system$userlimitation" ON "system$userlimitation_licenseinformation" - ("system$licenseinformationid","system$userlimitationid"); -INSERT INTO "mendixsystem$association" ("id", -"association_name", -"table_name", -"parent_entity_id", -"child_entity_id", -"parent_column_name", -"child_column_name", -"index_name") - VALUES ('397887de-0f05-4c7a-807a-07e07fcbbaa7', -'System.UserLimitation_LicenseInformation', -'system$userlimitation_licenseinformation', -'fc9a5209-0dd8-416a-b14e-0eb8a26d26fa', -'2094c41d-9a78-4f9b-a099-862521f8fd98', -'system$userlimitationid', -'system$licenseinformationid', -'idx_system$userlimitation_licenseinformation_system$licenseinformation_system$userlimitation'); -CREATE TABLE "administration$account" ( - "id" BIGINT NOT NULL, - "fullname" VARCHAR_IGNORECASE(200) NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name", -"superentity_id") - VALUES ('3078a23e-13b2-4a9b-84e4-2881fdee53c6', -'Administration.Account', -'administration$account', -'282e2e60-88a5-469d-84a5-ba8d9151644f'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('42eb180e-36df-4325-8b97-dec1e16f0e99', -'3078a23e-13b2-4a9b-84e4-2881fdee53c6', -'FullName', -'fullname', -30, -200, -'', -false); -INSERT INTO "mendixsystem$version" ("versionnumber", -"lastsyncdate", -"preanalysismigrationversionnumber") - VALUES ('4.0.7', -'20140415 16:38:30', -'1.0.1'); diff --git a/test/deployment/data/database/20140416_093612_database_commands.sql b/test/deployment/data/database/20140416_093612_database_commands.sql deleted file mode 100644 index 44ce4fc..0000000 --- a/test/deployment/data/database/20140416_093612_database_commands.sql +++ /dev/null @@ -1,29 +0,0 @@ -CREATE TABLE "myfirstmodule$settings" ( - "id" BIGINT NOT NULL, - "showadditionaldata" BOOLEAN NULL, - PRIMARY KEY("id")); -INSERT INTO "mendixsystem$entity" ("id", -"entity_name", -"table_name") - VALUES ('5ad480ce-eae3-46f5-8757-7f588f4a261b', -'MyFirstModule.Settings', -'myfirstmodule$settings'); -INSERT INTO "mendixsystem$attribute" ("id", -"entity_id", -"attribute_name", -"column_name", -"type", -"length", -"default_value", -"is_auto_number") - VALUES ('defdd685-87e1-497c-9751-97f9250b5d66', -'5ad480ce-eae3-46f5-8757-7f588f4a261b', -'ShowAdditionalData', -'showadditionaldata', -10, -200, -'false', -false); -UPDATE "mendixsystem$version" - SET "versionnumber" = '4.0.7', -"lastsyncdate" = '20140416 09:36:06'; diff --git a/test/deployment/data/database/20140416_163249_database_commands.sql b/test/deployment/data/database/20140416_163249_database_commands.sql deleted file mode 100644 index 8dfdf8f..0000000 --- a/test/deployment/data/database/20140416_163249_database_commands.sql +++ /dev/null @@ -1,28 +0,0 @@ -ALTER TABLE "system$licenseinformation" RENAME TO "999bfe96c4bb42f4966c21ed57c37ddc"; -ALTER TABLE "system$userlimitation" RENAME TO "942d78f6c0574457b35b197f0cedd593"; -DROP INDEX "idx_system$userlimitation_licenseinformation_system$licenseinformation_system$userlimitation"; -ALTER TABLE "system$userlimitation_licenseinformation" RENAME TO "cb4070051f614e3380f3687af1193d88"; -DELETE FROM "mendixsystem$entity" - WHERE "id" = '2094c41d-9a78-4f9b-a099-862521f8fd98'; -DELETE FROM "mendixsystem$sequence" - WHERE "attribute_id" IN (SELECT "id" - FROM "mendixsystem$attribute" - WHERE "entity_id" = '2094c41d-9a78-4f9b-a099-862521f8fd98'); -DELETE FROM "mendixsystem$attribute" - WHERE "entity_id" = '2094c41d-9a78-4f9b-a099-862521f8fd98'; -DELETE FROM "mendixsystem$entity" - WHERE "id" = 'fc9a5209-0dd8-416a-b14e-0eb8a26d26fa'; -DELETE FROM "mendixsystem$sequence" - WHERE "attribute_id" IN (SELECT "id" - FROM "mendixsystem$attribute" - WHERE "entity_id" = 'fc9a5209-0dd8-416a-b14e-0eb8a26d26fa'); -DELETE FROM "mendixsystem$attribute" - WHERE "entity_id" = 'fc9a5209-0dd8-416a-b14e-0eb8a26d26fa'; -DELETE FROM "mendixsystem$association" - WHERE "id" = '397887de-0f05-4c7a-807a-07e07fcbbaa7'; -DROP TABLE "999bfe96c4bb42f4966c21ed57c37ddc"; -DROP TABLE "942d78f6c0574457b35b197f0cedd593"; -DROP TABLE "cb4070051f614e3380f3687af1193d88"; -UPDATE "mendixsystem$version" - SET "versionnumber" = '4.0.7', -"lastsyncdate" = '20140416 16:32:47'; diff --git a/test/deployment/data/database/hsqldb/default/default.properties b/test/deployment/data/database/hsqldb/default/default.properties index 526979a..bc042a7 100644 --- a/test/deployment/data/database/hsqldb/default/default.properties +++ b/test/deployment/data/database/hsqldb/default/default.properties @@ -1,4 +1,4 @@ -#HSQL Database Engine 2.3.2 -#Thu Jun 11 15:19:33 CEST 2015 -version=2.3.2 -modified=no +#HSQL Database Engine 2.3.2 +#Fri Feb 24 13:52:49 GMT 2017 +version=2.3.2 +modified=no diff --git a/test/deployment/data/database/hsqldb/default/default.script b/test/deployment/data/database/hsqldb/default/default.script index c06bd1e..94dd6a8 100644 --- a/test/deployment/data/database/hsqldb/default/default.script +++ b/test/deployment/data/database/hsqldb/default/default.script @@ -1,885 +1,792 @@ -SET DATABASE UNIQUE NAME HSQLDB4565D3FF33 -SET DATABASE GC 0 -SET DATABASE DEFAULT RESULT MEMORY ROWS 0 -SET DATABASE EVENT LOG LEVEL 0 -SET DATABASE TRANSACTION CONTROL MVCC -SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED -SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE -SET DATABASE TEXT TABLE DEFAULTS '' -SET DATABASE SQL NAMES FALSE -SET DATABASE SQL REFERENCES FALSE -SET DATABASE SQL SIZE TRUE -SET DATABASE SQL TYPES FALSE -SET DATABASE SQL TDC DELETE TRUE -SET DATABASE SQL TDC UPDATE TRUE -SET DATABASE SQL TRANSLATE TTI TYPES TRUE -SET DATABASE SQL CONCAT NULLS TRUE -SET DATABASE SQL UNIQUE NULLS TRUE -SET DATABASE SQL CONVERT TRUNCATE TRUE -SET DATABASE SQL AVG SCALE 0 -SET DATABASE SQL DOUBLE NAN TRUE -SET FILES WRITE DELAY 1 -SET FILES BACKUP INCREMENT TRUE -SET FILES CACHE SIZE 10000 -SET FILES CACHE ROWS 50000 -SET FILES SCALE 32 -SET FILES LOB SCALE 32 -SET FILES DEFRAG 0 -SET FILES NIO TRUE -SET FILES NIO SIZE 256 -SET FILES LOG TRUE -SET FILES LOG SIZE 50 -CREATE USER SA PASSWORD DIGEST 'd41d8cd98f00b204e9800998ecf8427e' -ALTER USER SA SET LOCAL TRUE -CREATE SCHEMA PUBLIC AUTHORIZATION DBA -CREATE FUNCTION PUBLIC.MX_TOLOCALDATETIME(IN V TIMESTAMP,IN TIMEZONEID VARCHAR(50)) RETURNS TIMESTAMP SPECIFIC MX_TOLOCALDATETIME_10065 LANGUAGE JAVA DETERMINISTIC NO SQL CALLED ON NULL INPUT EXTERNAL NAME 'CLASSPATH:com.mendix.connectionbus.connections.jdbc.implementations.hsqldb.DateTimeLocalizationConverter.convertToLocalDateTime' -SET SCHEMA PUBLIC -CREATE SEQUENCE PUBLIC."system$filedocument___filename___mxseq" AS BIGINT START WITH 1 -CREATE SEQUENCE PUBLIC."system$filedocument_fileid_mxseq" AS BIGINT START WITH 1 -CREATE MEMORY TABLE PUBLIC."mendixsystem$entity"("id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"entity_name" VARCHAR(511) COLLATE SQL_TEXT_UCC NOT NULL,"table_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"superentity_id" VARCHAR(255) COLLATE SQL_TEXT_UCC) -CREATE INDEX "idx_mendixsystem$entity_entity_name" ON PUBLIC."mendixsystem$entity"("entity_name") -CREATE MEMORY TABLE PUBLIC."mendixsystem$attribute"("id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"entity_id" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"attribute_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"column_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"type" INTEGER NOT NULL,"length" INTEGER,"default_value" VARCHAR(2147483647) COLLATE SQL_TEXT_UCC,"is_auto_number" BOOLEAN NOT NULL) -CREATE MEMORY TABLE PUBLIC."mendixsystem$index"("id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"table_id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL,"index_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL) -CREATE MEMORY TABLE PUBLIC."mendixsystem$index_column"("index_id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL,"column_id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL,"sort_order" BOOLEAN NOT NULL,"ordinal" INTEGER NOT NULL,PRIMARY KEY("index_id","column_id")) -CREATE MEMORY TABLE PUBLIC."mendixsystem$association"("id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"association_name" VARCHAR(511) COLLATE SQL_TEXT_UCC NOT NULL,"table_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"parent_entity_id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL,"child_entity_id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL,"parent_column_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"child_column_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"index_name" VARCHAR(255) COLLATE SQL_TEXT_UCC,"pk_index_name" VARCHAR(255) COLLATE SQL_TEXT_UCC) -CREATE MEMORY TABLE PUBLIC."mendixsystem$version"("versionnumber" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"lastsyncdate" TIMESTAMP NOT NULL,"preanalysismigrationversionnumber" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"modelversionnumber" VARCHAR(255) COLLATE SQL_TEXT_UCC,"sprintrprojectname" VARCHAR(511) COLLATE SQL_TEXT_UCC) -CREATE MEMORY TABLE PUBLIC."mendixsystem$sequence"("name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"attribute_id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"start_value" BIGINT NOT NULL,"current_value" BIGINT) -CREATE INDEX "idx_mendixsystem$sequence_name" ON PUBLIC."mendixsystem$sequence"("name") -CREATE MEMORY TABLE PUBLIC."mendixsystem$entityidentifier"("id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"short_id" SMALLINT,"object_sequence" BIGINT) -CREATE INDEX "idx_mendixsystem$entityidentifier_short_id" ON PUBLIC."mendixsystem$entityidentifier"("short_id") -CREATE MEMORY TABLE PUBLIC."system$image"("id" BIGINT NOT NULL PRIMARY KEY,"publicthumbnailpath" VARCHAR(500) COLLATE SQL_TEXT_UCC) -CREATE MEMORY TABLE PUBLIC."system$userrole"("id" BIGINT NOT NULL PRIMARY KEY,"name" VARCHAR(100) COLLATE SQL_TEXT_UCC,"description" VARCHAR(1000) COLLATE SQL_TEXT_UCC,"modelguid" VARCHAR(36) COLLATE SQL_TEXT_UCC) -CREATE INDEX "idx_system$userrole_name" ON PUBLIC."system$userrole"("name","id") -CREATE MEMORY TABLE PUBLIC."system$grantableroles"("system$userroleid1" BIGINT NOT NULL,"system$userroleid2" BIGINT NOT NULL,PRIMARY KEY("system$userroleid1","system$userroleid2")) -CREATE INDEX "idx_system$grantableroles_system$userrole_system$userrole" ON PUBLIC."system$grantableroles"("system$userroleid2","system$userroleid1") -CREATE MEMORY TABLE PUBLIC."system$xasinstance"("id" BIGINT NOT NULL PRIMARY KEY,"lastupdate" TIMESTAMP,"allowednumberofconcurrentusers" INTEGER,"createddate" TIMESTAMP,"customername" VARCHAR(200) COLLATE SQL_TEXT_UCC,"partnername" VARCHAR(200) COLLATE SQL_TEXT_UCC,"xasid" VARCHAR(50) COLLATE SQL_TEXT_UCC) -CREATE MEMORY TABLE PUBLIC."system$privatefiledocument"("id" BIGINT NOT NULL PRIMARY KEY) -CREATE MEMORY TABLE PUBLIC."system$scheduledeventinformation"("id" BIGINT NOT NULL PRIMARY KEY,"name" VARCHAR(200) COLLATE SQL_TEXT_UCC,"status" VARCHAR(200) COLLATE SQL_TEXT_UCC,"description" VARCHAR(2147483647) COLLATE SQL_TEXT_UCC,"endtime" TIMESTAMP,"starttime" TIMESTAMP) -CREATE MEMORY TABLE PUBLIC."system$language"("id" BIGINT NOT NULL PRIMARY KEY,"description" VARCHAR(200) COLLATE SQL_TEXT_UCC,"code" VARCHAR(20) COLLATE SQL_TEXT_UCC) -CREATE MEMORY TABLE PUBLIC."myfirstmodule$timeritems"("id" BIGINT NOT NULL PRIMARY KEY,"currenttimestring" VARCHAR(200) COLLATE SQL_TEXT_UCC) -CREATE MEMORY TABLE PUBLIC."myfirstmodule$timerobjects_camera"("myfirstmodule$timeritemsid" BIGINT NOT NULL,"myfirstmodule$cameraid" BIGINT NOT NULL,PRIMARY KEY("myfirstmodule$timeritemsid","myfirstmodule$cameraid")) -CREATE INDEX "idx_myfirstmodule$timerobjects_camera_myfirstmodule$camera_myfirstmodule$timeritems" ON PUBLIC."myfirstmodule$timerobjects_camera"("myfirstmodule$cameraid","myfirstmodule$timeritemsid") -CREATE MEMORY TABLE PUBLIC."system$statistics"("id" BIGINT NOT NULL PRIMARY KEY,"maxnumberofconcurrentusers" INTEGER,"maxnumberofnamedusers" INTEGER,"lastupdate" TIMESTAMP,"maxnumberofanonymousconcurrentusers" INTEGER,"createddate" TIMESTAMP) -CREATE MEMORY TABLE PUBLIC."system$clustermanager"("system$statisticsid" BIGINT NOT NULL,"system$xasinstanceid" BIGINT NOT NULL,PRIMARY KEY("system$statisticsid","system$xasinstanceid")) -CREATE INDEX "idx_system$clustermanager_system$xasinstance_system$statistics" ON PUBLIC."system$clustermanager"("system$xasinstanceid","system$statisticsid") -CREATE MEMORY TABLE PUBLIC."myfirstmodule$camera"("id" BIGINT NOT NULL PRIMARY KEY,"name" VARCHAR(200) COLLATE SQL_TEXT_UCC,"location" VARCHAR(200) COLLATE SQL_TEXT_UCC) -CREATE MEMORY TABLE PUBLIC."system$filedocument"("id" BIGINT NOT NULL PRIMARY KEY,"name" VARCHAR(400) COLLATE SQL_TEXT_UCC,"changeddate" TIMESTAMP,"__filename__" BIGINT,"hascontents" BOOLEAN,"fileid" BIGINT,"contents" VARBINARY(16777216),"deleteafterdownload" BOOLEAN,"createddate" TIMESTAMP,"submetaobjectname" VARCHAR(255) COLLATE SQL_TEXT_UCC,"system$owner" BIGINT,"system$changedby" BIGINT,"__uuid__" VARCHAR(36) COLLATE SQL_TEXT_UCC) -CREATE INDEX "idx_system$filedocument_fileid" ON PUBLIC."system$filedocument"("fileid","id") -CREATE INDEX "idx_system$filedocument_submetaobjectname" ON PUBLIC."system$filedocument"("submetaobjectname","id") -CREATE INDEX "idx_system$filedocument_system$owner" ON PUBLIC."system$filedocument"("system$owner","id") -CREATE INDEX "idx_system$filedocument_system$changedby" ON PUBLIC."system$filedocument"("system$changedby","id") -CREATE MEMORY TABLE PUBLIC."system$user"("id" BIGINT NOT NULL PRIMARY KEY,"isanonymous" BOOLEAN,"name" VARCHAR(100) COLLATE SQL_TEXT_UCC,"changeddate" TIMESTAMP,"active" BOOLEAN,"failedlogins" INTEGER,"lastlogin" TIMESTAMP,"password" VARCHAR(200) COLLATE SQL_TEXT_UCC,"blocked" BOOLEAN,"createddate" TIMESTAMP,"webserviceuser" BOOLEAN,"submetaobjectname" VARCHAR(255) COLLATE SQL_TEXT_UCC,"system$owner" BIGINT,"system$changedby" BIGINT) -CREATE INDEX "idx_system$user_name" ON PUBLIC."system$user"("name","id") -CREATE INDEX "idx_system$user_submetaobjectname" ON PUBLIC."system$user"("submetaobjectname","id") -CREATE INDEX "idx_system$user_system$owner" ON PUBLIC."system$user"("system$owner","id") -CREATE INDEX "idx_system$user_system$changedby" ON PUBLIC."system$user"("system$changedby","id") -CREATE MEMORY TABLE PUBLIC."system$user_language"("system$userid" BIGINT NOT NULL,"system$languageid" BIGINT NOT NULL,PRIMARY KEY("system$userid","system$languageid")) -CREATE INDEX "idx_system$user_language_system$language_system$user" ON PUBLIC."system$user_language"("system$languageid","system$userid") -CREATE MEMORY TABLE PUBLIC."system$user_timezone"("system$userid" BIGINT NOT NULL,"system$timezoneid" BIGINT NOT NULL,PRIMARY KEY("system$userid","system$timezoneid")) -CREATE INDEX "idx_system$user_timezone_system$timezone_system$user" ON PUBLIC."system$user_timezone"("system$timezoneid","system$userid") -CREATE MEMORY TABLE PUBLIC."system$userroles"("system$userid" BIGINT NOT NULL,"system$userroleid" BIGINT NOT NULL,PRIMARY KEY("system$userid","system$userroleid")) -CREATE INDEX "idx_system$userroles_system$userrole_system$user" ON PUBLIC."system$userroles"("system$userroleid","system$userid") -CREATE MEMORY TABLE PUBLIC."system$timezone"("id" BIGINT NOT NULL PRIMARY KEY,"description" VARCHAR(100) COLLATE SQL_TEXT_UCC,"rawoffset" INTEGER,"code" VARCHAR(50) COLLATE SQL_TEXT_UCC) -CREATE MEMORY TABLE PUBLIC."system$session"("id" BIGINT NOT NULL PRIMARY KEY,"sessionid" VARCHAR(50) COLLATE SQL_TEXT_UCC,"lastactive" TIMESTAMP,"createddate" TIMESTAMP) -CREATE MEMORY TABLE PUBLIC."system$session_user"("system$sessionid" BIGINT NOT NULL,"system$userid" BIGINT NOT NULL,PRIMARY KEY("system$sessionid","system$userid")) -CREATE INDEX "idx_system$session_user_system$user_system$session" ON PUBLIC."system$session_user"("system$userid","system$sessionid") -CREATE MEMORY TABLE PUBLIC."administration$account"("id" BIGINT NOT NULL PRIMARY KEY,"fullname" VARCHAR(200) COLLATE SQL_TEXT_UCC) -CREATE MEMORY TABLE PUBLIC."myfirstmodule$settings"("id" BIGINT NOT NULL PRIMARY KEY,"showadditionaldata" BOOLEAN) -CREATE MEMORY TABLE PUBLIC."system$thumbnail"("id" BIGINT NOT NULL PRIMARY KEY) -CREATE MEMORY TABLE PUBLIC."system$thumbnail_image"("system$thumbnailid" BIGINT NOT NULL,"system$imageid" BIGINT NOT NULL,PRIMARY KEY("system$thumbnailid","system$imageid")) -CREATE INDEX "idx_system$thumbnail_image_system$image_system$thumbnail" ON PUBLIC."system$thumbnail_image"("system$imageid","system$thumbnailid") -ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1 -ALTER SEQUENCE PUBLIC."system$filedocument___filename___mxseq" RESTART WITH 1 -ALTER SEQUENCE PUBLIC."system$filedocument_fileid_mxseq" RESTART WITH 1 -SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC -GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC -GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC -GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC -GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC -GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC -GRANT DBA TO SA -SET SCHEMA SYSTEM_LOBS -INSERT INTO BLOCKS VALUES(0,2147483647,0) -SET SCHEMA PUBLIC -INSERT INTO "mendixsystem$entity" VALUES('170ce49d-f29c-4fac-99a6-b55e8a3aeb39','System.FileDocument','system$filedocument',NULL) -INSERT INTO "mendixsystem$entity" VALUES('184c36df-58df-4cef-b2bc-059ef2294145','MyFirstModule.TimerItems','myfirstmodule$timeritems',NULL) -INSERT INTO "mendixsystem$entity" VALUES('282e2e60-88a5-469d-84a5-ba8d9151644f','System.User','system$user',NULL) -INSERT INTO "mendixsystem$entity" VALUES('3078a23e-13b2-4a9b-84e4-2881fdee53c6','Administration.Account','administration$account','282e2e60-88a5-469d-84a5-ba8d9151644f') -INSERT INTO "mendixsystem$entity" VALUES('37827192-315d-4ab6-85b8-f626f866ea76','System.Image','system$image','170ce49d-f29c-4fac-99a6-b55e8a3aeb39') -INSERT INTO "mendixsystem$entity" VALUES('37f9fd49-5318-4c63-9a51-f761779b202f','System.Session','system$session',NULL) -INSERT INTO "mendixsystem$entity" VALUES('3b6f5ca3-28d6-4581-b26e-7ce5bd0e6eeb','System.PrivateFileDocument','system$privatefiledocument','170ce49d-f29c-4fac-99a6-b55e8a3aeb39') -INSERT INTO "mendixsystem$entity" VALUES('4babd4c0-b903-4cb4-b1af-e59c4a5fcf3d','System.Thumbnail','system$thumbnail','170ce49d-f29c-4fac-99a6-b55e8a3aeb39') -INSERT INTO "mendixsystem$entity" VALUES('5ad480ce-eae3-46f5-8757-7f588f4a261b','MyFirstModule.Settings','myfirstmodule$settings',NULL) -INSERT INTO "mendixsystem$entity" VALUES('685df5a6-1e02-49bb-a0b5-5a55c5e8313d','System.ScheduledEventInformation','system$scheduledeventinformation',NULL) -INSERT INTO "mendixsystem$entity" VALUES('76805df3-dede-435f-92a6-d6525c68a693','System.Language','system$language',NULL) -INSERT INTO "mendixsystem$entity" VALUES('7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f','System.TimeZone','system$timezone',NULL) -INSERT INTO "mendixsystem$entity" VALUES('92ef30a6-de04-423c-84fd-a21e9b9eeae2','System.UserRole','system$userrole',NULL) -INSERT INTO "mendixsystem$entity" VALUES('add31ae4-b768-4d3f-beae-42f3d5114b82','MyFirstModule.Camera','myfirstmodule$camera',NULL) -INSERT INTO "mendixsystem$entity" VALUES('d4154981-8dac-4150-aec5-efa3ef62a7a2','System.XASInstance','system$xasinstance',NULL) -INSERT INTO "mendixsystem$entity" VALUES('efabe590-d3e2-4b24-9c39-836a367d217f','System.Statistics','system$statistics',NULL) -INSERT INTO "mendixsystem$attribute" VALUES('040db5be-7810-48b3-a569-516191e8803d','282e2e60-88a5-469d-84a5-ba8d9151644f','LastLogin','lastlogin',20,15,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('0c2b42ef-02bd-3783-bf55-02a92f4275c7','37f9fd49-5318-4c63-9a51-f761779b202f','createdDate','createddate',20,0,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('0c4060ab-4901-419c-a184-81f20fa0460e','d4154981-8dac-4150-aec5-efa3ef62a7a2','LastUpdate','lastupdate',20,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('0f81688b-e719-4204-8f86-8fcd664a0992','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','FileID','fileid',0,200,'1',TRUE) -INSERT INTO "mendixsystem$attribute" VALUES('1060f919-60c9-4f90-91ee-81b4bf584bcd','7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f','RawOffset','rawoffset',3,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('15e3e13d-2df6-4d8a-a1cc-58eea4cec602','282e2e60-88a5-469d-84a5-ba8d9151644f','WebServiceUser','webserviceuser',10,200,'false',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('1ffdcb00-e7a4-4303-8b40-2319d9ba01b7','37f9fd49-5318-4c63-9a51-f761779b202f','LastActive','lastactive',20,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('245def96-0172-3d83-96fe-0ee1ba825f26','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','changedDate','changeddate',20,0,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('26ccae8a-22b1-4899-87c9-c5b4915dbf28','685df5a6-1e02-49bb-a0b5-5a55c5e8313d','Description','description',30,0,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('28d526e0-915b-466f-80c8-56af32ece225','282e2e60-88a5-469d-84a5-ba8d9151644f','IsAnonymous','isanonymous',10,200,'false',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('2c0c77ad-fc8e-4819-bf45-51548b813f2b','efabe590-d3e2-4b24-9c39-836a367d217f','MaxNumberOfAnonymousConcurrentUsers','maxnumberofanonymousconcurrentusers',3,200,'0',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('2c252288-582f-38a1-8929-bae57eebacfb','efabe590-d3e2-4b24-9c39-836a367d217f','createdDate','createddate',20,0,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('2dbe88f5-2b15-4ec3-b295-2e2b496a1ebd','d4154981-8dac-4150-aec5-efa3ef62a7a2','AllowedNumberOfConcurrentUsers','allowednumberofconcurrentusers',3,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('33adad79-f658-4e69-8c58-e003fb3c78be','685df5a6-1e02-49bb-a0b5-5a55c5e8313d','EndTime','endtime',20,50,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('3501ab9f-42c7-46e4-ac8f-c51e256c934e','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','Name','name',30,400,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('3a3aca86-2f34-4038-a62f-7c0654ce21b7','92ef30a6-de04-423c-84fd-a21e9b9eeae2','Name','name',30,100,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('3cb7dc95-eac8-4999-8af4-492a4f2c0d73','92ef30a6-de04-423c-84fd-a21e9b9eeae2','ModelGUID','modelguid',30,36,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('41c141fa-700b-44de-870d-1aa971e11689','37827192-315d-4ab6-85b8-f626f866ea76','PublicThumbnailPath','publicthumbnailpath',30,500,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('42eb180e-36df-4325-8b97-dec1e16f0e99','3078a23e-13b2-4a9b-84e4-2881fdee53c6','FullName','fullname',30,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('4359850e-675d-49db-a25c-d78ee530dc33','d4154981-8dac-4150-aec5-efa3ef62a7a2','PartnerName','partnername',30,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('444cda15-e7f4-43e7-a8d3-69c06081d868','efabe590-d3e2-4b24-9c39-836a367d217f','LastUpdate','lastupdate',20,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('4c9627fb-3b64-4239-95eb-f51fb8d3f2b3','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','HasContents','hascontents',10,200,'false',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('5fecca4d-0f28-484d-9fe7-1afde250b07d','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','DeleteAfterDownload','deleteafterdownload',10,200,'false',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('651e7007-7fcd-43b3-a918-a0de81de34bf','685df5a6-1e02-49bb-a0b5-5a55c5e8313d','StartTime','starttime',20,50,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('65b02632-d981-3a1c-8ec5-2a36fe6fd7d8','d4154981-8dac-4150-aec5-efa3ef62a7a2','createdDate','createddate',20,0,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('69acb4a2-be26-4cc5-902a-a8591d357510','282e2e60-88a5-469d-84a5-ba8d9151644f','Name','name',30,100,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('6abafab4-6a96-46c0-9475-b72cc4d3ffd6','7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f','Code','code',30,50,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('6d2a7545-4e52-4c5d-ac02-0b8211d0585f','685df5a6-1e02-49bb-a0b5-5a55c5e8313d','Status','status',40,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('7ca1bcd3-9355-472f-9e3f-4440366297d6','d4154981-8dac-4150-aec5-efa3ef62a7a2','CustomerName','customername',30,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('84845531-dbd9-4e00-8afb-c2adc08699bb','282e2e60-88a5-469d-84a5-ba8d9151644f','FailedLogins','failedlogins',3,200,'0',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('8655b482-0ac3-31db-8289-b05f505b77cb','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','createdDate','createddate',20,0,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('88390044-5b74-4e71-8b88-a6e4e91f6f2e','76805df3-dede-435f-92a6-d6525c68a693','Code','code',30,20,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('8b7184a0-cd05-4c75-89f9-be6e9349783b','685df5a6-1e02-49bb-a0b5-5a55c5e8313d','Name','name',30,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('91b58eb9-c16c-4e33-b66b-28489e7fb783','d4154981-8dac-4150-aec5-efa3ef62a7a2','XASId','xasid',30,50,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('954c43f0-3333-4264-813b-e8f1c8f2f0b6','7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f','Description','description',30,100,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('96445370-6fed-11e4-9803-0800200c9a66','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','__UUID__','__uuid__',30,36,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('9c09d4eb-9c9c-303e-951e-8c3ea32db37a','282e2e60-88a5-469d-84a5-ba8d9151644f','createdDate','createddate',20,0,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('9cf87e67-c1c2-4206-b245-fdc9ee84b532','add31ae4-b768-4d3f-beae-42f3d5114b82','Location','location',30,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('a02027b1-e24d-49fc-9b3f-ade644070879','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','__FileName__','__filename__',0,200,'1',TRUE) -INSERT INTO "mendixsystem$attribute" VALUES('a33fbc53-ecf5-46c5-bad2-a364686e19dc','92ef30a6-de04-423c-84fd-a21e9b9eeae2','Description','description',30,1000,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('b22d0982-fbee-43a7-8d20-c200d319a3e5','282e2e60-88a5-469d-84a5-ba8d9151644f','Active','active',10,200,'true',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('b51ea62a-1838-3f74-9c5f-07b5b5a92a45','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','submetaobjectname','submetaobjectname',30,255,'System.FileDocument',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('c2dd7e10-28b4-304c-9ddf-104be6be9cde','282e2e60-88a5-469d-84a5-ba8d9151644f','submetaobjectname','submetaobjectname',30,255,'System.User',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('c9cf945d-4a51-49fd-8ac0-fe1f8998e059','efabe590-d3e2-4b24-9c39-836a367d217f','MaxNumberOfConcurrentUsers','maxnumberofconcurrentusers',3,200,'0',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('d149bcc3-5e80-46da-ac3f-ee734a64cce1','282e2e60-88a5-469d-84a5-ba8d9151644f','Blocked','blocked',10,200,'false',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('d50c78a5-d740-4a76-a356-47659cfd515e','37f9fd49-5318-4c63-9a51-f761779b202f','SessionId','sessionid',30,50,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('d879cb38-5630-4fdf-9e39-f03da0aa8ede','76805df3-dede-435f-92a6-d6525c68a693','Description','description',30,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('d8b1d075-f9fc-4683-b832-7c0055f2addf','add31ae4-b768-4d3f-beae-42f3d5114b82','Name','name',30,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('defdd685-87e1-497c-9751-97f9250b5d66','5ad480ce-eae3-46f5-8757-7f588f4a261b','ShowAdditionalData','showadditionaldata',10,200,'false',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('dff17dff-20ba-4b66-80b7-08e2930971be','184c36df-58df-4cef-b2bc-059ef2294145','CurrentTimeString','currenttimestring',30,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('e6dfb82a-54fe-4fcd-a513-a086f508c2db','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','Contents','contents',50,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('e9446b4c-b0f6-3f04-8b0a-264d2384b449','282e2e60-88a5-469d-84a5-ba8d9151644f','changedDate','changeddate',20,0,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('ef366bc1-ac94-4fd6-bafd-7cee2be459e6','282e2e60-88a5-469d-84a5-ba8d9151644f','Password','password',31,200,'',FALSE) -INSERT INTO "mendixsystem$attribute" VALUES('f2e32aad-4142-4256-babb-64d2944c35a1','efabe590-d3e2-4b24-9c39-836a367d217f','MaxNumberOfNamedUsers','maxnumberofnamedusers',3,200,'0',FALSE) -INSERT INTO "mendixsystem$index" VALUES('291e0cde-0e23-351e-8001-6240437d1e0e','282e2e60-88a5-469d-84a5-ba8d9151644f','idx_system$user_system$changedby') -INSERT INTO "mendixsystem$index" VALUES('3515901d-e8f5-3173-87bb-11ae532c243e','282e2e60-88a5-469d-84a5-ba8d9151644f','idx_system$user_system$owner') -INSERT INTO "mendixsystem$index" VALUES('5711e9d5-7b67-4579-b730-2ed0b852b799','282e2e60-88a5-469d-84a5-ba8d9151644f','idx_system$user_name') -INSERT INTO "mendixsystem$index" VALUES('6ceea2cb-6acf-457a-852f-eb7deab79430','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','idx_system$filedocument_fileid') -INSERT INTO "mendixsystem$index" VALUES('a1966801-fcea-3251-82e4-bf4178bdc504','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','idx_system$filedocument_system$changedby') -INSERT INTO "mendixsystem$index" VALUES('a46808f5-f89a-41eb-81e2-217968eac118','92ef30a6-de04-423c-84fd-a21e9b9eeae2','idx_system$userrole_name') -INSERT INTO "mendixsystem$index" VALUES('a5c117d9-85fc-365e-9a66-909509269987','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','idx_system$filedocument_system$owner') -INSERT INTO "mendixsystem$index" VALUES('d45d41fb-40ec-3b91-becf-455eb7f35bff','282e2e60-88a5-469d-84a5-ba8d9151644f','idx_system$user_submetaobjectname') -INSERT INTO "mendixsystem$index" VALUES('dfd88a6e-a3b6-3080-b6cc-d5c61334281d','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','idx_system$filedocument_submetaobjectname') -INSERT INTO "mendixsystem$index_column" VALUES('291e0cde-0e23-351e-8001-6240437d1e0e','6013226d-aeae-3cd2-acec-d95d8bd5c3ad',FALSE,0) -INSERT INTO "mendixsystem$index_column" VALUES('3515901d-e8f5-3173-87bb-11ae532c243e','07738295-23fe-3fc1-832b-ed18b22727f0',FALSE,0) -INSERT INTO "mendixsystem$index_column" VALUES('5711e9d5-7b67-4579-b730-2ed0b852b799','69acb4a2-be26-4cc5-902a-a8591d357510',FALSE,0) -INSERT INTO "mendixsystem$index_column" VALUES('6ceea2cb-6acf-457a-852f-eb7deab79430','0f81688b-e719-4204-8f86-8fcd664a0992',FALSE,0) -INSERT INTO "mendixsystem$index_column" VALUES('a1966801-fcea-3251-82e4-bf4178bdc504','956c1382-b9fc-3367-b0b2-cb67ee9ef13f',FALSE,0) -INSERT INTO "mendixsystem$index_column" VALUES('a46808f5-f89a-41eb-81e2-217968eac118','3a3aca86-2f34-4038-a62f-7c0654ce21b7',FALSE,0) -INSERT INTO "mendixsystem$index_column" VALUES('a5c117d9-85fc-365e-9a66-909509269987','1442c9da-d4ae-3cf5-b3c0-6c878743e4e5',FALSE,0) -INSERT INTO "mendixsystem$index_column" VALUES('d45d41fb-40ec-3b91-becf-455eb7f35bff','c2dd7e10-28b4-304c-9ddf-104be6be9cde',FALSE,0) -INSERT INTO "mendixsystem$index_column" VALUES('dfd88a6e-a3b6-3080-b6cc-d5c61334281d','b51ea62a-1838-3f74-9c5f-07b5b5a92a45',FALSE,0) -INSERT INTO "mendixsystem$association" VALUES('00640985-3c73-4b15-9705-d4ec3ff58e6b','System.User_Language','system$user_language','282e2e60-88a5-469d-84a5-ba8d9151644f','76805df3-dede-435f-92a6-d6525c68a693','system$userid','system$languageid','idx_system$user_language_system$language_system$user',NULL) -INSERT INTO "mendixsystem$association" VALUES('07738295-23fe-3fc1-832b-ed18b22727f0','System.owner','system$user','282e2e60-88a5-469d-84a5-ba8d9151644f','282e2e60-88a5-469d-84a5-ba8d9151644f','id','system$owner',NULL,NULL) -INSERT INTO "mendixsystem$association" VALUES('1442c9da-d4ae-3cf5-b3c0-6c878743e4e5','System.owner','system$filedocument','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','282e2e60-88a5-469d-84a5-ba8d9151644f','id','system$owner',NULL,NULL) -INSERT INTO "mendixsystem$association" VALUES('146ec8f6-97a9-4fb3-8ad3-3d73e5886540','MyFirstModule.TimerObjects_Camera','myfirstmodule$timerobjects_camera','184c36df-58df-4cef-b2bc-059ef2294145','add31ae4-b768-4d3f-beae-42f3d5114b82','myfirstmodule$timeritemsid','myfirstmodule$cameraid','idx_myfirstmodule$timerobjects_camera_myfirstmodule$camera_myfirstmodule$timeritems',NULL) -INSERT INTO "mendixsystem$association" VALUES('1adca745-c7a9-44ff-92bb-5d41cb2a1743','System.grantableRoles','system$grantableroles','92ef30a6-de04-423c-84fd-a21e9b9eeae2','92ef30a6-de04-423c-84fd-a21e9b9eeae2','system$userroleid1','system$userroleid2','idx_system$grantableroles_system$userrole_system$userrole',NULL) -INSERT INTO "mendixsystem$association" VALUES('3dbea779-c8af-467e-a957-140c313ac1b7','System.Thumbnail_Image','system$thumbnail_image','4babd4c0-b903-4cb4-b1af-e59c4a5fcf3d','37827192-315d-4ab6-85b8-f626f866ea76','system$thumbnailid','system$imageid','idx_system$thumbnail_image_system$image_system$thumbnail',NULL) -INSERT INTO "mendixsystem$association" VALUES('546aaff5-62e1-40ce-ab45-d40d0a0478f1','System.Session_User','system$session_user','37f9fd49-5318-4c63-9a51-f761779b202f','282e2e60-88a5-469d-84a5-ba8d9151644f','system$sessionid','system$userid','idx_system$session_user_system$user_system$session',NULL) -INSERT INTO "mendixsystem$association" VALUES('6013226d-aeae-3cd2-acec-d95d8bd5c3ad','System.changedBy','system$user','282e2e60-88a5-469d-84a5-ba8d9151644f','282e2e60-88a5-469d-84a5-ba8d9151644f','id','system$changedby',NULL,NULL) -INSERT INTO "mendixsystem$association" VALUES('6adaf137-4299-435e-9475-a871a4f21471','System.UserRoles','system$userroles','282e2e60-88a5-469d-84a5-ba8d9151644f','92ef30a6-de04-423c-84fd-a21e9b9eeae2','system$userid','system$userroleid','idx_system$userroles_system$userrole_system$user',NULL) -INSERT INTO "mendixsystem$association" VALUES('956c1382-b9fc-3367-b0b2-cb67ee9ef13f','System.changedBy','system$filedocument','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','282e2e60-88a5-469d-84a5-ba8d9151644f','id','system$changedby',NULL,NULL) -INSERT INTO "mendixsystem$association" VALUES('bab4a1ab-7d40-47d5-8f21-fc99d089211d','System.User_TimeZone','system$user_timezone','282e2e60-88a5-469d-84a5-ba8d9151644f','7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f','system$userid','system$timezoneid','idx_system$user_timezone_system$timezone_system$user',NULL) -INSERT INTO "mendixsystem$association" VALUES('d9eb2a5f-b448-4a73-b179-4141ab51e622','System.ClusterManager','system$clustermanager','efabe590-d3e2-4b24-9c39-836a367d217f','d4154981-8dac-4150-aec5-efa3ef62a7a2','system$statisticsid','system$xasinstanceid','idx_system$clustermanager_system$xasinstance_system$statistics',NULL) -INSERT INTO "mendixsystem$version" VALUES('4.0.7','2015-06-10 15:43:39.301000','2.0.1','unversioned','Project') -INSERT INTO "mendixsystem$sequence" VALUES('system$filedocument_fileid_mxseq','0f81688b-e719-4204-8f86-8fcd664a0992',1,0) -INSERT INTO "mendixsystem$sequence" VALUES('system$filedocument___filename___mxseq','a02027b1-e24d-49fc-9b3f-ade644070879',1,0) -INSERT INTO "mendixsystem$entityidentifier" VALUES('170ce49d-f29c-4fac-99a6-b55e8a3aeb39',11,1) -INSERT INTO "mendixsystem$entityidentifier" VALUES('184c36df-58df-4cef-b2bc-059ef2294145',8,101) -INSERT INTO "mendixsystem$entityidentifier" VALUES('2094c41d-9a78-4f9b-a099-862521f8fd98',4,1401) -INSERT INTO "mendixsystem$entityidentifier" VALUES('282e2e60-88a5-469d-84a5-ba8d9151644f',12,10501) -INSERT INTO "mendixsystem$entityidentifier" VALUES('3078a23e-13b2-4a9b-84e4-2881fdee53c6',19,1) -INSERT INTO "mendixsystem$entityidentifier" VALUES('37827192-315d-4ab6-85b8-f626f866ea76',1,1) -INSERT INTO "mendixsystem$entityidentifier" VALUES('37f9fd49-5318-4c63-9a51-f761779b202f',16,1) -INSERT INTO "mendixsystem$entityidentifier" VALUES('3b6f5ca3-28d6-4581-b26e-7ce5bd0e6eeb',5,1) -INSERT INTO "mendixsystem$entityidentifier" VALUES('4101e658-138d-4492-bab7-b23c8e6e1735',18,1) -INSERT INTO "mendixsystem$entityidentifier" VALUES('4babd4c0-b903-4cb4-b1af-e59c4a5fcf3d',23,1) -INSERT INTO "mendixsystem$entityidentifier" VALUES('4beaee07-595a-4371-bbe4-7d86875f0ebb',21,1) -INSERT INTO "mendixsystem$entityidentifier" VALUES('5ad480ce-eae3-46f5-8757-7f588f4a261b',20,101) -INSERT INTO "mendixsystem$entityidentifier" VALUES('685df5a6-1e02-49bb-a0b5-5a55c5e8313d',6,5801) -INSERT INTO "mendixsystem$entityidentifier" VALUES('761a7054-7794-4799-8986-2e6cd68a53fd',15,1) -INSERT INTO "mendixsystem$entityidentifier" VALUES('76805df3-dede-435f-92a6-d6525c68a693',7,101) -INSERT INTO "mendixsystem$entityidentifier" VALUES('7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f',14,701) -INSERT INTO "mendixsystem$entityidentifier" VALUES('91e45408-30ec-4c37-9908-cfa1adaf5304',13,1) -INSERT INTO "mendixsystem$entityidentifier" VALUES('92ef30a6-de04-423c-84fd-a21e9b9eeae2',2,101) -INSERT INTO "mendixsystem$entityidentifier" VALUES('add31ae4-b768-4d3f-beae-42f3d5114b82',10,101) -INSERT INTO "mendixsystem$entityidentifier" VALUES('ce3860ff-2093-42cd-b462-8da7485fc01e',22,1) -INSERT INTO "mendixsystem$entityidentifier" VALUES('d4154981-8dac-4150-aec5-efa3ef62a7a2',3,11201) -INSERT INTO "mendixsystem$entityidentifier" VALUES('efabe590-d3e2-4b24-9c39-836a367d217f',9,101) -INSERT INTO "mendixsystem$entityidentifier" VALUES('fc9a5209-0dd8-416a-b14e-0eb8a26d26fa',17,1) -INSERT INTO "system$userrole" VALUES(562949953421313,'User','','53f5d6fa-6da9-4a71-b011-454ec052cce8') -INSERT INTO "system$userrole" VALUES(562949953421314,'Administrator','','8dd52bfa-6d7e-453b-b506-303c0a3d9567') -INSERT INTO "system$grantableroles" VALUES(562949953421314,562949953421313) -INSERT INTO "system$grantableroles" VALUES(562949953421314,562949953421314) -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860263937,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-04-16 07:58:53.013000','2014-04-16 07:58:53.013000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264037,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-04-16 09:33:53.010000','2014-04-16 09:33:53.010000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264137,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-04-16 10:28:53.018000','2014-04-16 10:28:53.018000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264138,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-04-16 10:33:53.022000','2014-04-16 10:33:53.022000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264139,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-04-16 10:38:53.025000','2014-04-16 10:38:53.025000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264140,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-04-16 10:43:53.013000','2014-04-16 10:43:53.013000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264141,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-04-16 10:48:53.017000','2014-04-16 10:48:53.017000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264237,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-04-16 14:33:53.014000','2014-04-16 14:33:53.002000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264238,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-04-16 14:38:52.739000','2014-04-16 14:38:52.737000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264239,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-04-16 14:43:52.729000','2014-04-16 14:43:52.727000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264240,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-04-16 14:48:52.730000','2014-04-16 14:48:52.727000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264337,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-08-19 10:43:52.862000','2014-08-19 10:43:52.830000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264437,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-08-19 10:48:52.959000','2014-08-19 10:48:52.947000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264537,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 10:23:52.866000','2014-12-04 10:23:52.855000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264637,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 10:33:53.027000','2014-12-04 10:33:53.018000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264737,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 10:38:53.015000','2014-12-04 10:38:53.004000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264837,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 10:43:52.843000','2014-12-04 10:43:52.828000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264838,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 10:48:52.797000','2014-12-04 10:48:52.797000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860264937,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 10:53:53.006000','2014-12-04 10:53:53.006000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265037,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 10:58:53.031000','2014-12-04 10:58:53.016000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265038,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 11:03:52.919000','2014-12-04 11:03:52.919000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265039,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 11:08:52.899000','2014-12-04 11:08:52.899000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265040,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 11:13:52.676000','2014-12-04 11:13:52.676000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265041,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 11:18:52.523000','2014-12-04 11:18:52.523000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265042,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 11:23:52.473000','2014-12-04 11:23:52.473000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265043,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 11:28:52.374000','2014-12-04 11:28:52.374000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265044,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 11:33:52.152000','2014-12-04 11:33:52.152000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265045,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 11:38:52.062000','2014-12-04 11:38:52.062000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265046,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 11:43:52.015000','2014-12-04 11:43:52.015000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265047,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 11:48:51.804000','2014-12-04 11:48:51.804000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265137,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 11:53:53.025000','2014-12-04 11:53:53.010000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265237,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 11:58:52.962000','2014-12-04 11:58:52.948000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265238,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 12:03:52.817000','2014-12-04 12:03:52.817000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265239,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 12:08:52.668000','2014-12-04 12:08:52.664000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265337,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 12:13:53.023000','2014-12-04 12:13:53.010000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265338,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 12:18:52.922000','2014-12-04 12:18:52.919000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265339,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 12:23:52.769000','2014-12-04 12:23:52.762000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265340,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 12:28:52.667000','2014-12-04 12:28:52.664000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265341,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 12:33:52.590000','2014-12-04 12:33:52.587000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265437,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 12:38:53.020000','2014-12-04 12:38:53.011000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265537,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 12:43:53.036000','2014-12-04 12:43:53.020000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265637,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 12:48:52.983000','2014-12-04 12:48:52.970000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265737,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 12:53:53.015000','2014-12-04 12:53:53.000000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265837,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 12:58:53.012000','2014-12-04 12:58:53.000000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860265937,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 13:03:53.004000','2014-12-04 13:03:52.989000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266037,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 13:08:53.022000','2014-12-04 13:08:53.007000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266137,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 13:13:52.882000','2014-12-04 13:13:52.857000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266237,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 13:18:52.946000','2014-12-04 13:18:52.931000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266238,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 13:23:52.816000','2014-12-04 13:23:52.816000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266239,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 13:28:52.731000','2014-12-04 13:28:52.726000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266240,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 13:33:52.660000','2014-12-04 13:33:52.660000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266337,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 13:38:52.946000','2014-12-04 13:38:52.931000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266437,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 13:43:52.977000','2014-12-04 13:43:52.964000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266537,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 13:48:52.991000','2014-12-04 13:48:52.976000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266538,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 13:53:52.881000','2014-12-04 13:53:52.881000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266637,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 14:03:52.982000','2014-12-04 14:03:52.972000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266737,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 14:08:52.959000','2014-12-04 14:08:52.944000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266738,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 14:13:52.868000','2014-12-04 14:13:52.863000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266837,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 14:18:53.003000','2014-12-04 14:18:52.990000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860266937,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 14:23:52.988000','2014-12-04 14:23:52.978000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267037,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 14:28:53.030000','2014-12-04 14:28:53.014000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267137,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 14:33:52.979000','2014-12-04 14:33:52.964000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267138,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 14:38:52.839000','2014-12-04 14:38:52.836000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267237,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 14:43:52.999000','2014-12-04 14:43:52.984000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267337,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 14:48:53.015000','2014-12-04 14:48:53.011000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267338,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 14:53:52.925000','2014-12-04 14:53:52.922000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267339,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 14:58:52.843000','2014-12-04 14:58:52.843000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267340,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 15:03:52.765000','2014-12-04 15:03:52.765000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267341,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 15:08:52.690000','2014-12-04 15:08:52.690000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267437,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 15:13:53.031000','2014-12-04 15:13:53.016000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267537,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 15:18:53.022000','2014-12-04 15:18:53.011000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267637,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 15:23:52.972000','2014-12-04 15:23:52.957000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267737,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 15:28:53.017000','2014-12-04 15:28:53.007000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267738,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-04 15:33:52.924000','2014-12-04 15:33:52.921000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267837,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 10:53:51.554000','2014-12-08 10:53:51.540000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267838,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 10:58:52.329000','2014-12-08 10:58:52.323000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267839,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 11:03:53.045000','2014-12-08 11:03:53.045000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267840,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 11:08:51.257000','2014-12-08 11:08:51.257000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267841,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 11:13:51.843000','2014-12-08 11:13:51.843000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267842,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 11:18:52.505000','2014-12-08 11:18:52.505000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267843,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 11:23:52.875000','2014-12-08 11:23:52.875000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267844,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 11:28:50.974000','2014-12-08 11:28:50.974000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267845,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 11:33:51.559000','2014-12-08 11:33:51.559000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267846,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 11:38:52.144000','2014-12-08 11:38:52.144000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267847,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 11:43:52.652000','2014-12-08 11:43:52.652000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267848,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 11:48:51.225000','2014-12-08 11:48:51.225000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267849,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 11:53:51.854000','2014-12-08 11:53:51.851000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860267937,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 11:58:53.150000','2014-12-08 11:58:53.135000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268037,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 12:03:53.159000','2014-12-08 12:03:53.146000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268137,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 12:08:51.074000','2014-12-08 12:08:51.058000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268138,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 12:13:51.567000','2014-12-08 12:13:51.562000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268139,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 12:18:52.038000','2014-12-08 12:18:52.038000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268140,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 12:23:50.396000','2014-12-08 12:23:50.396000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268141,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 12:28:50.978000','2014-12-08 12:28:50.978000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268142,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 12:33:51.431000','2014-12-08 12:33:51.426000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268237,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 12:38:53.094000','2014-12-08 12:38:53.083000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268337,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 12:43:53.375000','2014-12-08 12:43:53.363000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268437,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 12:48:53.066000','2014-12-08 12:48:53.055000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268438,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 12:53:53.541000','2014-12-08 12:53:53.535000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268537,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 12:58:53.113000','2014-12-08 12:58:53.104000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268538,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 13:03:51.571000','2014-12-08 13:03:51.568000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268539,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 13:08:52.016000','2014-12-08 13:08:52.012000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268540,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 13:13:50.363000','2014-12-08 13:13:50.360000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268541,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 13:18:50.901000','2014-12-08 13:18:50.899000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268637,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 13:43:53.081000','2014-12-08 13:43:53.063000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268737,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-08 13:48:53.085000','2014-12-08 13:48:53.070000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268837,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-09 16:38:52.962000','2014-12-09 16:38:52.946000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268838,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-09 16:43:52.842000','2014-12-09 16:43:52.838000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268937,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-11 12:43:53.004000','2014-12-11 12:43:52.991000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860268938,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2014-12-11 12:48:52.897000','2014-12-11 12:48:52.890000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860269037,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2015-06-10 13:43:53.039000','2015-06-10 13:43:53.011000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860269137,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2015-06-10 13:48:53.037000','2015-06-10 13:48:53.011000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860269237,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2015-06-10 13:53:53.022000','2015-06-10 13:53:52.997000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860269238,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2015-06-10 13:58:52.976000','2015-06-10 13:58:52.969000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860269239,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2015-06-10 14:03:52.969000','2015-06-10 14:03:52.962000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860269240,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2015-06-10 14:08:52.982000','2015-06-10 14:08:52.976000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860269337,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2015-06-11 12:53:53.052000','2015-06-11 12:53:53.019000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860269437,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2015-06-11 12:58:53.038000','2015-06-11 12:58:53.011000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860269537,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2015-06-11 13:03:53.035000','2015-06-11 13:03:53.008000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860269637,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2015-06-11 13:08:53.053000','2015-06-11 13:08:53.016000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860269638,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2015-06-11 13:13:53.089000','2015-06-11 13:13:53.055000') -INSERT INTO "system$scheduledeventinformation" VALUES(1688849860269639,'releaseOldLocks','Completed','This event releases locks of expired sessions automatically. ','2015-06-11 13:18:53.148000','2015-06-11 13:18:53.107000') -INSERT INTO "system$language" VALUES(1970324836974593,'English, United States','en_US') -INSERT INTO "myfirstmodule$timeritems" VALUES(2251799813685249,NULL) -INSERT INTO "myfirstmodule$timeritems" VALUES(2251799813685250,NULL) -INSERT INTO "myfirstmodule$timeritems" VALUES(2251799813685251,NULL) -INSERT INTO "myfirstmodule$timeritems" VALUES(2251799813685252,NULL) -INSERT INTO "myfirstmodule$timerobjects_camera" VALUES(2251799813685249,2814749767106561) -INSERT INTO "myfirstmodule$timerobjects_camera" VALUES(2251799813685250,2814749767106562) -INSERT INTO "myfirstmodule$timerobjects_camera" VALUES(2251799813685251,2814749767106563) -INSERT INTO "myfirstmodule$timerobjects_camera" VALUES(2251799813685252,2814749767106564) -INSERT INTO "system$statistics" VALUES(2533274790395905,0,1,'2015-06-11 13:14:36.654000',3,'2014-04-15 14:39:26.946000') -INSERT INTO "myfirstmodule$camera" VALUES(2814749767106561,'Cam 01','Amsterdam') -INSERT INTO "myfirstmodule$camera" VALUES(2814749767106562,'Cam 02','London') -INSERT INTO "myfirstmodule$camera" VALUES(2814749767106563,'Cam 03','Paris') -INSERT INTO "myfirstmodule$camera" VALUES(2814749767106564,'Cam04','Hamburg') -INSERT INTO "system$user" VALUES(3377699720527873,FALSE,'MxAdmin','2014-04-15 14:39:26.599000',TRUE,0,NULL,'',FALSE,'2014-04-15 14:39:26.598000',FALSE,'System.User',3377699720527873,NULL) -INSERT INTO "system$user" VALUES(3377699720529073,TRUE,'Anonymous_174a2a31-f4e6-42bf-b7da-b372c0c8c16f','2014-04-16 14:27:33.825000',TRUE,0,'2014-04-16 14:27:33.966000','{BCrypt}$2a$10$OWMk5gB9b0pz3ENGw30vBuyS85G8QG/1fxJ81H6OyrpOePb2I0LLy',FALSE,'2014-04-16 14:27:33.825000',FALSE,'System.User',3377699720529073,NULL) -INSERT INTO "system$user" VALUES(3377699720529273,TRUE,'Anonymous_12a31b0e-01ec-42f2-81cb-c6bd74dcae1c','2014-08-06 08:34:52.558000',TRUE,0,'2014-08-06 08:34:52.714000','{BCrypt}$2a$10$2jL8dOg0QpdHE7KgK1PLr.7z.Qu9ZQygHBOSgThUow1WmcgzAfEg.',FALSE,'2014-08-06 08:34:52.558000',FALSE,'System.User',3377699720529273,NULL) -INSERT INTO "system$user_language" VALUES(3377699720529073,1970324836974593) -INSERT INTO "system$user_language" VALUES(3377699720529273,1970324836974593) -INSERT INTO "system$userroles" VALUES(3377699720527873,562949953421314) -INSERT INTO "system$userroles" VALUES(3377699720529073,562949953421314) -INSERT INTO "system$userroles" VALUES(3377699720529273,562949953421314) -INSERT INTO "system$timezone" VALUES(3940649673949185,'(GMT+13:00) Apia',46800000,'Pacific/Apia') -INSERT INTO "system$timezone" VALUES(3940649673949186,'(GMT-11:00) Midway',-39600000,'Pacific/Midway') -INSERT INTO "system$timezone" VALUES(3940649673949187,'(GMT-11:00) Niue',-39600000,'Pacific/Niue') -INSERT INTO "system$timezone" VALUES(3940649673949188,'(GMT-11:00) Pago Pago',-39600000,'Pacific/Pago_Pago') -INSERT INTO "system$timezone" VALUES(3940649673949189,'(GMT-11:00) Samoa',-39600000,'Pacific/Samoa') -INSERT INTO "system$timezone" VALUES(3940649673949190,'(GMT-11:00) Samoa',-39600000,'US/Samoa') -INSERT INTO "system$timezone" VALUES(3940649673949191,'(GMT-10:00) Adak',-36000000,'America/Adak') -INSERT INTO "system$timezone" VALUES(3940649673949192,'(GMT-10:00) Atka',-36000000,'America/Atka') -INSERT INTO "system$timezone" VALUES(3940649673949193,'(GMT+13:00) Fakaofo',46800000,'Pacific/Fakaofo') -INSERT INTO "system$timezone" VALUES(3940649673949194,'(GMT-10:00) Honolulu',-36000000,'Pacific/Honolulu') -INSERT INTO "system$timezone" VALUES(3940649673949195,'(GMT-10:00) Johnston',-36000000,'Pacific/Johnston') -INSERT INTO "system$timezone" VALUES(3940649673949196,'(GMT-10:00) Rarotonga',-36000000,'Pacific/Rarotonga') -INSERT INTO "system$timezone" VALUES(3940649673949197,'(GMT-10:00) Tahiti',-36000000,'Pacific/Tahiti') -INSERT INTO "system$timezone" VALUES(3940649673949198,'(GMT-10:00) Aleutian',-36000000,'US/Aleutian') -INSERT INTO "system$timezone" VALUES(3940649673949199,'(GMT-10:00) Hawaii',-36000000,'US/Hawaii') -INSERT INTO "system$timezone" VALUES(3940649673949200,'(GMT-09:30) Marquesas',-34200000,'Pacific/Marquesas') -INSERT INTO "system$timezone" VALUES(3940649673949201,'(GMT-09:00) Anchorage',-32400000,'America/Anchorage') -INSERT INTO "system$timezone" VALUES(3940649673949202,'(GMT-09:00) Juneau',-32400000,'America/Juneau') -INSERT INTO "system$timezone" VALUES(3940649673949203,'(GMT-09:00) Nome',-32400000,'America/Nome') -INSERT INTO "system$timezone" VALUES(3940649673949204,'(GMT-09:00) Sitka',-32400000,'America/Sitka') -INSERT INTO "system$timezone" VALUES(3940649673949205,'(GMT-09:00) Yakutat',-32400000,'America/Yakutat') -INSERT INTO "system$timezone" VALUES(3940649673949206,'(GMT-09:00) Gambier',-32400000,'Pacific/Gambier') -INSERT INTO "system$timezone" VALUES(3940649673949207,'(GMT-09:00) Alaska',-32400000,'US/Alaska') -INSERT INTO "system$timezone" VALUES(3940649673949208,'(GMT-08:00) Dawson',-28800000,'America/Dawson') -INSERT INTO "system$timezone" VALUES(3940649673949209,'(GMT-08:00) Ensenada',-28800000,'America/Ensenada') -INSERT INTO "system$timezone" VALUES(3940649673949210,'(GMT-08:00) Los Angeles',-28800000,'America/Los_Angeles') -INSERT INTO "system$timezone" VALUES(3940649673949211,'(GMT-08:00) Metlakatla',-28800000,'America/Metlakatla') -INSERT INTO "system$timezone" VALUES(3940649673949212,'(GMT-08:00) Santa Isabel',-28800000,'America/Santa_Isabel') -INSERT INTO "system$timezone" VALUES(3940649673949213,'(GMT-08:00) Tijuana',-28800000,'America/Tijuana') -INSERT INTO "system$timezone" VALUES(3940649673949214,'(GMT-08:00) Vancouver',-28800000,'America/Vancouver') -INSERT INTO "system$timezone" VALUES(3940649673949215,'(GMT-08:00) Whitehorse',-28800000,'America/Whitehorse') -INSERT INTO "system$timezone" VALUES(3940649673949216,'(GMT-08:00) Pacific',-28800000,'Canada/Pacific') -INSERT INTO "system$timezone" VALUES(3940649673949217,'(GMT-08:00) Yukon',-28800000,'Canada/Yukon') -INSERT INTO "system$timezone" VALUES(3940649673949218,'(GMT-08:00) BajaNorte',-28800000,'Mexico/BajaNorte') -INSERT INTO "system$timezone" VALUES(3940649673949219,'(GMT-08:00) Pitcairn',-28800000,'Pacific/Pitcairn') -INSERT INTO "system$timezone" VALUES(3940649673949220,'(GMT-08:00) Pacific',-28800000,'US/Pacific') -INSERT INTO "system$timezone" VALUES(3940649673949221,'(GMT-08:00) Pacific-New',-28800000,'US/Pacific-New') -INSERT INTO "system$timezone" VALUES(3940649673949222,'(GMT-07:00) Boise',-25200000,'America/Boise') -INSERT INTO "system$timezone" VALUES(3940649673949223,'(GMT-07:00) Cambridge Bay',-25200000,'America/Cambridge_Bay') -INSERT INTO "system$timezone" VALUES(3940649673949224,'(GMT-07:00) Chihuahua',-25200000,'America/Chihuahua') -INSERT INTO "system$timezone" VALUES(3940649673949225,'(GMT-07:00) Dawson Creek',-25200000,'America/Dawson_Creek') -INSERT INTO "system$timezone" VALUES(3940649673949226,'(GMT-07:00) Denver',-25200000,'America/Denver') -INSERT INTO "system$timezone" VALUES(3940649673949227,'(GMT-07:00) Edmonton',-25200000,'America/Edmonton') -INSERT INTO "system$timezone" VALUES(3940649673949228,'(GMT-07:00) Hermosillo',-25200000,'America/Hermosillo') -INSERT INTO "system$timezone" VALUES(3940649673949229,'(GMT-07:00) Inuvik',-25200000,'America/Inuvik') -INSERT INTO "system$timezone" VALUES(3940649673949230,'(GMT-07:00) Mazatlan',-25200000,'America/Mazatlan') -INSERT INTO "system$timezone" VALUES(3940649673949231,'(GMT-07:00) Ojinaga',-25200000,'America/Ojinaga') -INSERT INTO "system$timezone" VALUES(3940649673949232,'(GMT-07:00) Phoenix',-25200000,'America/Phoenix') -INSERT INTO "system$timezone" VALUES(3940649673949233,'(GMT-07:00) Shiprock',-25200000,'America/Shiprock') -INSERT INTO "system$timezone" VALUES(3940649673949234,'(GMT-07:00) Yellowknife',-25200000,'America/Yellowknife') -INSERT INTO "system$timezone" VALUES(3940649673949235,'(GMT-07:00) Mountain',-25200000,'Canada/Mountain') -INSERT INTO "system$timezone" VALUES(3940649673949236,'(GMT-07:00) BajaSur',-25200000,'Mexico/BajaSur') -INSERT INTO "system$timezone" VALUES(3940649673949237,'(GMT-07:00) Arizona',-25200000,'US/Arizona') -INSERT INTO "system$timezone" VALUES(3940649673949238,'(GMT-07:00) Mountain',-25200000,'US/Mountain') -INSERT INTO "system$timezone" VALUES(3940649673949239,'(GMT-06:00) Bahia Banderas',-21600000,'America/Bahia_Banderas') -INSERT INTO "system$timezone" VALUES(3940649673949240,'(GMT-06:00) Belize',-21600000,'America/Belize') -INSERT INTO "system$timezone" VALUES(3940649673949241,'(GMT-06:00) Cancun',-21600000,'America/Cancun') -INSERT INTO "system$timezone" VALUES(3940649673949242,'(GMT-06:00) Chicago',-21600000,'America/Chicago') -INSERT INTO "system$timezone" VALUES(3940649673949243,'(GMT-06:00) Costa Rica',-21600000,'America/Costa_Rica') -INSERT INTO "system$timezone" VALUES(3940649673949244,'(GMT-06:00) El Salvador',-21600000,'America/El_Salvador') -INSERT INTO "system$timezone" VALUES(3940649673949245,'(GMT-06:00) Guatemala',-21600000,'America/Guatemala') -INSERT INTO "system$timezone" VALUES(3940649673949246,'(GMT-06:00) Indiana/Knox',-21600000,'America/Indiana/Knox') -INSERT INTO "system$timezone" VALUES(3940649673949247,'(GMT-06:00) Indiana/Tell City',-21600000,'America/Indiana/Tell_City') -INSERT INTO "system$timezone" VALUES(3940649673949248,'(GMT-06:00) Knox IN',-21600000,'America/Knox_IN') -INSERT INTO "system$timezone" VALUES(3940649673949249,'(GMT-06:00) Managua',-21600000,'America/Managua') -INSERT INTO "system$timezone" VALUES(3940649673949250,'(GMT-06:00) Matamoros',-21600000,'America/Matamoros') -INSERT INTO "system$timezone" VALUES(3940649673949251,'(GMT-06:00) Menominee',-21600000,'America/Menominee') -INSERT INTO "system$timezone" VALUES(3940649673949252,'(GMT-06:00) Merida',-21600000,'America/Merida') -INSERT INTO "system$timezone" VALUES(3940649673949253,'(GMT-06:00) Mexico City',-21600000,'America/Mexico_City') -INSERT INTO "system$timezone" VALUES(3940649673949254,'(GMT-06:00) Monterrey',-21600000,'America/Monterrey') -INSERT INTO "system$timezone" VALUES(3940649673949255,'(GMT-06:00) North Dakota/Beulah',-21600000,'America/North_Dakota/Beulah') -INSERT INTO "system$timezone" VALUES(3940649673949256,'(GMT-06:00) North Dakota/Center',-21600000,'America/North_Dakota/Center') -INSERT INTO "system$timezone" VALUES(3940649673949257,'(GMT-06:00) North Dakota/New Salem',-21600000,'America/North_Dakota/New_Salem') -INSERT INTO "system$timezone" VALUES(3940649673949258,'(GMT-06:00) Rainy River',-21600000,'America/Rainy_River') -INSERT INTO "system$timezone" VALUES(3940649673949259,'(GMT-06:00) Rankin Inlet',-21600000,'America/Rankin_Inlet') -INSERT INTO "system$timezone" VALUES(3940649673949260,'(GMT-06:00) Regina',-21600000,'America/Regina') -INSERT INTO "system$timezone" VALUES(3940649673949261,'(GMT-06:00) Swift Current',-21600000,'America/Swift_Current') -INSERT INTO "system$timezone" VALUES(3940649673949262,'(GMT-06:00) Tegucigalpa',-21600000,'America/Tegucigalpa') -INSERT INTO "system$timezone" VALUES(3940649673949263,'(GMT-06:00) Winnipeg',-21600000,'America/Winnipeg') -INSERT INTO "system$timezone" VALUES(3940649673949264,'(GMT-06:00) Central',-21600000,'Canada/Central') -INSERT INTO "system$timezone" VALUES(3940649673949265,'(GMT-06:00) East-Saskatchewan',-21600000,'Canada/East-Saskatchewan') -INSERT INTO "system$timezone" VALUES(3940649673949266,'(GMT-06:00) Saskatchewan',-21600000,'Canada/Saskatchewan') -INSERT INTO "system$timezone" VALUES(3940649673949267,'(GMT-06:00) EasterIsland',-21600000,'Chile/EasterIsland') -INSERT INTO "system$timezone" VALUES(3940649673949268,'(GMT-06:00) General',-21600000,'Mexico/General') -INSERT INTO "system$timezone" VALUES(3940649673949269,'(GMT-06:00) Easter',-21600000,'Pacific/Easter') -INSERT INTO "system$timezone" VALUES(3940649673949270,'(GMT-06:00) Galapagos',-21600000,'Pacific/Galapagos') -INSERT INTO "system$timezone" VALUES(3940649673949271,'(GMT-06:00) Central',-21600000,'US/Central') -INSERT INTO "system$timezone" VALUES(3940649673949272,'(GMT-06:00) Indiana-Starke',-21600000,'US/Indiana-Starke') -INSERT INTO "system$timezone" VALUES(3940649673949273,'(GMT-05:00) Atikokan',-18000000,'America/Atikokan') -INSERT INTO "system$timezone" VALUES(3940649673949274,'(GMT-05:00) Bogota',-18000000,'America/Bogota') -INSERT INTO "system$timezone" VALUES(3940649673949275,'(GMT-05:00) Cayman',-18000000,'America/Cayman') -INSERT INTO "system$timezone" VALUES(3940649673949276,'(GMT-05:00) Coral Harbour',-18000000,'America/Coral_Harbour') -INSERT INTO "system$timezone" VALUES(3940649673949277,'(GMT-05:00) Detroit',-18000000,'America/Detroit') -INSERT INTO "system$timezone" VALUES(3940649673949278,'(GMT-05:00) Fort Wayne',-18000000,'America/Fort_Wayne') -INSERT INTO "system$timezone" VALUES(3940649673949279,'(GMT-05:00) Grand Turk',-18000000,'America/Grand_Turk') -INSERT INTO "system$timezone" VALUES(3940649673949280,'(GMT-05:00) Guayaquil',-18000000,'America/Guayaquil') -INSERT INTO "system$timezone" VALUES(3940649673949281,'(GMT-05:00) Havana',-18000000,'America/Havana') -INSERT INTO "system$timezone" VALUES(3940649673949282,'(GMT-05:00) Indiana/Indianapolis',-18000000,'America/Indiana/Indianapolis') -INSERT INTO "system$timezone" VALUES(3940649673949283,'(GMT-05:00) Indiana/Marengo',-18000000,'America/Indiana/Marengo') -INSERT INTO "system$timezone" VALUES(3940649673949284,'(GMT-05:00) Indiana/Petersburg',-18000000,'America/Indiana/Petersburg') -INSERT INTO "system$timezone" VALUES(3940649673949285,'(GMT-05:00) Indiana/Vevay',-18000000,'America/Indiana/Vevay') -INSERT INTO "system$timezone" VALUES(3940649673949286,'(GMT-05:00) Indiana/Vincennes',-18000000,'America/Indiana/Vincennes') -INSERT INTO "system$timezone" VALUES(3940649673949287,'(GMT-05:00) Indiana/Winamac',-18000000,'America/Indiana/Winamac') -INSERT INTO "system$timezone" VALUES(3940649673949288,'(GMT-05:00) Indianapolis',-18000000,'America/Indianapolis') -INSERT INTO "system$timezone" VALUES(3940649673949289,'(GMT-05:00) Iqaluit',-18000000,'America/Iqaluit') -INSERT INTO "system$timezone" VALUES(3940649673949290,'(GMT-05:00) Jamaica',-18000000,'America/Jamaica') -INSERT INTO "system$timezone" VALUES(3940649673949291,'(GMT-05:00) Kentucky/Louisville',-18000000,'America/Kentucky/Louisville') -INSERT INTO "system$timezone" VALUES(3940649673949292,'(GMT-05:00) Kentucky/Monticello',-18000000,'America/Kentucky/Monticello') -INSERT INTO "system$timezone" VALUES(3940649673949293,'(GMT-05:00) Lima',-18000000,'America/Lima') -INSERT INTO "system$timezone" VALUES(3940649673949294,'(GMT-05:00) Louisville',-18000000,'America/Louisville') -INSERT INTO "system$timezone" VALUES(3940649673949295,'(GMT-05:00) Montreal',-18000000,'America/Montreal') -INSERT INTO "system$timezone" VALUES(3940649673949296,'(GMT-05:00) Nassau',-18000000,'America/Nassau') -INSERT INTO "system$timezone" VALUES(3940649673949297,'(GMT-05:00) New York',-18000000,'America/New_York') -INSERT INTO "system$timezone" VALUES(3940649673949298,'(GMT-05:00) Nipigon',-18000000,'America/Nipigon') -INSERT INTO "system$timezone" VALUES(3940649673949299,'(GMT-05:00) Panama',-18000000,'America/Panama') -INSERT INTO "system$timezone" VALUES(3940649673949300,'(GMT-05:00) Pangnirtung',-18000000,'America/Pangnirtung') -INSERT INTO "system$timezone" VALUES(3940649673949301,'(GMT-05:00) Port-au-Prince',-18000000,'America/Port-au-Prince') -INSERT INTO "system$timezone" VALUES(3940649673949302,'(GMT-06:00) Resolute',-21600000,'America/Resolute') -INSERT INTO "system$timezone" VALUES(3940649673949303,'(GMT-05:00) Thunder Bay',-18000000,'America/Thunder_Bay') -INSERT INTO "system$timezone" VALUES(3940649673949304,'(GMT-05:00) Toronto',-18000000,'America/Toronto') -INSERT INTO "system$timezone" VALUES(3940649673949305,'(GMT-05:00) Eastern',-18000000,'Canada/Eastern') -INSERT INTO "system$timezone" VALUES(3940649673949306,'(GMT-05:00) East-Indiana',-18000000,'US/East-Indiana') -INSERT INTO "system$timezone" VALUES(3940649673949307,'(GMT-05:00) Eastern',-18000000,'US/Eastern') -INSERT INTO "system$timezone" VALUES(3940649673949308,'(GMT-05:00) Michigan',-18000000,'US/Michigan') -INSERT INTO "system$timezone" VALUES(3940649673949309,'(GMT-04:30) Caracas',-16200000,'America/Caracas') -INSERT INTO "system$timezone" VALUES(3940649673949310,'(GMT-04:00) Anguilla',-14400000,'America/Anguilla') -INSERT INTO "system$timezone" VALUES(3940649673949311,'(GMT-04:00) Antigua',-14400000,'America/Antigua') -INSERT INTO "system$timezone" VALUES(3940649673949312,'(GMT-04:00) Argentina/San Luis',-14400000,'America/Argentina/San_Luis') -INSERT INTO "system$timezone" VALUES(3940649673949313,'(GMT-04:00) Aruba',-14400000,'America/Aruba') -INSERT INTO "system$timezone" VALUES(3940649673949314,'(GMT-04:00) Asuncion',-14400000,'America/Asuncion') -INSERT INTO "system$timezone" VALUES(3940649673949315,'(GMT-04:00) Barbados',-14400000,'America/Barbados') -INSERT INTO "system$timezone" VALUES(3940649673949316,'(GMT-04:00) Blanc-Sablon',-14400000,'America/Blanc-Sablon') -INSERT INTO "system$timezone" VALUES(3940649673949317,'(GMT-04:00) Boa Vista',-14400000,'America/Boa_Vista') -INSERT INTO "system$timezone" VALUES(3940649673949318,'(GMT-04:00) Campo Grande',-14400000,'America/Campo_Grande') -INSERT INTO "system$timezone" VALUES(3940649673949319,'(GMT-04:00) Cuiaba',-14400000,'America/Cuiaba') -INSERT INTO "system$timezone" VALUES(3940649673949320,'(GMT-04:00) Curacao',-14400000,'America/Curacao') -INSERT INTO "system$timezone" VALUES(3940649673949321,'(GMT-04:00) Dominica',-14400000,'America/Dominica') -INSERT INTO "system$timezone" VALUES(3940649673949322,'(GMT-04:00) Eirunepe',-14400000,'America/Eirunepe') -INSERT INTO "system$timezone" VALUES(3940649673949323,'(GMT-04:00) Glace Bay',-14400000,'America/Glace_Bay') -INSERT INTO "system$timezone" VALUES(3940649673949324,'(GMT-04:00) Goose Bay',-14400000,'America/Goose_Bay') -INSERT INTO "system$timezone" VALUES(3940649673949325,'(GMT-04:00) Grenada',-14400000,'America/Grenada') -INSERT INTO "system$timezone" VALUES(3940649673949326,'(GMT-04:00) Guadeloupe',-14400000,'America/Guadeloupe') -INSERT INTO "system$timezone" VALUES(3940649673949327,'(GMT-04:00) Guyana',-14400000,'America/Guyana') -INSERT INTO "system$timezone" VALUES(3940649673949328,'(GMT-04:00) Halifax',-14400000,'America/Halifax') -INSERT INTO "system$timezone" VALUES(3940649673949329,'(GMT-04:00) La Paz',-14400000,'America/La_Paz') -INSERT INTO "system$timezone" VALUES(3940649673949330,'(GMT-04:00) Manaus',-14400000,'America/Manaus') -INSERT INTO "system$timezone" VALUES(3940649673949331,'(GMT-04:00) Marigot',-14400000,'America/Marigot') -INSERT INTO "system$timezone" VALUES(3940649673949332,'(GMT-04:00) Martinique',-14400000,'America/Martinique') -INSERT INTO "system$timezone" VALUES(3940649673949333,'(GMT-04:00) Moncton',-14400000,'America/Moncton') -INSERT INTO "system$timezone" VALUES(3940649673949334,'(GMT-04:00) Montserrat',-14400000,'America/Montserrat') -INSERT INTO "system$timezone" VALUES(3940649673949335,'(GMT-04:00) Port of Spain',-14400000,'America/Port_of_Spain') -INSERT INTO "system$timezone" VALUES(3940649673949336,'(GMT-04:00) Porto Acre',-14400000,'America/Porto_Acre') -INSERT INTO "system$timezone" VALUES(3940649673949337,'(GMT-04:00) Porto Velho',-14400000,'America/Porto_Velho') -INSERT INTO "system$timezone" VALUES(3940649673949338,'(GMT-04:00) Puerto Rico',-14400000,'America/Puerto_Rico') -INSERT INTO "system$timezone" VALUES(3940649673949339,'(GMT-04:00) Rio Branco',-14400000,'America/Rio_Branco') -INSERT INTO "system$timezone" VALUES(3940649673949340,'(GMT-04:00) Santiago',-14400000,'America/Santiago') -INSERT INTO "system$timezone" VALUES(3940649673949341,'(GMT-04:00) Santo Domingo',-14400000,'America/Santo_Domingo') -INSERT INTO "system$timezone" VALUES(3940649673949342,'(GMT-04:00) St Barthelemy',-14400000,'America/St_Barthelemy') -INSERT INTO "system$timezone" VALUES(3940649673949343,'(GMT-04:00) St Kitts',-14400000,'America/St_Kitts') -INSERT INTO "system$timezone" VALUES(3940649673949344,'(GMT-04:00) St Lucia',-14400000,'America/St_Lucia') -INSERT INTO "system$timezone" VALUES(3940649673949345,'(GMT-04:00) St Thomas',-14400000,'America/St_Thomas') -INSERT INTO "system$timezone" VALUES(3940649673949346,'(GMT-04:00) St Vincent',-14400000,'America/St_Vincent') -INSERT INTO "system$timezone" VALUES(3940649673949347,'(GMT-04:00) Thule',-14400000,'America/Thule') -INSERT INTO "system$timezone" VALUES(3940649673949348,'(GMT-04:00) Tortola',-14400000,'America/Tortola') -INSERT INTO "system$timezone" VALUES(3940649673949349,'(GMT-04:00) Virgin',-14400000,'America/Virgin') -INSERT INTO "system$timezone" VALUES(3940649673949350,'(GMT-04:00) Palmer',-14400000,'Antarctica/Palmer') -INSERT INTO "system$timezone" VALUES(3940649673949351,'(GMT-04:00) Bermuda',-14400000,'Atlantic/Bermuda') -INSERT INTO "system$timezone" VALUES(3940649673949352,'(GMT-03:00) Stanley',-10800000,'Atlantic/Stanley') -INSERT INTO "system$timezone" VALUES(3940649673949353,'(GMT-04:00) Acre',-14400000,'Brazil/Acre') -INSERT INTO "system$timezone" VALUES(3940649673949354,'(GMT-04:00) West',-14400000,'Brazil/West') -INSERT INTO "system$timezone" VALUES(3940649673949355,'(GMT-04:00) Atlantic',-14400000,'Canada/Atlantic') -INSERT INTO "system$timezone" VALUES(3940649673949356,'(GMT-04:00) Continental',-14400000,'Chile/Continental') -INSERT INTO "system$timezone" VALUES(3940649673949357,'(GMT-03:30) St Johns',-12600000,'America/St_Johns') -INSERT INTO "system$timezone" VALUES(3940649673949358,'(GMT-03:30) Newfoundland',-12600000,'Canada/Newfoundland') -INSERT INTO "system$timezone" VALUES(3940649673949359,'(GMT-03:00) Araguaina',-10800000,'America/Araguaina') -INSERT INTO "system$timezone" VALUES(3940649673949360,'(GMT-03:00) Argentina/Buenos Aires',-10800000,'America/Argentina/Buenos_Aires') -INSERT INTO "system$timezone" VALUES(3940649673949361,'(GMT-03:00) Argentina/Catamarca',-10800000,'America/Argentina/Catamarca') -INSERT INTO "system$timezone" VALUES(3940649673949362,'(GMT-03:00) Argentina/ComodRivadavia',-10800000,'America/Argentina/ComodRivadavia') -INSERT INTO "system$timezone" VALUES(3940649673949363,'(GMT-03:00) Argentina/Cordoba',-10800000,'America/Argentina/Cordoba') -INSERT INTO "system$timezone" VALUES(3940649673949364,'(GMT-03:00) Argentina/Jujuy',-10800000,'America/Argentina/Jujuy') -INSERT INTO "system$timezone" VALUES(3940649673949365,'(GMT-03:00) Argentina/La Rioja',-10800000,'America/Argentina/La_Rioja') -INSERT INTO "system$timezone" VALUES(3940649673949366,'(GMT-03:00) Argentina/Mendoza',-10800000,'America/Argentina/Mendoza') -INSERT INTO "system$timezone" VALUES(3940649673949367,'(GMT-03:00) Argentina/Rio Gallegos',-10800000,'America/Argentina/Rio_Gallegos') -INSERT INTO "system$timezone" VALUES(3940649673949368,'(GMT-03:00) Argentina/Salta',-10800000,'America/Argentina/Salta') -INSERT INTO "system$timezone" VALUES(3940649673949369,'(GMT-03:00) Argentina/San Juan',-10800000,'America/Argentina/San_Juan') -INSERT INTO "system$timezone" VALUES(3940649673949370,'(GMT-03:00) Argentina/Tucuman',-10800000,'America/Argentina/Tucuman') -INSERT INTO "system$timezone" VALUES(3940649673949371,'(GMT-03:00) Argentina/Ushuaia',-10800000,'America/Argentina/Ushuaia') -INSERT INTO "system$timezone" VALUES(3940649673949372,'(GMT-03:00) Bahia',-10800000,'America/Bahia') -INSERT INTO "system$timezone" VALUES(3940649673949373,'(GMT-03:00) Belem',-10800000,'America/Belem') -INSERT INTO "system$timezone" VALUES(3940649673949374,'(GMT-03:00) Buenos Aires',-10800000,'America/Buenos_Aires') -INSERT INTO "system$timezone" VALUES(3940649673949375,'(GMT-03:00) Catamarca',-10800000,'America/Catamarca') -INSERT INTO "system$timezone" VALUES(3940649673949376,'(GMT-03:00) Cayenne',-10800000,'America/Cayenne') -INSERT INTO "system$timezone" VALUES(3940649673949377,'(GMT-03:00) Cordoba',-10800000,'America/Cordoba') -INSERT INTO "system$timezone" VALUES(3940649673949378,'(GMT-03:00) Fortaleza',-10800000,'America/Fortaleza') -INSERT INTO "system$timezone" VALUES(3940649673949379,'(GMT-03:00) Godthab',-10800000,'America/Godthab') -INSERT INTO "system$timezone" VALUES(3940649673949380,'(GMT-03:00) Jujuy',-10800000,'America/Jujuy') -INSERT INTO "system$timezone" VALUES(3940649673949381,'(GMT-03:00) Maceio',-10800000,'America/Maceio') -INSERT INTO "system$timezone" VALUES(3940649673949382,'(GMT-03:00) Mendoza',-10800000,'America/Mendoza') -INSERT INTO "system$timezone" VALUES(3940649673949383,'(GMT-03:00) Miquelon',-10800000,'America/Miquelon') -INSERT INTO "system$timezone" VALUES(3940649673949384,'(GMT-03:00) Montevideo',-10800000,'America/Montevideo') -INSERT INTO "system$timezone" VALUES(3940649673949385,'(GMT-03:00) Paramaribo',-10800000,'America/Paramaribo') -INSERT INTO "system$timezone" VALUES(3940649673949386,'(GMT-03:00) Recife',-10800000,'America/Recife') -INSERT INTO "system$timezone" VALUES(3940649673949387,'(GMT-03:00) Rosario',-10800000,'America/Rosario') -INSERT INTO "system$timezone" VALUES(3940649673949388,'(GMT-03:00) Santarem',-10800000,'America/Santarem') -INSERT INTO "system$timezone" VALUES(3940649673949389,'(GMT-03:00) Sao Paulo',-10800000,'America/Sao_Paulo') -INSERT INTO "system$timezone" VALUES(3940649673949390,'(GMT-03:00) Rothera',-10800000,'Antarctica/Rothera') -INSERT INTO "system$timezone" VALUES(3940649673949391,'(GMT-03:00) East',-10800000,'Brazil/East') -INSERT INTO "system$timezone" VALUES(3940649673949392,'(GMT-02:00) Noronha',-7200000,'America/Noronha') -INSERT INTO "system$timezone" VALUES(3940649673949393,'(GMT-02:00) South Georgia',-7200000,'Atlantic/South_Georgia') -INSERT INTO "system$timezone" VALUES(3940649673949394,'(GMT-02:00) DeNoronha',-7200000,'Brazil/DeNoronha') -INSERT INTO "system$timezone" VALUES(3940649673949395,'(GMT-01:00) Scoresbysund',-3600000,'America/Scoresbysund') -INSERT INTO "system$timezone" VALUES(3940649673949396,'(GMT-01:00) Azores',-3600000,'Atlantic/Azores') -INSERT INTO "system$timezone" VALUES(3940649673949397,'(GMT-01:00) Cape Verde',-3600000,'Atlantic/Cape_Verde') -INSERT INTO "system$timezone" VALUES(3940649673949398,'(GMT+00:00) Abidjan',0,'Africa/Abidjan') -INSERT INTO "system$timezone" VALUES(3940649673949399,'(GMT+00:00) Accra',0,'Africa/Accra') -INSERT INTO "system$timezone" VALUES(3940649673949400,'(GMT+00:00) Bamako',0,'Africa/Bamako') -INSERT INTO "system$timezone" VALUES(3940649673949401,'(GMT+00:00) Banjul',0,'Africa/Banjul') -INSERT INTO "system$timezone" VALUES(3940649673949402,'(GMT+00:00) Bissau',0,'Africa/Bissau') -INSERT INTO "system$timezone" VALUES(3940649673949403,'(GMT+00:00) Casablanca',0,'Africa/Casablanca') -INSERT INTO "system$timezone" VALUES(3940649673949404,'(GMT+00:00) Conakry',0,'Africa/Conakry') -INSERT INTO "system$timezone" VALUES(3940649673949405,'(GMT+00:00) Dakar',0,'Africa/Dakar') -INSERT INTO "system$timezone" VALUES(3940649673949406,'(GMT+00:00) El Aaiun',0,'Africa/El_Aaiun') -INSERT INTO "system$timezone" VALUES(3940649673949407,'(GMT+00:00) Freetown',0,'Africa/Freetown') -INSERT INTO "system$timezone" VALUES(3940649673949408,'(GMT+00:00) Lome',0,'Africa/Lome') -INSERT INTO "system$timezone" VALUES(3940649673949409,'(GMT+00:00) Monrovia',0,'Africa/Monrovia') -INSERT INTO "system$timezone" VALUES(3940649673949410,'(GMT+00:00) Nouakchott',0,'Africa/Nouakchott') -INSERT INTO "system$timezone" VALUES(3940649673949411,'(GMT+00:00) Ouagadougou',0,'Africa/Ouagadougou') -INSERT INTO "system$timezone" VALUES(3940649673949412,'(GMT+00:00) Sao Tome',0,'Africa/Sao_Tome') -INSERT INTO "system$timezone" VALUES(3940649673949413,'(GMT+00:00) Timbuktu',0,'Africa/Timbuktu') -INSERT INTO "system$timezone" VALUES(3940649673949414,'(GMT+00:00) Danmarkshavn',0,'America/Danmarkshavn') -INSERT INTO "system$timezone" VALUES(3940649673949415,'(GMT+00:00) Canary',0,'Atlantic/Canary') -INSERT INTO "system$timezone" VALUES(3940649673949416,'(GMT+00:00) Faeroe',0,'Atlantic/Faeroe') -INSERT INTO "system$timezone" VALUES(3940649673949417,'(GMT+00:00) Faroe',0,'Atlantic/Faroe') -INSERT INTO "system$timezone" VALUES(3940649673949418,'(GMT+00:00) Madeira',0,'Atlantic/Madeira') -INSERT INTO "system$timezone" VALUES(3940649673949419,'(GMT+00:00) Reykjavik',0,'Atlantic/Reykjavik') -INSERT INTO "system$timezone" VALUES(3940649673949420,'(GMT+00:00) St Helena',0,'Atlantic/St_Helena') -INSERT INTO "system$timezone" VALUES(3940649673949421,'(GMT+00:00) UTC',0,'Etc/UTC') -INSERT INTO "system$timezone" VALUES(3940649673949422,'(GMT+00:00) Belfast',0,'Europe/Belfast') -INSERT INTO "system$timezone" VALUES(3940649673949423,'(GMT+00:00) Dublin',0,'Europe/Dublin') -INSERT INTO "system$timezone" VALUES(3940649673949424,'(GMT+00:00) Guernsey',0,'Europe/Guernsey') -INSERT INTO "system$timezone" VALUES(3940649673949425,'(GMT+00:00) Isle of Man',0,'Europe/Isle_of_Man') -INSERT INTO "system$timezone" VALUES(3940649673949426,'(GMT+00:00) Jersey',0,'Europe/Jersey') -INSERT INTO "system$timezone" VALUES(3940649673949427,'(GMT+00:00) Lisbon',0,'Europe/Lisbon') -INSERT INTO "system$timezone" VALUES(3940649673949428,'(GMT+00:00) London',0,'Europe/London') -INSERT INTO "system$timezone" VALUES(3940649673949429,'(GMT+01:00) Algiers',3600000,'Africa/Algiers') -INSERT INTO "system$timezone" VALUES(3940649673949430,'(GMT+01:00) Bangui',3600000,'Africa/Bangui') -INSERT INTO "system$timezone" VALUES(3940649673949431,'(GMT+01:00) Brazzaville',3600000,'Africa/Brazzaville') -INSERT INTO "system$timezone" VALUES(3940649673949432,'(GMT+01:00) Ceuta',3600000,'Africa/Ceuta') -INSERT INTO "system$timezone" VALUES(3940649673949433,'(GMT+01:00) Douala',3600000,'Africa/Douala') -INSERT INTO "system$timezone" VALUES(3940649673949434,'(GMT+01:00) Kinshasa',3600000,'Africa/Kinshasa') -INSERT INTO "system$timezone" VALUES(3940649673949435,'(GMT+01:00) Lagos',3600000,'Africa/Lagos') -INSERT INTO "system$timezone" VALUES(3940649673949436,'(GMT+01:00) Libreville',3600000,'Africa/Libreville') -INSERT INTO "system$timezone" VALUES(3940649673949437,'(GMT+01:00) Luanda',3600000,'Africa/Luanda') -INSERT INTO "system$timezone" VALUES(3940649673949438,'(GMT+01:00) Malabo',3600000,'Africa/Malabo') -INSERT INTO "system$timezone" VALUES(3940649673949439,'(GMT+01:00) Ndjamena',3600000,'Africa/Ndjamena') -INSERT INTO "system$timezone" VALUES(3940649673949440,'(GMT+01:00) Niamey',3600000,'Africa/Niamey') -INSERT INTO "system$timezone" VALUES(3940649673949441,'(GMT+01:00) Porto-Novo',3600000,'Africa/Porto-Novo') -INSERT INTO "system$timezone" VALUES(3940649673949442,'(GMT+01:00) Tunis',3600000,'Africa/Tunis') -INSERT INTO "system$timezone" VALUES(3940649673949443,'(GMT+01:00) Windhoek',3600000,'Africa/Windhoek') -INSERT INTO "system$timezone" VALUES(3940649673949444,'(GMT+01:00) Longyearbyen',3600000,'Arctic/Longyearbyen') -INSERT INTO "system$timezone" VALUES(3940649673949445,'(GMT+01:00) Jan Mayen',3600000,'Atlantic/Jan_Mayen') -INSERT INTO "system$timezone" VALUES(3940649673949446,'(GMT+01:00) Amsterdam',3600000,'Europe/Amsterdam') -INSERT INTO "system$timezone" VALUES(3940649673949447,'(GMT+01:00) Andorra',3600000,'Europe/Andorra') -INSERT INTO "system$timezone" VALUES(3940649673949448,'(GMT+01:00) Belgrade',3600000,'Europe/Belgrade') -INSERT INTO "system$timezone" VALUES(3940649673949449,'(GMT+01:00) Berlin',3600000,'Europe/Berlin') -INSERT INTO "system$timezone" VALUES(3940649673949450,'(GMT+01:00) Bratislava',3600000,'Europe/Bratislava') -INSERT INTO "system$timezone" VALUES(3940649673949451,'(GMT+01:00) Brussels',3600000,'Europe/Brussels') -INSERT INTO "system$timezone" VALUES(3940649673949452,'(GMT+01:00) Budapest',3600000,'Europe/Budapest') -INSERT INTO "system$timezone" VALUES(3940649673949453,'(GMT+01:00) Copenhagen',3600000,'Europe/Copenhagen') -INSERT INTO "system$timezone" VALUES(3940649673949454,'(GMT+01:00) Gibraltar',3600000,'Europe/Gibraltar') -INSERT INTO "system$timezone" VALUES(3940649673949455,'(GMT+01:00) Ljubljana',3600000,'Europe/Ljubljana') -INSERT INTO "system$timezone" VALUES(3940649673949456,'(GMT+01:00) Luxembourg',3600000,'Europe/Luxembourg') -INSERT INTO "system$timezone" VALUES(3940649673949457,'(GMT+01:00) Madrid',3600000,'Europe/Madrid') -INSERT INTO "system$timezone" VALUES(3940649673949458,'(GMT+01:00) Malta',3600000,'Europe/Malta') -INSERT INTO "system$timezone" VALUES(3940649673949459,'(GMT+01:00) Monaco',3600000,'Europe/Monaco') -INSERT INTO "system$timezone" VALUES(3940649673949460,'(GMT+01:00) Oslo',3600000,'Europe/Oslo') -INSERT INTO "system$timezone" VALUES(3940649673949461,'(GMT+01:00) Paris',3600000,'Europe/Paris') -INSERT INTO "system$timezone" VALUES(3940649673949462,'(GMT+01:00) Podgorica',3600000,'Europe/Podgorica') -INSERT INTO "system$timezone" VALUES(3940649673949463,'(GMT+01:00) Prague',3600000,'Europe/Prague') -INSERT INTO "system$timezone" VALUES(3940649673949464,'(GMT+01:00) Rome',3600000,'Europe/Rome') -INSERT INTO "system$timezone" VALUES(3940649673949465,'(GMT+01:00) San Marino',3600000,'Europe/San_Marino') -INSERT INTO "system$timezone" VALUES(3940649673949466,'(GMT+01:00) Sarajevo',3600000,'Europe/Sarajevo') -INSERT INTO "system$timezone" VALUES(3940649673949467,'(GMT+01:00) Skopje',3600000,'Europe/Skopje') -INSERT INTO "system$timezone" VALUES(3940649673949468,'(GMT+01:00) Stockholm',3600000,'Europe/Stockholm') -INSERT INTO "system$timezone" VALUES(3940649673949469,'(GMT+01:00) Tirane',3600000,'Europe/Tirane') -INSERT INTO "system$timezone" VALUES(3940649673949470,'(GMT+01:00) Vaduz',3600000,'Europe/Vaduz') -INSERT INTO "system$timezone" VALUES(3940649673949471,'(GMT+01:00) Vatican',3600000,'Europe/Vatican') -INSERT INTO "system$timezone" VALUES(3940649673949472,'(GMT+01:00) Vienna',3600000,'Europe/Vienna') -INSERT INTO "system$timezone" VALUES(3940649673949473,'(GMT+01:00) Warsaw',3600000,'Europe/Warsaw') -INSERT INTO "system$timezone" VALUES(3940649673949474,'(GMT+01:00) Zagreb',3600000,'Europe/Zagreb') -INSERT INTO "system$timezone" VALUES(3940649673949475,'(GMT+01:00) Zurich',3600000,'Europe/Zurich') -INSERT INTO "system$timezone" VALUES(3940649673949476,'(GMT+02:00) Blantyre',7200000,'Africa/Blantyre') -INSERT INTO "system$timezone" VALUES(3940649673949477,'(GMT+02:00) Bujumbura',7200000,'Africa/Bujumbura') -INSERT INTO "system$timezone" VALUES(3940649673949478,'(GMT+02:00) Cairo',7200000,'Africa/Cairo') -INSERT INTO "system$timezone" VALUES(3940649673949479,'(GMT+02:00) Gaborone',7200000,'Africa/Gaborone') -INSERT INTO "system$timezone" VALUES(3940649673949480,'(GMT+02:00) Harare',7200000,'Africa/Harare') -INSERT INTO "system$timezone" VALUES(3940649673949481,'(GMT+02:00) Johannesburg',7200000,'Africa/Johannesburg') -INSERT INTO "system$timezone" VALUES(3940649673949482,'(GMT+02:00) Kigali',7200000,'Africa/Kigali') -INSERT INTO "system$timezone" VALUES(3940649673949483,'(GMT+02:00) Lubumbashi',7200000,'Africa/Lubumbashi') -INSERT INTO "system$timezone" VALUES(3940649673949484,'(GMT+02:00) Lusaka',7200000,'Africa/Lusaka') -INSERT INTO "system$timezone" VALUES(3940649673949485,'(GMT+02:00) Maputo',7200000,'Africa/Maputo') -INSERT INTO "system$timezone" VALUES(3940649673949486,'(GMT+02:00) Maseru',7200000,'Africa/Maseru') -INSERT INTO "system$timezone" VALUES(3940649673949487,'(GMT+02:00) Mbabane',7200000,'Africa/Mbabane') -INSERT INTO "system$timezone" VALUES(3940649673949488,'(GMT+01:00) Tripoli',3600000,'Africa/Tripoli') -INSERT INTO "system$timezone" VALUES(3940649673949489,'(GMT+02:00) Amman',7200000,'Asia/Amman') -INSERT INTO "system$timezone" VALUES(3940649673949490,'(GMT+02:00) Beirut',7200000,'Asia/Beirut') -INSERT INTO "system$timezone" VALUES(3940649673949491,'(GMT+02:00) Damascus',7200000,'Asia/Damascus') -INSERT INTO "system$timezone" VALUES(3940649673949492,'(GMT+02:00) Gaza',7200000,'Asia/Gaza') -INSERT INTO "system$timezone" VALUES(3940649673949493,'(GMT+02:00) Istanbul',7200000,'Asia/Istanbul') -INSERT INTO "system$timezone" VALUES(3940649673949494,'(GMT+02:00) Jerusalem',7200000,'Asia/Jerusalem') -INSERT INTO "system$timezone" VALUES(3940649673949495,'(GMT+02:00) Nicosia',7200000,'Asia/Nicosia') -INSERT INTO "system$timezone" VALUES(3940649673949496,'(GMT+02:00) Tel Aviv',7200000,'Asia/Tel_Aviv') -INSERT INTO "system$timezone" VALUES(3940649673949497,'(GMT+02:00) Athens',7200000,'Europe/Athens') -INSERT INTO "system$timezone" VALUES(3940649673949498,'(GMT+02:00) Bucharest',7200000,'Europe/Bucharest') -INSERT INTO "system$timezone" VALUES(3940649673949499,'(GMT+02:00) Chisinau',7200000,'Europe/Chisinau') -INSERT INTO "system$timezone" VALUES(3940649673949500,'(GMT+02:00) Helsinki',7200000,'Europe/Helsinki') -INSERT INTO "system$timezone" VALUES(3940649673949501,'(GMT+02:00) Istanbul',7200000,'Europe/Istanbul') -INSERT INTO "system$timezone" VALUES(3940649673949502,'(GMT+03:00) Kaliningrad',10800000,'Europe/Kaliningrad') -INSERT INTO "system$timezone" VALUES(3940649673949503,'(GMT+02:00) Kiev',7200000,'Europe/Kiev') -INSERT INTO "system$timezone" VALUES(3940649673949504,'(GMT+02:00) Mariehamn',7200000,'Europe/Mariehamn') -INSERT INTO "system$timezone" VALUES(3940649673949505,'(GMT+03:00) Minsk',10800000,'Europe/Minsk') -INSERT INTO "system$timezone" VALUES(3940649673949506,'(GMT+02:00) Nicosia',7200000,'Europe/Nicosia') -INSERT INTO "system$timezone" VALUES(3940649673949507,'(GMT+02:00) Riga',7200000,'Europe/Riga') -INSERT INTO "system$timezone" VALUES(3940649673949508,'(GMT+02:00) Simferopol',7200000,'Europe/Simferopol') -INSERT INTO "system$timezone" VALUES(3940649673949509,'(GMT+02:00) Sofia',7200000,'Europe/Sofia') -INSERT INTO "system$timezone" VALUES(3940649673949510,'(GMT+02:00) Tallinn',7200000,'Europe/Tallinn') -INSERT INTO "system$timezone" VALUES(3940649673949511,'(GMT+02:00) Tiraspol',7200000,'Europe/Tiraspol') -INSERT INTO "system$timezone" VALUES(3940649673949512,'(GMT+02:00) Uzhgorod',7200000,'Europe/Uzhgorod') -INSERT INTO "system$timezone" VALUES(3940649673949513,'(GMT+02:00) Vilnius',7200000,'Europe/Vilnius') -INSERT INTO "system$timezone" VALUES(3940649673949514,'(GMT+02:00) Zaporozhye',7200000,'Europe/Zaporozhye') -INSERT INTO "system$timezone" VALUES(3940649673949515,'(GMT+03:00) Addis Ababa',10800000,'Africa/Addis_Ababa') -INSERT INTO "system$timezone" VALUES(3940649673949516,'(GMT+03:00) Asmara',10800000,'Africa/Asmara') -INSERT INTO "system$timezone" VALUES(3940649673949517,'(GMT+03:00) Asmera',10800000,'Africa/Asmera') -INSERT INTO "system$timezone" VALUES(3940649673949518,'(GMT+03:00) Dar es Salaam',10800000,'Africa/Dar_es_Salaam') -INSERT INTO "system$timezone" VALUES(3940649673949519,'(GMT+03:00) Djibouti',10800000,'Africa/Djibouti') -INSERT INTO "system$timezone" VALUES(3940649673949520,'(GMT+03:00) Kampala',10800000,'Africa/Kampala') -INSERT INTO "system$timezone" VALUES(3940649673949521,'(GMT+03:00) Khartoum',10800000,'Africa/Khartoum') -INSERT INTO "system$timezone" VALUES(3940649673949522,'(GMT+03:00) Mogadishu',10800000,'Africa/Mogadishu') -INSERT INTO "system$timezone" VALUES(3940649673949523,'(GMT+03:00) Nairobi',10800000,'Africa/Nairobi') -INSERT INTO "system$timezone" VALUES(3940649673949524,'(GMT+03:00) Syowa',10800000,'Antarctica/Syowa') -INSERT INTO "system$timezone" VALUES(3940649673949525,'(GMT+03:00) Aden',10800000,'Asia/Aden') -INSERT INTO "system$timezone" VALUES(3940649673949526,'(GMT+03:00) Baghdad',10800000,'Asia/Baghdad') -INSERT INTO "system$timezone" VALUES(3940649673949527,'(GMT+03:00) Bahrain',10800000,'Asia/Bahrain') -INSERT INTO "system$timezone" VALUES(3940649673949528,'(GMT+03:00) Kuwait',10800000,'Asia/Kuwait') -INSERT INTO "system$timezone" VALUES(3940649673949529,'(GMT+03:00) Qatar',10800000,'Asia/Qatar') -INSERT INTO "system$timezone" VALUES(3940649673949530,'(GMT+03:00) Riyadh',10800000,'Asia/Riyadh') -INSERT INTO "system$timezone" VALUES(3940649673949531,'(GMT+04:00) Moscow',14400000,'Europe/Moscow') -INSERT INTO "system$timezone" VALUES(3940649673949532,'(GMT+04:00) Samara',14400000,'Europe/Samara') -INSERT INTO "system$timezone" VALUES(3940649673949533,'(GMT+04:00) Volgograd',14400000,'Europe/Volgograd') -INSERT INTO "system$timezone" VALUES(3940649673949534,'(GMT+03:00) Antananarivo',10800000,'Indian/Antananarivo') -INSERT INTO "system$timezone" VALUES(3940649673949535,'(GMT+03:00) Comoro',10800000,'Indian/Comoro') -INSERT INTO "system$timezone" VALUES(3940649673949536,'(GMT+03:00) Mayotte',10800000,'Indian/Mayotte') -INSERT INTO "system$timezone" VALUES(3940649673949537,'(GMT+03:07) Riyadh87',11224000,'Asia/Riyadh87') -INSERT INTO "system$timezone" VALUES(3940649673949538,'(GMT+03:07) Riyadh88',11224000,'Asia/Riyadh88') -INSERT INTO "system$timezone" VALUES(3940649673949539,'(GMT+03:07) Riyadh89',11224000,'Asia/Riyadh89') -INSERT INTO "system$timezone" VALUES(3940649673949540,'(GMT+03:07) Riyadh87',11224000,'Mideast/Riyadh87') -INSERT INTO "system$timezone" VALUES(3940649673949541,'(GMT+03:07) Riyadh88',11224000,'Mideast/Riyadh88') -INSERT INTO "system$timezone" VALUES(3940649673949542,'(GMT+03:07) Riyadh89',11224000,'Mideast/Riyadh89') -INSERT INTO "system$timezone" VALUES(3940649673949543,'(GMT+03:30) Tehran',12600000,'Asia/Tehran') -INSERT INTO "system$timezone" VALUES(3940649673949544,'(GMT+04:00) Baku',14400000,'Asia/Baku') -INSERT INTO "system$timezone" VALUES(3940649673949545,'(GMT+04:00) Dubai',14400000,'Asia/Dubai') -INSERT INTO "system$timezone" VALUES(3940649673949546,'(GMT+04:00) Muscat',14400000,'Asia/Muscat') -INSERT INTO "system$timezone" VALUES(3940649673949547,'(GMT+04:00) Tbilisi',14400000,'Asia/Tbilisi') -INSERT INTO "system$timezone" VALUES(3940649673949548,'(GMT+04:00) Yerevan',14400000,'Asia/Yerevan') -INSERT INTO "system$timezone" VALUES(3940649673949549,'(GMT+04:00) Mahe',14400000,'Indian/Mahe') -INSERT INTO "system$timezone" VALUES(3940649673949550,'(GMT+04:00) Mauritius',14400000,'Indian/Mauritius') -INSERT INTO "system$timezone" VALUES(3940649673949551,'(GMT+04:00) Reunion',14400000,'Indian/Reunion') -INSERT INTO "system$timezone" VALUES(3940649673949552,'(GMT+04:30) Kabul',16200000,'Asia/Kabul') -INSERT INTO "system$timezone" VALUES(3940649673949553,'(GMT+05:00) Mawson',18000000,'Antarctica/Mawson') -INSERT INTO "system$timezone" VALUES(3940649673949554,'(GMT+05:00) Aqtau',18000000,'Asia/Aqtau') -INSERT INTO "system$timezone" VALUES(3940649673949555,'(GMT+05:00) Aqtobe',18000000,'Asia/Aqtobe') -INSERT INTO "system$timezone" VALUES(3940649673949556,'(GMT+05:00) Ashgabat',18000000,'Asia/Ashgabat') -INSERT INTO "system$timezone" VALUES(3940649673949557,'(GMT+05:00) Ashkhabad',18000000,'Asia/Ashkhabad') -INSERT INTO "system$timezone" VALUES(3940649673949558,'(GMT+05:00) Dushanbe',18000000,'Asia/Dushanbe') -INSERT INTO "system$timezone" VALUES(3940649673949559,'(GMT+05:00) Karachi',18000000,'Asia/Karachi') -INSERT INTO "system$timezone" VALUES(3940649673949560,'(GMT+05:00) Oral',18000000,'Asia/Oral') -INSERT INTO "system$timezone" VALUES(3940649673949561,'(GMT+05:00) Samarkand',18000000,'Asia/Samarkand') -INSERT INTO "system$timezone" VALUES(3940649673949562,'(GMT+05:00) Tashkent',18000000,'Asia/Tashkent') -INSERT INTO "system$timezone" VALUES(3940649673949563,'(GMT+06:00) Yekaterinburg',21600000,'Asia/Yekaterinburg') -INSERT INTO "system$timezone" VALUES(3940649673949564,'(GMT+05:00) Kerguelen',18000000,'Indian/Kerguelen') -INSERT INTO "system$timezone" VALUES(3940649673949565,'(GMT+05:00) Maldives',18000000,'Indian/Maldives') -INSERT INTO "system$timezone" VALUES(3940649673949566,'(GMT+05:30) Calcutta',19800000,'Asia/Calcutta') -INSERT INTO "system$timezone" VALUES(3940649673949567,'(GMT+05:30) Colombo',19800000,'Asia/Colombo') -INSERT INTO "system$timezone" VALUES(3940649673949568,'(GMT+05:30) Kolkata',19800000,'Asia/Kolkata') -INSERT INTO "system$timezone" VALUES(3940649673949569,'(GMT+05:45) Kathmandu',20700000,'Asia/Kathmandu') -INSERT INTO "system$timezone" VALUES(3940649673949570,'(GMT+05:45) Katmandu',20700000,'Asia/Katmandu') -INSERT INTO "system$timezone" VALUES(3940649673949571,'(GMT+06:00) Vostok',21600000,'Antarctica/Vostok') -INSERT INTO "system$timezone" VALUES(3940649673949572,'(GMT+06:00) Almaty',21600000,'Asia/Almaty') -INSERT INTO "system$timezone" VALUES(3940649673949573,'(GMT+06:00) Bishkek',21600000,'Asia/Bishkek') -INSERT INTO "system$timezone" VALUES(3940649673949574,'(GMT+06:00) Dacca',21600000,'Asia/Dacca') -INSERT INTO "system$timezone" VALUES(3940649673949575,'(GMT+06:00) Dhaka',21600000,'Asia/Dhaka') -INSERT INTO "system$timezone" VALUES(3940649673949576,'(GMT+07:00) Novokuznetsk',25200000,'Asia/Novokuznetsk') -INSERT INTO "system$timezone" VALUES(3940649673949577,'(GMT+07:00) Novosibirsk',25200000,'Asia/Novosibirsk') -INSERT INTO "system$timezone" VALUES(3940649673949578,'(GMT+07:00) Omsk',25200000,'Asia/Omsk') -INSERT INTO "system$timezone" VALUES(3940649673949579,'(GMT+06:00) Qyzylorda',21600000,'Asia/Qyzylorda') -INSERT INTO "system$timezone" VALUES(3940649673949580,'(GMT+06:00) Thimbu',21600000,'Asia/Thimbu') -INSERT INTO "system$timezone" VALUES(3940649673949581,'(GMT+06:00) Thimphu',21600000,'Asia/Thimphu') -INSERT INTO "system$timezone" VALUES(3940649673949582,'(GMT+06:00) Chagos',21600000,'Indian/Chagos') -INSERT INTO "system$timezone" VALUES(3940649673949583,'(GMT+06:30) Rangoon',23400000,'Asia/Rangoon') -INSERT INTO "system$timezone" VALUES(3940649673949584,'(GMT+06:30) Cocos',23400000,'Indian/Cocos') -INSERT INTO "system$timezone" VALUES(3940649673949585,'(GMT+07:00) Davis',25200000,'Antarctica/Davis') -INSERT INTO "system$timezone" VALUES(3940649673949586,'(GMT+07:00) Bangkok',25200000,'Asia/Bangkok') -INSERT INTO "system$timezone" VALUES(3940649673949587,'(GMT+07:00) Ho Chi Minh',25200000,'Asia/Ho_Chi_Minh') -INSERT INTO "system$timezone" VALUES(3940649673949588,'(GMT+07:00) Hovd',25200000,'Asia/Hovd') -INSERT INTO "system$timezone" VALUES(3940649673949589,'(GMT+07:00) Jakarta',25200000,'Asia/Jakarta') -INSERT INTO "system$timezone" VALUES(3940649673949590,'(GMT+08:00) Krasnoyarsk',28800000,'Asia/Krasnoyarsk') -INSERT INTO "system$timezone" VALUES(3940649673949591,'(GMT+07:00) Phnom Penh',25200000,'Asia/Phnom_Penh') -INSERT INTO "system$timezone" VALUES(3940649673949592,'(GMT+07:00) Pontianak',25200000,'Asia/Pontianak') -INSERT INTO "system$timezone" VALUES(3940649673949593,'(GMT+07:00) Saigon',25200000,'Asia/Saigon') -INSERT INTO "system$timezone" VALUES(3940649673949594,'(GMT+07:00) Vientiane',25200000,'Asia/Vientiane') -INSERT INTO "system$timezone" VALUES(3940649673949595,'(GMT+07:00) Christmas',25200000,'Indian/Christmas') -INSERT INTO "system$timezone" VALUES(3940649673949596,'(GMT+08:00) Casey',28800000,'Antarctica/Casey') -INSERT INTO "system$timezone" VALUES(3940649673949597,'(GMT+08:00) Brunei',28800000,'Asia/Brunei') -INSERT INTO "system$timezone" VALUES(3940649673949598,'(GMT+08:00) Choibalsan',28800000,'Asia/Choibalsan') -INSERT INTO "system$timezone" VALUES(3940649673949599,'(GMT+08:00) Chongqing',28800000,'Asia/Chongqing') -INSERT INTO "system$timezone" VALUES(3940649673949600,'(GMT+08:00) Chungking',28800000,'Asia/Chungking') -INSERT INTO "system$timezone" VALUES(3940649673949601,'(GMT+08:00) Harbin',28800000,'Asia/Harbin') -INSERT INTO "system$timezone" VALUES(3940649673949602,'(GMT+08:00) Hong Kong',28800000,'Asia/Hong_Kong') -INSERT INTO "system$timezone" VALUES(3940649673949603,'(GMT+09:00) Irkutsk',32400000,'Asia/Irkutsk') -INSERT INTO "system$timezone" VALUES(3940649673949604,'(GMT+08:00) Kashgar',28800000,'Asia/Kashgar') -INSERT INTO "system$timezone" VALUES(3940649673949605,'(GMT+08:00) Kuala Lumpur',28800000,'Asia/Kuala_Lumpur') -INSERT INTO "system$timezone" VALUES(3940649673949606,'(GMT+08:00) Kuching',28800000,'Asia/Kuching') -INSERT INTO "system$timezone" VALUES(3940649673949607,'(GMT+08:00) Macao',28800000,'Asia/Macao') -INSERT INTO "system$timezone" VALUES(3940649673949608,'(GMT+08:00) Macau',28800000,'Asia/Macau') -INSERT INTO "system$timezone" VALUES(3940649673949609,'(GMT+08:00) Makassar',28800000,'Asia/Makassar') -INSERT INTO "system$timezone" VALUES(3940649673949610,'(GMT+08:00) Manila',28800000,'Asia/Manila') -INSERT INTO "system$timezone" VALUES(3940649673949611,'(GMT+08:00) Shanghai',28800000,'Asia/Shanghai') -INSERT INTO "system$timezone" VALUES(3940649673949612,'(GMT+08:00) Singapore',28800000,'Asia/Singapore') -INSERT INTO "system$timezone" VALUES(3940649673949613,'(GMT+08:00) Taipei',28800000,'Asia/Taipei') -INSERT INTO "system$timezone" VALUES(3940649673949614,'(GMT+08:00) Ujung Pandang',28800000,'Asia/Ujung_Pandang') -INSERT INTO "system$timezone" VALUES(3940649673949615,'(GMT+08:00) Ulaanbaatar',28800000,'Asia/Ulaanbaatar') -INSERT INTO "system$timezone" VALUES(3940649673949616,'(GMT+08:00) Ulan Bator',28800000,'Asia/Ulan_Bator') -INSERT INTO "system$timezone" VALUES(3940649673949617,'(GMT+08:00) Urumqi',28800000,'Asia/Urumqi') -INSERT INTO "system$timezone" VALUES(3940649673949618,'(GMT+08:00) Perth',28800000,'Australia/Perth') -INSERT INTO "system$timezone" VALUES(3940649673949619,'(GMT+08:00) West',28800000,'Australia/West') -INSERT INTO "system$timezone" VALUES(3940649673949620,'(GMT+08:45) Eucla',31500000,'Australia/Eucla') -INSERT INTO "system$timezone" VALUES(3940649673949621,'(GMT+09:00) Dili',32400000,'Asia/Dili') -INSERT INTO "system$timezone" VALUES(3940649673949622,'(GMT+09:00) Jayapura',32400000,'Asia/Jayapura') -INSERT INTO "system$timezone" VALUES(3940649673949623,'(GMT+09:00) Pyongyang',32400000,'Asia/Pyongyang') -INSERT INTO "system$timezone" VALUES(3940649673949624,'(GMT+09:00) Seoul',32400000,'Asia/Seoul') -INSERT INTO "system$timezone" VALUES(3940649673949625,'(GMT+09:00) Tokyo',32400000,'Asia/Tokyo') -INSERT INTO "system$timezone" VALUES(3940649673949626,'(GMT+10:00) Yakutsk',36000000,'Asia/Yakutsk') -INSERT INTO "system$timezone" VALUES(3940649673949627,'(GMT+09:00) Palau',32400000,'Pacific/Palau') -INSERT INTO "system$timezone" VALUES(3940649673949628,'(GMT+09:30) Adelaide',34200000,'Australia/Adelaide') -INSERT INTO "system$timezone" VALUES(3940649673949629,'(GMT+09:30) Broken Hill',34200000,'Australia/Broken_Hill') -INSERT INTO "system$timezone" VALUES(3940649673949630,'(GMT+09:30) Darwin',34200000,'Australia/Darwin') -INSERT INTO "system$timezone" VALUES(3940649673949631,'(GMT+09:30) North',34200000,'Australia/North') -INSERT INTO "system$timezone" VALUES(3940649673949632,'(GMT+09:30) South',34200000,'Australia/South') -INSERT INTO "system$timezone" VALUES(3940649673949633,'(GMT+09:30) Yancowinna',34200000,'Australia/Yancowinna') -INSERT INTO "system$timezone" VALUES(3940649673949634,'(GMT+10:00) DumontDUrville',36000000,'Antarctica/DumontDUrville') -INSERT INTO "system$timezone" VALUES(3940649673949635,'(GMT+11:00) Sakhalin',39600000,'Asia/Sakhalin') -INSERT INTO "system$timezone" VALUES(3940649673949636,'(GMT+11:00) Vladivostok',39600000,'Asia/Vladivostok') -INSERT INTO "system$timezone" VALUES(3940649673949637,'(GMT+10:00) ACT',36000000,'Australia/ACT') -INSERT INTO "system$timezone" VALUES(3940649673949638,'(GMT+10:00) Brisbane',36000000,'Australia/Brisbane') -INSERT INTO "system$timezone" VALUES(3940649673949639,'(GMT+10:00) Canberra',36000000,'Australia/Canberra') -INSERT INTO "system$timezone" VALUES(3940649673949640,'(GMT+10:00) Currie',36000000,'Australia/Currie') -INSERT INTO "system$timezone" VALUES(3940649673949641,'(GMT+10:00) Hobart',36000000,'Australia/Hobart') -INSERT INTO "system$timezone" VALUES(3940649673949642,'(GMT+10:00) Lindeman',36000000,'Australia/Lindeman') -INSERT INTO "system$timezone" VALUES(3940649673949643,'(GMT+10:00) Melbourne',36000000,'Australia/Melbourne') -INSERT INTO "system$timezone" VALUES(3940649673949644,'(GMT+10:00) NSW',36000000,'Australia/NSW') -INSERT INTO "system$timezone" VALUES(3940649673949645,'(GMT+10:00) Queensland',36000000,'Australia/Queensland') -INSERT INTO "system$timezone" VALUES(3940649673949646,'(GMT+10:00) Sydney',36000000,'Australia/Sydney') -INSERT INTO "system$timezone" VALUES(3940649673949647,'(GMT+10:00) Tasmania',36000000,'Australia/Tasmania') -INSERT INTO "system$timezone" VALUES(3940649673949648,'(GMT+10:00) Victoria',36000000,'Australia/Victoria') -INSERT INTO "system$timezone" VALUES(3940649673949649,'(GMT+10:00) Chuuk',36000000,'Pacific/Chuuk') -INSERT INTO "system$timezone" VALUES(3940649673949650,'(GMT+10:00) Guam',36000000,'Pacific/Guam') -INSERT INTO "system$timezone" VALUES(3940649673949651,'(GMT+10:00) Port Moresby',36000000,'Pacific/Port_Moresby') -INSERT INTO "system$timezone" VALUES(3940649673949652,'(GMT+10:00) Saipan',36000000,'Pacific/Saipan') -INSERT INTO "system$timezone" VALUES(3940649673949653,'(GMT+10:00) Truk',36000000,'Pacific/Truk') -INSERT INTO "system$timezone" VALUES(3940649673949654,'(GMT+10:00) Yap',36000000,'Pacific/Yap') -INSERT INTO "system$timezone" VALUES(3940649673949655,'(GMT+10:30) LHI',37800000,'Australia/LHI') -INSERT INTO "system$timezone" VALUES(3940649673949656,'(GMT+10:30) Lord Howe',37800000,'Australia/Lord_Howe') -INSERT INTO "system$timezone" VALUES(3940649673949657,'(GMT+11:00) Macquarie',39600000,'Antarctica/Macquarie') -INSERT INTO "system$timezone" VALUES(3940649673949658,'(GMT+12:00) Anadyr',43200000,'Asia/Anadyr') -INSERT INTO "system$timezone" VALUES(3940649673949659,'(GMT+12:00) Kamchatka',43200000,'Asia/Kamchatka') -INSERT INTO "system$timezone" VALUES(3940649673949660,'(GMT+12:00) Magadan',43200000,'Asia/Magadan') -INSERT INTO "system$timezone" VALUES(3940649673949661,'(GMT+11:00) Efate',39600000,'Pacific/Efate') -INSERT INTO "system$timezone" VALUES(3940649673949662,'(GMT+11:00) Guadalcanal',39600000,'Pacific/Guadalcanal') -INSERT INTO "system$timezone" VALUES(3940649673949663,'(GMT+11:00) Kosrae',39600000,'Pacific/Kosrae') -INSERT INTO "system$timezone" VALUES(3940649673949664,'(GMT+11:00) Noumea',39600000,'Pacific/Noumea') -INSERT INTO "system$timezone" VALUES(3940649673949665,'(GMT+11:00) Pohnpei',39600000,'Pacific/Pohnpei') -INSERT INTO "system$timezone" VALUES(3940649673949666,'(GMT+11:00) Ponape',39600000,'Pacific/Ponape') -INSERT INTO "system$timezone" VALUES(3940649673949667,'(GMT+11:30) Norfolk',41400000,'Pacific/Norfolk') -INSERT INTO "system$timezone" VALUES(3940649673949668,'(GMT+12:00) McMurdo',43200000,'Antarctica/McMurdo') -INSERT INTO "system$timezone" VALUES(3940649673949669,'(GMT+12:00) South Pole',43200000,'Antarctica/South_Pole') -INSERT INTO "system$timezone" VALUES(3940649673949670,'(GMT+12:00) Auckland',43200000,'Pacific/Auckland') -INSERT INTO "system$timezone" VALUES(3940649673949671,'(GMT+12:00) Fiji',43200000,'Pacific/Fiji') -INSERT INTO "system$timezone" VALUES(3940649673949672,'(GMT+12:00) Funafuti',43200000,'Pacific/Funafuti') -INSERT INTO "system$timezone" VALUES(3940649673949673,'(GMT+12:00) Kwajalein',43200000,'Pacific/Kwajalein') -INSERT INTO "system$timezone" VALUES(3940649673949674,'(GMT+12:00) Majuro',43200000,'Pacific/Majuro') -INSERT INTO "system$timezone" VALUES(3940649673949675,'(GMT+12:00) Nauru',43200000,'Pacific/Nauru') -INSERT INTO "system$timezone" VALUES(3940649673949676,'(GMT+12:00) Tarawa',43200000,'Pacific/Tarawa') -INSERT INTO "system$timezone" VALUES(3940649673949677,'(GMT+12:00) Wake',43200000,'Pacific/Wake') -INSERT INTO "system$timezone" VALUES(3940649673949678,'(GMT+12:00) Wallis',43200000,'Pacific/Wallis') -INSERT INTO "system$timezone" VALUES(3940649673949679,'(GMT+12:45) Chatham',45900000,'Pacific/Chatham') -INSERT INTO "system$timezone" VALUES(3940649673949680,'(GMT+13:00) Enderbury',46800000,'Pacific/Enderbury') -INSERT INTO "system$timezone" VALUES(3940649673949681,'(GMT+13:00) Tongatapu',46800000,'Pacific/Tongatapu') -INSERT INTO "system$timezone" VALUES(3940649673949682,'(GMT+14:00) Kiritimati',50400000,'Pacific/Kiritimati') -INSERT INTO "system$timezone" VALUES(3940649673949685,'(GMT-07:00) Creston',-25200000,'America/Creston') -INSERT INTO "system$timezone" VALUES(3940649673949686,'(GMT-04:00) Kralendijk',-14400000,'America/Kralendijk') -INSERT INTO "system$timezone" VALUES(3940649673949687,'(GMT-04:00) Lower Princes',-14400000,'America/Lower_Princes') -INSERT INTO "system$timezone" VALUES(3940649673949688,'(GMT+01:00) Busingen',3600000,'Europe/Busingen') -INSERT INTO "system$timezone" VALUES(3940649673949689,'(GMT+02:00) Hebron',7200000,'Asia/Hebron') -INSERT INTO "system$timezone" VALUES(3940649673949690,'(GMT+03:00) Juba',10800000,'Africa/Juba') -INSERT INTO "system$timezone" VALUES(3940649673949691,'(GMT+10:00) Khandyga',36000000,'Asia/Khandyga') -INSERT INTO "system$timezone" VALUES(3940649673949692,'(GMT+11:00) Ust-Nera',39600000,'Asia/Ust-Nera') -INSERT INTO "system$timezone" VALUES(3940649673949785,'(GMT+00:00) Troll',0,'Antarctica/Troll') -INSERT INTO "myfirstmodule$settings" VALUES(5629499534213121,FALSE) +SET DATABASE UNIQUE NAME HSQLDB5A6660249F +SET DATABASE GC 0 +SET DATABASE DEFAULT RESULT MEMORY ROWS 0 +SET DATABASE EVENT LOG LEVEL 0 +SET DATABASE TRANSACTION CONTROL MVCC +SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED +SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE +SET DATABASE TEXT TABLE DEFAULTS '' +SET DATABASE SQL NAMES FALSE +SET DATABASE SQL REFERENCES FALSE +SET DATABASE SQL SIZE TRUE +SET DATABASE SQL TYPES FALSE +SET DATABASE SQL TDC DELETE TRUE +SET DATABASE SQL TDC UPDATE TRUE +SET DATABASE SQL TRANSLATE TTI TYPES TRUE +SET DATABASE SQL CONCAT NULLS TRUE +SET DATABASE SQL UNIQUE NULLS TRUE +SET DATABASE SQL CONVERT TRUNCATE TRUE +SET DATABASE SQL AVG SCALE 0 +SET DATABASE SQL DOUBLE NAN TRUE +SET FILES WRITE DELAY 1 +SET FILES BACKUP INCREMENT TRUE +SET FILES CACHE SIZE 10000 +SET FILES CACHE ROWS 50000 +SET FILES SCALE 32 +SET FILES LOB SCALE 32 +SET FILES DEFRAG 0 +SET FILES NIO TRUE +SET FILES NIO SIZE 256 +SET FILES LOG TRUE +SET FILES LOG SIZE 50 +CREATE USER SA PASSWORD DIGEST 'd41d8cd98f00b204e9800998ecf8427e' +ALTER USER SA SET LOCAL TRUE +CREATE SCHEMA PUBLIC AUTHORIZATION DBA +CREATE FUNCTION PUBLIC.MX_TOLOCALDATETIME(IN V TIMESTAMP,IN TIMEZONEID VARCHAR(50)) RETURNS TIMESTAMP SPECIFIC MX_TOLOCALDATETIME_10098 LANGUAGE JAVA DETERMINISTIC NO SQL CALLED ON NULL INPUT EXTERNAL NAME 'CLASSPATH:com.mendix.connectionbus.connections.jdbc.implementations.hsqldb.DateTimeLocalizationConverter.convertToLocalDateTime' +SET SCHEMA PUBLIC +CREATE SEQUENCE PUBLIC."system$filedocument_fileid_mxseq" AS BIGINT START WITH 1 +CREATE SEQUENCE PUBLIC."system$filedocument___filename___mxseq" AS BIGINT START WITH 1 +CREATE MEMORY TABLE PUBLIC."mendixsystem$entity"("id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"entity_name" VARCHAR(511) COLLATE SQL_TEXT_UCC NOT NULL,"table_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"superentity_id" VARCHAR(255) COLLATE SQL_TEXT_UCC) +CREATE INDEX "idx_mendixsystem$entity_entity_name" ON PUBLIC."mendixsystem$entity"("entity_name") +CREATE MEMORY TABLE PUBLIC."mendixsystem$attribute"("id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"entity_id" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"attribute_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"column_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"type" INTEGER NOT NULL,"length" INTEGER,"default_value" VARCHAR(2147483647) COLLATE SQL_TEXT_UCC,"is_auto_number" BOOLEAN NOT NULL) +CREATE MEMORY TABLE PUBLIC."mendixsystem$index"("id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"table_id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL,"index_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL) +CREATE MEMORY TABLE PUBLIC."mendixsystem$index_column"("index_id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL,"column_id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL,"sort_order" BOOLEAN NOT NULL,"ordinal" INTEGER NOT NULL,PRIMARY KEY("index_id","column_id")) +CREATE MEMORY TABLE PUBLIC."mendixsystem$association"("id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"association_name" VARCHAR(511) COLLATE SQL_TEXT_UCC NOT NULL,"table_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"parent_entity_id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL,"child_entity_id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL,"parent_column_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"child_column_name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"pk_index_name" VARCHAR(255) COLLATE SQL_TEXT_UCC,"index_name" VARCHAR(255) COLLATE SQL_TEXT_UCC) +CREATE MEMORY TABLE PUBLIC."mendixsystem$version"("versionnumber" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"lastsyncdate" TIMESTAMP NOT NULL,"preanalysismigrationversionnumber" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"modelversionnumber" VARCHAR(255) COLLATE SQL_TEXT_UCC,"sprintrprojectname" VARCHAR(511) COLLATE SQL_TEXT_UCC) +CREATE MEMORY TABLE PUBLIC."mendixsystem$sequence"("name" VARCHAR(255) COLLATE SQL_TEXT_UCC NOT NULL,"attribute_id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"start_value" BIGINT NOT NULL,"current_value" BIGINT) +CREATE INDEX "idx_mendixsystem$sequence_name" ON PUBLIC."mendixsystem$sequence"("name") +CREATE MEMORY TABLE PUBLIC."mendixsystem$entityidentifier"("id" VARCHAR(36) COLLATE SQL_TEXT_UCC NOT NULL PRIMARY KEY,"short_id" SMALLINT,"object_sequence" BIGINT) +CREATE INDEX "idx_mendixsystem$entityidentifier_short_id" ON PUBLIC."mendixsystem$entityidentifier"("short_id") +CREATE MEMORY TABLE PUBLIC."system$filedocument"("id" BIGINT NOT NULL PRIMARY KEY,"__uuid__" VARCHAR(36) COLLATE SQL_TEXT_UCC,"deleteafterdownload" BOOLEAN,"changeddate" TIMESTAMP,"contents" VARBINARY(16777216),"createddate" TIMESTAMP,"hascontents" BOOLEAN,"fileid" BIGINT,"__filename__" BIGINT,"name" VARCHAR(400) COLLATE SQL_TEXT_UCC,"submetaobjectname" VARCHAR(255) COLLATE SQL_TEXT_UCC,"system$owner" BIGINT,"system$changedby" BIGINT) +CREATE INDEX "idx_system$filedocument_fileid" ON PUBLIC."system$filedocument"("fileid","id") +CREATE INDEX "idx_system$filedocument_submetaobjectname" ON PUBLIC."system$filedocument"("submetaobjectname","id") +CREATE INDEX "idx_system$filedocument_system$owner" ON PUBLIC."system$filedocument"("system$owner","id") +CREATE INDEX "idx_system$filedocument_system$changedby" ON PUBLIC."system$filedocument"("system$changedby","id") +CREATE MEMORY TABLE PUBLIC."system$user"("id" BIGINT NOT NULL PRIMARY KEY,"changeddate" TIMESTAMP,"active" BOOLEAN,"createddate" TIMESTAMP,"lastlogin" TIMESTAMP,"webserviceuser" BOOLEAN,"isanonymous" BOOLEAN,"failedlogins" INTEGER,"blocked" BOOLEAN,"name" VARCHAR(100) COLLATE SQL_TEXT_UCC,"password" VARCHAR(200) COLLATE SQL_TEXT_UCC,"submetaobjectname" VARCHAR(255) COLLATE SQL_TEXT_UCC,"system$changedby" BIGINT,"system$owner" BIGINT) +CREATE INDEX "idx_system$user_name" ON PUBLIC."system$user"("name","id") +CREATE INDEX "idx_system$user_submetaobjectname" ON PUBLIC."system$user"("submetaobjectname","id") +CREATE INDEX "idx_system$user_system$changedby" ON PUBLIC."system$user"("system$changedby","id") +CREATE INDEX "idx_system$user_system$owner" ON PUBLIC."system$user"("system$owner","id") +CREATE MEMORY TABLE PUBLIC."system$user_language"("system$userid" BIGINT NOT NULL,"system$languageid" BIGINT NOT NULL,PRIMARY KEY("system$userid","system$languageid")) +CREATE INDEX "idx_system$user_language_system$language_system$user" ON PUBLIC."system$user_language"("system$languageid","system$userid") +CREATE MEMORY TABLE PUBLIC."system$user_timezone"("system$userid" BIGINT NOT NULL,"system$timezoneid" BIGINT NOT NULL,PRIMARY KEY("system$userid","system$timezoneid")) +CREATE INDEX "idx_system$user_timezone_system$timezone_system$user" ON PUBLIC."system$user_timezone"("system$timezoneid","system$userid") +CREATE MEMORY TABLE PUBLIC."system$userroles"("system$userid" BIGINT NOT NULL,"system$userroleid" BIGINT NOT NULL,PRIMARY KEY("system$userid","system$userroleid")) +CREATE INDEX "idx_system$userroles_system$userrole_system$user" ON PUBLIC."system$userroles"("system$userroleid","system$userid") +CREATE MEMORY TABLE PUBLIC."system$xasinstance"("id" BIGINT NOT NULL PRIMARY KEY,"xasid" VARCHAR(50) COLLATE SQL_TEXT_UCC,"createddate" TIMESTAMP,"lastupdate" TIMESTAMP,"allowednumberofconcurrentusers" INTEGER,"customername" VARCHAR(200) COLLATE SQL_TEXT_UCC,"partnername" VARCHAR(200) COLLATE SQL_TEXT_UCC) +CREATE MEMORY TABLE PUBLIC."system$thumbnail"("id" BIGINT NOT NULL PRIMARY KEY) +CREATE MEMORY TABLE PUBLIC."system$thumbnail_image"("system$thumbnailid" BIGINT NOT NULL,"system$imageid" BIGINT NOT NULL,PRIMARY KEY("system$thumbnailid","system$imageid")) +CREATE INDEX "idx_system$thumbnail_image_system$image_system$thumbnail" ON PUBLIC."system$thumbnail_image"("system$imageid","system$thumbnailid") +CREATE MEMORY TABLE PUBLIC."system$backgroundjob"("id" BIGINT NOT NULL PRIMARY KEY,"endtime" TIMESTAMP,"starttime" TIMESTAMP,"successful" BOOLEAN,"jobid" BIGINT,"result" VARCHAR(2147483647) COLLATE SQL_TEXT_UCC) +CREATE INDEX "idx_system$backgroundjob_jobid" ON PUBLIC."system$backgroundjob"("jobid","id") +CREATE MEMORY TABLE PUBLIC."system$backgroundjob_session"("system$backgroundjobid" BIGINT NOT NULL,"system$sessionid" BIGINT NOT NULL,PRIMARY KEY("system$backgroundjobid","system$sessionid")) +CREATE INDEX "idx_system$backgroundjob_session_system$session_system$backgroundjob" ON PUBLIC."system$backgroundjob_session"("system$sessionid","system$backgroundjobid") +CREATE MEMORY TABLE PUBLIC."system$backgroundjob_xasinstance"("system$backgroundjobid" BIGINT NOT NULL,"system$xasinstanceid" BIGINT NOT NULL,PRIMARY KEY("system$backgroundjobid","system$xasinstanceid")) +CREATE INDEX "idx_system$backgroundjob_xasinstance_system$xasinstance_system$backgroundjob" ON PUBLIC."system$backgroundjob_xasinstance"("system$xasinstanceid","system$backgroundjobid") +CREATE MEMORY TABLE PUBLIC."system$scheduledeventinformation"("id" BIGINT NOT NULL PRIMARY KEY,"status" VARCHAR(9) COLLATE SQL_TEXT_UCC,"description" VARCHAR(2147483647) COLLATE SQL_TEXT_UCC,"endtime" TIMESTAMP,"starttime" TIMESTAMP,"name" VARCHAR(200) COLLATE SQL_TEXT_UCC) +CREATE MEMORY TABLE PUBLIC."system$state"("id" BIGINT NOT NULL PRIMARY KEY,"serverid" VARCHAR(36) COLLATE SQL_TEXT_UCC,"createddate" TIMESTAMP,"objectid" BIGINT,"content" VARCHAR(2147483647) COLLATE SQL_TEXT_UCC,"removed" BOOLEAN,"sessionid" VARCHAR(36) COLLATE SQL_TEXT_UCC) +CREATE INDEX "idx_system$state_sessionid_objectid_removed" ON PUBLIC."system$state"("sessionid","objectid","removed","id") +CREATE MEMORY TABLE PUBLIC."system$privatefiledocument"("id" BIGINT NOT NULL PRIMARY KEY) +CREATE MEMORY TABLE PUBLIC."myfirstmodule$camera"("id" BIGINT NOT NULL PRIMARY KEY,"name" VARCHAR(200) COLLATE SQL_TEXT_UCC,"location" VARCHAR(200) COLLATE SQL_TEXT_UCC) +CREATE MEMORY TABLE PUBLIC."system$timezone"("id" BIGINT NOT NULL PRIMARY KEY,"description" VARCHAR(100) COLLATE SQL_TEXT_UCC,"rawoffset" INTEGER,"code" VARCHAR(50) COLLATE SQL_TEXT_UCC) +CREATE MEMORY TABLE PUBLIC."system$statistics"("id" BIGINT NOT NULL PRIMARY KEY,"createddate" TIMESTAMP,"lastupdate" TIMESTAMP,"maxnumberofanonymousconcurrentusers" INTEGER,"maxnumberofnamedusers" INTEGER,"maxnumberofconcurrentusers" INTEGER) +CREATE MEMORY TABLE PUBLIC."system$clustermanager"("system$statisticsid" BIGINT NOT NULL,"system$xasinstanceid" BIGINT NOT NULL,PRIMARY KEY("system$statisticsid","system$xasinstanceid")) +CREATE INDEX "idx_system$clustermanager_system$xasinstance_system$statistics" ON PUBLIC."system$clustermanager"("system$xasinstanceid","system$statisticsid") +CREATE MEMORY TABLE PUBLIC."system$userrole"("id" BIGINT NOT NULL PRIMARY KEY,"modelguid" VARCHAR(36) COLLATE SQL_TEXT_UCC,"description" VARCHAR(1000) COLLATE SQL_TEXT_UCC,"name" VARCHAR(100) COLLATE SQL_TEXT_UCC) +CREATE INDEX "idx_system$userrole_name" ON PUBLIC."system$userrole"("name","id") +CREATE MEMORY TABLE PUBLIC."system$grantableroles"("system$userroleid1" BIGINT NOT NULL,"system$userroleid2" BIGINT NOT NULL,PRIMARY KEY("system$userroleid1","system$userroleid2")) +CREATE INDEX "idx_system$grantableroles_system$userrole_system$userrole" ON PUBLIC."system$grantableroles"("system$userroleid2","system$userroleid1") +CREATE MEMORY TABLE PUBLIC."system$session"("id" BIGINT NOT NULL PRIMARY KEY,"createddate" TIMESTAMP,"csrftoken" VARCHAR(36) COLLATE SQL_TEXT_UCC,"lastactive" TIMESTAMP,"sessionid" VARCHAR(50) COLLATE SQL_TEXT_UCC) +CREATE INDEX "idx_system$session_sessionid" ON PUBLIC."system$session"("sessionid","id") +CREATE MEMORY TABLE PUBLIC."system$session_user"("system$sessionid" BIGINT NOT NULL,"system$userid" BIGINT NOT NULL,PRIMARY KEY("system$sessionid","system$userid")) +CREATE INDEX "idx_system$session_user_system$user_system$session" ON PUBLIC."system$session_user"("system$userid","system$sessionid") +CREATE MEMORY TABLE PUBLIC."system$tokeninformation"("id" BIGINT NOT NULL PRIMARY KEY,"expirydate" TIMESTAMP,"useragent" VARCHAR(2147483647) COLLATE SQL_TEXT_UCC,"token" VARCHAR(200) COLLATE SQL_TEXT_UCC) +CREATE MEMORY TABLE PUBLIC."system$tokeninformation_user"("system$tokeninformationid" BIGINT NOT NULL,"system$userid" BIGINT NOT NULL,PRIMARY KEY("system$tokeninformationid","system$userid")) +CREATE INDEX "idx_system$tokeninformation_user_system$user_system$tokeninformation" ON PUBLIC."system$tokeninformation_user"("system$userid","system$tokeninformationid") +CREATE MEMORY TABLE PUBLIC."system$image"("id" BIGINT NOT NULL PRIMARY KEY,"publicthumbnailpath" VARCHAR(500) COLLATE SQL_TEXT_UCC) +CREATE MEMORY TABLE PUBLIC."administration$account"("id" BIGINT NOT NULL PRIMARY KEY,"email" VARCHAR(200) COLLATE SQL_TEXT_UCC,"fullname" VARCHAR(200) COLLATE SQL_TEXT_UCC,"islocaluser" BOOLEAN) +CREATE MEMORY TABLE PUBLIC."system$autocommitentry"("id" BIGINT NOT NULL PRIMARY KEY,"createddate" TIMESTAMP,"objectid" BIGINT,"sessionid" VARCHAR(36) COLLATE SQL_TEXT_UCC) +CREATE INDEX "idx_system$autocommitentry_sessionid_objectid" ON PUBLIC."system$autocommitentry"("sessionid","objectid","id") +CREATE MEMORY TABLE PUBLIC."system$language"("id" BIGINT NOT NULL PRIMARY KEY,"description" VARCHAR(200) COLLATE SQL_TEXT_UCC,"code" VARCHAR(20) COLLATE SQL_TEXT_UCC) +ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1 +ALTER SEQUENCE PUBLIC."system$filedocument_fileid_mxseq" RESTART WITH 1 +ALTER SEQUENCE PUBLIC."system$filedocument___filename___mxseq" RESTART WITH 1 +SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC +GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC +GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC +GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC +GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC +GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC +GRANT DBA TO SA +SET SCHEMA SYSTEM_LOBS +INSERT INTO BLOCKS VALUES(0,2147483647,0) +SET SCHEMA PUBLIC +INSERT INTO "mendixsystem$entity" VALUES('09b2f0fe-4a11-4afc-a16e-94992a3ebc3d','System.TokenInformation','system$tokeninformation',NULL) +INSERT INTO "mendixsystem$entity" VALUES('170ce49d-f29c-4fac-99a6-b55e8a3aeb39','System.FileDocument','system$filedocument',NULL) +INSERT INTO "mendixsystem$entity" VALUES('282e2e60-88a5-469d-84a5-ba8d9151644f','System.User','system$user',NULL) +INSERT INTO "mendixsystem$entity" VALUES('3078a23e-13b2-4a9b-84e4-2881fdee53c6','Administration.Account','administration$account','282e2e60-88a5-469d-84a5-ba8d9151644f') +INSERT INTO "mendixsystem$entity" VALUES('37827192-315d-4ab6-85b8-f626f866ea76','System.Image','system$image','170ce49d-f29c-4fac-99a6-b55e8a3aeb39') +INSERT INTO "mendixsystem$entity" VALUES('37f9fd49-5318-4c63-9a51-f761779b202f','System.Session','system$session',NULL) +INSERT INTO "mendixsystem$entity" VALUES('3b6f5ca3-28d6-4581-b26e-7ce5bd0e6eeb','System.PrivateFileDocument','system$privatefiledocument','170ce49d-f29c-4fac-99a6-b55e8a3aeb39') +INSERT INTO "mendixsystem$entity" VALUES('4babd4c0-b903-4cb4-b1af-e59c4a5fcf3d','System.Thumbnail','system$thumbnail','170ce49d-f29c-4fac-99a6-b55e8a3aeb39') +INSERT INTO "mendixsystem$entity" VALUES('660db38b-5ab4-4d15-b649-93a947ecea82','System.BackgroundJob','system$backgroundjob',NULL) +INSERT INTO "mendixsystem$entity" VALUES('67c28960-7a7a-11e6-bdf4-0800200c9a66','System.AutoCommitEntry','system$autocommitentry',NULL) +INSERT INTO "mendixsystem$entity" VALUES('685df5a6-1e02-49bb-a0b5-5a55c5e8313d','System.ScheduledEventInformation','system$scheduledeventinformation',NULL) +INSERT INTO "mendixsystem$entity" VALUES('76805df3-dede-435f-92a6-d6525c68a693','System.Language','system$language',NULL) +INSERT INTO "mendixsystem$entity" VALUES('7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f','System.TimeZone','system$timezone',NULL) +INSERT INTO "mendixsystem$entity" VALUES('92ef30a6-de04-423c-84fd-a21e9b9eeae2','System.UserRole','system$userrole',NULL) +INSERT INTO "mendixsystem$entity" VALUES('d4154981-8dac-4150-aec5-efa3ef62a7a2','System.XASInstance','system$xasinstance',NULL) +INSERT INTO "mendixsystem$entity" VALUES('d60d37c4-60b7-4702-b327-308f9d4b2536','MyFirstModule.Camera','myfirstmodule$camera',NULL) +INSERT INTO "mendixsystem$entity" VALUES('e91fb9bf-5362-4b23-bfa1-e4ec4127887c','System.State','system$state',NULL) +INSERT INTO "mendixsystem$entity" VALUES('efabe590-d3e2-4b24-9c39-836a367d217f','System.Statistics','system$statistics',NULL) +INSERT INTO "mendixsystem$attribute" VALUES('040db5be-7810-48b3-a569-516191e8803d','282e2e60-88a5-469d-84a5-ba8d9151644f','LastLogin','lastlogin',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('0b9398e4-9bb7-4ab8-958c-43526f2c83bf','09b2f0fe-4a11-4afc-a16e-94992a3ebc3d','UserAgent','useragent',30,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('0c2b42ef-02bd-3783-bf55-02a92f4275c7','37f9fd49-5318-4c63-9a51-f761779b202f','createdDate','createddate',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('0c4060ab-4901-419c-a184-81f20fa0460e','d4154981-8dac-4150-aec5-efa3ef62a7a2','LastUpdate','lastupdate',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('0f81688b-e719-4204-8f86-8fcd664a0992','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','FileID','fileid',0,0,'1',TRUE) +INSERT INTO "mendixsystem$attribute" VALUES('1060f919-60c9-4f90-91ee-81b4bf584bcd','7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f','RawOffset','rawoffset',3,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('15e3e13d-2df6-4d8a-a1cc-58eea4cec602','282e2e60-88a5-469d-84a5-ba8d9151644f','WebServiceUser','webserviceuser',10,0,'false',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('1ffdcb00-e7a4-4303-8b40-2319d9ba01b7','37f9fd49-5318-4c63-9a51-f761779b202f','LastActive','lastactive',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('232789b0-d35f-4a51-a8fd-e017ea67264d','e91fb9bf-5362-4b23-bfa1-e4ec4127887c','Removed','removed',10,0,'false',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('245def96-0172-3d83-96fe-0ee1ba825f26','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','changedDate','changeddate',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('25049e59-64d2-439e-bd9d-30960a479680','e91fb9bf-5362-4b23-bfa1-e4ec4127887c','SessionId','sessionid',30,36,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('26ccae8a-22b1-4899-87c9-c5b4915dbf28','685df5a6-1e02-49bb-a0b5-5a55c5e8313d','Description','description',30,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('28d526e0-915b-466f-80c8-56af32ece225','282e2e60-88a5-469d-84a5-ba8d9151644f','IsAnonymous','isanonymous',10,0,'false',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('2c0c77ad-fc8e-4819-bf45-51548b813f2b','efabe590-d3e2-4b24-9c39-836a367d217f','MaxNumberOfAnonymousConcurrentUsers','maxnumberofanonymousconcurrentusers',3,0,'0',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('2c252288-582f-38a1-8929-bae57eebacfb','efabe590-d3e2-4b24-9c39-836a367d217f','createdDate','createddate',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('2dbe88f5-2b15-4ec3-b295-2e2b496a1ebd','d4154981-8dac-4150-aec5-efa3ef62a7a2','AllowedNumberOfConcurrentUsers','allowednumberofconcurrentusers',3,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('33adad79-f658-4e69-8c58-e003fb3c78be','685df5a6-1e02-49bb-a0b5-5a55c5e8313d','EndTime','endtime',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('3501ab9f-42c7-46e4-ac8f-c51e256c934e','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','Name','name',30,400,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('3a3aca86-2f34-4038-a62f-7c0654ce21b7','92ef30a6-de04-423c-84fd-a21e9b9eeae2','Name','name',30,100,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('3cb7dc95-eac8-4999-8af4-492a4f2c0d73','92ef30a6-de04-423c-84fd-a21e9b9eeae2','ModelGUID','modelguid',30,36,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('41c141fa-700b-44de-870d-1aa971e11689','37827192-315d-4ab6-85b8-f626f866ea76','PublicThumbnailPath','publicthumbnailpath',30,500,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('42eb180e-36df-4325-8b97-dec1e16f0e99','3078a23e-13b2-4a9b-84e4-2881fdee53c6','FullName','fullname',30,200,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('4359850e-675d-49db-a25c-d78ee530dc33','d4154981-8dac-4150-aec5-efa3ef62a7a2','PartnerName','partnername',30,200,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('444cda15-e7f4-43e7-a8d3-69c06081d868','efabe590-d3e2-4b24-9c39-836a367d217f','LastUpdate','lastupdate',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('4c9627fb-3b64-4239-95eb-f51fb8d3f2b3','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','HasContents','hascontents',10,0,'false',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('542b537f-c419-4e32-a1d3-aee662c3ba80','3078a23e-13b2-4a9b-84e4-2881fdee53c6','Email','email',30,200,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('5f76c7cc-8f70-4b9b-98d4-47dc05b23fe7','e91fb9bf-5362-4b23-bfa1-e4ec4127887c','Content','content',30,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('5fecca4d-0f28-484d-9fe7-1afde250b07d','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','DeleteAfterDownload','deleteafterdownload',10,0,'false',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('651e7007-7fcd-43b3-a918-a0de81de34bf','685df5a6-1e02-49bb-a0b5-5a55c5e8313d','StartTime','starttime',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('65b02632-d981-3a1c-8ec5-2a36fe6fd7d8','d4154981-8dac-4150-aec5-efa3ef62a7a2','createdDate','createddate',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('67c28961-7a7a-11e6-bdf4-0800200c9a66','67c28960-7a7a-11e6-bdf4-0800200c9a66','SessionId','sessionid',30,36,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('67c28962-7a7a-11e6-bdf4-0800200c9a66','67c28960-7a7a-11e6-bdf4-0800200c9a66','ObjectId','objectid',4,0,'0',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('69acb4a2-be26-4cc5-902a-a8591d357510','282e2e60-88a5-469d-84a5-ba8d9151644f','Name','name',30,100,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('6abafab4-6a96-46c0-9475-b72cc4d3ffd6','7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f','Code','code',30,50,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('6d2a7545-4e52-4c5d-ac02-0b8211d0585f','685df5a6-1e02-49bb-a0b5-5a55c5e8313d','Status','status',40,9,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('7a969d17-cc90-480e-85b0-b96951b8ae2c','e91fb9bf-5362-4b23-bfa1-e4ec4127887c','ServerId','serverid',30,36,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('7ca1bcd3-9355-472f-9e3f-4440366297d6','d4154981-8dac-4150-aec5-efa3ef62a7a2','CustomerName','customername',30,200,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('84845531-dbd9-4e00-8afb-c2adc08699bb','282e2e60-88a5-469d-84a5-ba8d9151644f','FailedLogins','failedlogins',3,0,'0',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('8655b482-0ac3-31db-8289-b05f505b77cb','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','createdDate','createddate',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('88390044-5b74-4e71-8b88-a6e4e91f6f2e','76805df3-dede-435f-92a6-d6525c68a693','Code','code',30,20,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('8b7184a0-cd05-4c75-89f9-be6e9349783b','685df5a6-1e02-49bb-a0b5-5a55c5e8313d','Name','name',30,200,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('8bb77a0c-0461-43f9-bb27-e91fb9e3623f','09b2f0fe-4a11-4afc-a16e-94992a3ebc3d','ExpiryDate','expirydate',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('91b58eb9-c16c-4e33-b66b-28489e7fb783','d4154981-8dac-4150-aec5-efa3ef62a7a2','XASId','xasid',30,50,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('94d786ce-33a5-3957-a0cf-4daef897aa64','e91fb9bf-5362-4b23-bfa1-e4ec4127887c','createdDate','createddate',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('954c43f0-3333-4264-813b-e8f1c8f2f0b6','7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f','Description','description',30,100,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('96445370-6fed-11e4-9803-0800200c9a66','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','__UUID__','__uuid__',30,36,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('97bcc327-4d2b-4a28-a57a-7e7437416bfe','660db38b-5ab4-4d15-b649-93a947ecea82','JobId','jobid',4,0,'0',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('9c09d4eb-9c9c-303e-951e-8c3ea32db37a','282e2e60-88a5-469d-84a5-ba8d9151644f','createdDate','createddate',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('9c471b02-f266-4e27-9e2f-907d0fad6552','660db38b-5ab4-4d15-b649-93a947ecea82','EndTime','endtime',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('a02027b1-e24d-49fc-9b3f-ade644070879','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','__FileName__','__filename__',0,0,'1',TRUE) +INSERT INTO "mendixsystem$attribute" VALUES('a169a8d1-b10f-427b-b492-3aebeabb7cd6','09b2f0fe-4a11-4afc-a16e-94992a3ebc3d','Token','token',30,200,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('a33fbc53-ecf5-46c5-bad2-a364686e19dc','92ef30a6-de04-423c-84fd-a21e9b9eeae2','Description','description',30,1000,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('b22d0982-fbee-43a7-8d20-c200d319a3e5','282e2e60-88a5-469d-84a5-ba8d9151644f','Active','active',10,0,'true',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('b51ea62a-1838-3f74-9c5f-07b5b5a92a45','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','submetaobjectname','submetaobjectname',30,255,'System.FileDocument',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('b604031a-9950-4d3a-b5c1-bcfe77889412','e91fb9bf-5362-4b23-bfa1-e4ec4127887c','ObjectId','objectid',4,0,'0',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('bbe9c632-f0be-31a1-a709-ab0d57c79c84','67c28960-7a7a-11e6-bdf4-0800200c9a66','createdDate','createddate',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('bd4639e4-cc4d-4739-b5c5-02380440f7a0','d60d37c4-60b7-4702-b327-308f9d4b2536','Location','location',30,200,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('c2dd7e10-28b4-304c-9ddf-104be6be9cde','282e2e60-88a5-469d-84a5-ba8d9151644f','submetaobjectname','submetaobjectname',30,255,'System.User',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('c33867e7-7263-4ce6-826a-714e7493f07a','660db38b-5ab4-4d15-b649-93a947ecea82','Result','result',30,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('c56553ba-a3d4-4d9e-bc81-e61ee64da79b','660db38b-5ab4-4d15-b649-93a947ecea82','Successful','successful',10,0,'false',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('c9cf945d-4a51-49fd-8ac0-fe1f8998e059','efabe590-d3e2-4b24-9c39-836a367d217f','MaxNumberOfConcurrentUsers','maxnumberofconcurrentusers',3,0,'0',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('d149bcc3-5e80-46da-ac3f-ee734a64cce1','282e2e60-88a5-469d-84a5-ba8d9151644f','Blocked','blocked',10,0,'false',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('d50c78a5-d740-4a76-a356-47659cfd515e','37f9fd49-5318-4c63-9a51-f761779b202f','SessionId','sessionid',30,50,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('d5aa1ceb-6dfe-457b-afb7-e969a814eafd','660db38b-5ab4-4d15-b649-93a947ecea82','StartTime','starttime',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('d879cb38-5630-4fdf-9e39-f03da0aa8ede','76805df3-dede-435f-92a6-d6525c68a693','Description','description',30,200,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('e6dfb82a-54fe-4fcd-a513-a086f508c2db','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','Contents','contents',50,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('e9446b4c-b0f6-3f04-8b0a-264d2384b449','282e2e60-88a5-469d-84a5-ba8d9151644f','changedDate','changeddate',20,0,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('eeab471f-6a7b-4a0d-b819-6e1738860082','d60d37c4-60b7-4702-b327-308f9d4b2536','Name','name',30,200,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('ef366bc1-ac94-4fd6-bafd-7cee2be459e6','282e2e60-88a5-469d-84a5-ba8d9151644f','Password','password',30,200,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('f2e32aad-4142-4256-babb-64d2944c35a1','efabe590-d3e2-4b24-9c39-836a367d217f','MaxNumberOfNamedUsers','maxnumberofnamedusers',3,0,'0',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('f4d19200-071c-45e5-af25-321354f0702b','37f9fd49-5318-4c63-9a51-f761779b202f','CSRFToken','csrftoken',30,36,'',FALSE) +INSERT INTO "mendixsystem$attribute" VALUES('fbe83167-74ba-425b-a405-c99de7fd0a4b','3078a23e-13b2-4a9b-84e4-2881fdee53c6','IsLocalUser','islocaluser',10,0,'true',FALSE) +INSERT INTO "mendixsystem$index" VALUES('291e0cde-0e23-351e-8001-6240437d1e0e','282e2e60-88a5-469d-84a5-ba8d9151644f','idx_system$user_system$changedby') +INSERT INTO "mendixsystem$index" VALUES('31f2e3e5-7f5a-42c4-b66e-f9c44a79a539','e91fb9bf-5362-4b23-bfa1-e4ec4127887c','idx_system$state_sessionid_objectid_removed') +INSERT INTO "mendixsystem$index" VALUES('3515901d-e8f5-3173-87bb-11ae532c243e','282e2e60-88a5-469d-84a5-ba8d9151644f','idx_system$user_system$owner') +INSERT INTO "mendixsystem$index" VALUES('5711e9d5-7b67-4579-b730-2ed0b852b799','282e2e60-88a5-469d-84a5-ba8d9151644f','idx_system$user_name') +INSERT INTO "mendixsystem$index" VALUES('6127a5ae-0a96-4df5-9856-17baf94b2351','37f9fd49-5318-4c63-9a51-f761779b202f','idx_system$session_sessionid') +INSERT INTO "mendixsystem$index" VALUES('67c28963-7a7a-11e6-bdf4-0800200c9a66','67c28960-7a7a-11e6-bdf4-0800200c9a66','idx_system$autocommitentry_sessionid_objectid') +INSERT INTO "mendixsystem$index" VALUES('6ceea2cb-6acf-457a-852f-eb7deab79430','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','idx_system$filedocument_fileid') +INSERT INTO "mendixsystem$index" VALUES('a1966801-fcea-3251-82e4-bf4178bdc504','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','idx_system$filedocument_system$changedby') +INSERT INTO "mendixsystem$index" VALUES('a46808f5-f89a-41eb-81e2-217968eac118','92ef30a6-de04-423c-84fd-a21e9b9eeae2','idx_system$userrole_name') +INSERT INTO "mendixsystem$index" VALUES('a5c117d9-85fc-365e-9a66-909509269987','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','idx_system$filedocument_system$owner') +INSERT INTO "mendixsystem$index" VALUES('a5ff48ca-56d6-4f43-8e3a-7743fd025974','660db38b-5ab4-4d15-b649-93a947ecea82','idx_system$backgroundjob_jobid') +INSERT INTO "mendixsystem$index" VALUES('d45d41fb-40ec-3b91-becf-455eb7f35bff','282e2e60-88a5-469d-84a5-ba8d9151644f','idx_system$user_submetaobjectname') +INSERT INTO "mendixsystem$index" VALUES('dfd88a6e-a3b6-3080-b6cc-d5c61334281d','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','idx_system$filedocument_submetaobjectname') +INSERT INTO "mendixsystem$index_column" VALUES('291e0cde-0e23-351e-8001-6240437d1e0e','6013226d-aeae-3cd2-acec-d95d8bd5c3ad',FALSE,0) +INSERT INTO "mendixsystem$index_column" VALUES('31f2e3e5-7f5a-42c4-b66e-f9c44a79a539','232789b0-d35f-4a51-a8fd-e017ea67264d',FALSE,2) +INSERT INTO "mendixsystem$index_column" VALUES('31f2e3e5-7f5a-42c4-b66e-f9c44a79a539','25049e59-64d2-439e-bd9d-30960a479680',FALSE,0) +INSERT INTO "mendixsystem$index_column" VALUES('31f2e3e5-7f5a-42c4-b66e-f9c44a79a539','b604031a-9950-4d3a-b5c1-bcfe77889412',FALSE,1) +INSERT INTO "mendixsystem$index_column" VALUES('3515901d-e8f5-3173-87bb-11ae532c243e','07738295-23fe-3fc1-832b-ed18b22727f0',FALSE,0) +INSERT INTO "mendixsystem$index_column" VALUES('5711e9d5-7b67-4579-b730-2ed0b852b799','69acb4a2-be26-4cc5-902a-a8591d357510',FALSE,0) +INSERT INTO "mendixsystem$index_column" VALUES('6127a5ae-0a96-4df5-9856-17baf94b2351','d50c78a5-d740-4a76-a356-47659cfd515e',FALSE,0) +INSERT INTO "mendixsystem$index_column" VALUES('67c28963-7a7a-11e6-bdf4-0800200c9a66','67c28961-7a7a-11e6-bdf4-0800200c9a66',FALSE,0) +INSERT INTO "mendixsystem$index_column" VALUES('67c28963-7a7a-11e6-bdf4-0800200c9a66','67c28962-7a7a-11e6-bdf4-0800200c9a66',FALSE,1) +INSERT INTO "mendixsystem$index_column" VALUES('6ceea2cb-6acf-457a-852f-eb7deab79430','0f81688b-e719-4204-8f86-8fcd664a0992',FALSE,0) +INSERT INTO "mendixsystem$index_column" VALUES('a1966801-fcea-3251-82e4-bf4178bdc504','956c1382-b9fc-3367-b0b2-cb67ee9ef13f',FALSE,0) +INSERT INTO "mendixsystem$index_column" VALUES('a46808f5-f89a-41eb-81e2-217968eac118','3a3aca86-2f34-4038-a62f-7c0654ce21b7',FALSE,0) +INSERT INTO "mendixsystem$index_column" VALUES('a5c117d9-85fc-365e-9a66-909509269987','1442c9da-d4ae-3cf5-b3c0-6c878743e4e5',FALSE,0) +INSERT INTO "mendixsystem$index_column" VALUES('a5ff48ca-56d6-4f43-8e3a-7743fd025974','97bcc327-4d2b-4a28-a57a-7e7437416bfe',FALSE,0) +INSERT INTO "mendixsystem$index_column" VALUES('d45d41fb-40ec-3b91-becf-455eb7f35bff','c2dd7e10-28b4-304c-9ddf-104be6be9cde',FALSE,0) +INSERT INTO "mendixsystem$index_column" VALUES('dfd88a6e-a3b6-3080-b6cc-d5c61334281d','b51ea62a-1838-3f74-9c5f-07b5b5a92a45',FALSE,0) +INSERT INTO "mendixsystem$association" VALUES('00640985-3c73-4b15-9705-d4ec3ff58e6b','System.User_Language','system$user_language','282e2e60-88a5-469d-84a5-ba8d9151644f','76805df3-dede-435f-92a6-d6525c68a693','system$userid','system$languageid',NULL,'idx_system$user_language_system$language_system$user') +INSERT INTO "mendixsystem$association" VALUES('07738295-23fe-3fc1-832b-ed18b22727f0','System.owner','system$owner','282e2e60-88a5-469d-84a5-ba8d9151644f','282e2e60-88a5-469d-84a5-ba8d9151644f','id','system$owner',NULL,NULL) +INSERT INTO "mendixsystem$association" VALUES('1442c9da-d4ae-3cf5-b3c0-6c878743e4e5','System.owner','system$owner','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','282e2e60-88a5-469d-84a5-ba8d9151644f','id','system$owner',NULL,NULL) +INSERT INTO "mendixsystem$association" VALUES('19892a2b-f17a-4c29-80c1-c81f8025b36c','System.BackgroundJob_Session','system$backgroundjob_session','660db38b-5ab4-4d15-b649-93a947ecea82','37f9fd49-5318-4c63-9a51-f761779b202f','system$backgroundjobid','system$sessionid',NULL,'idx_system$backgroundjob_session_system$session_system$backgroundjob') +INSERT INTO "mendixsystem$association" VALUES('1adca745-c7a9-44ff-92bb-5d41cb2a1743','System.grantableRoles','system$grantableroles','92ef30a6-de04-423c-84fd-a21e9b9eeae2','92ef30a6-de04-423c-84fd-a21e9b9eeae2','system$userroleid1','system$userroleid2',NULL,'idx_system$grantableroles_system$userrole_system$userrole') +INSERT INTO "mendixsystem$association" VALUES('20ca86b2-5a00-4131-aee1-427cb2e94425','System.TokenInformation_User','system$tokeninformation_user','09b2f0fe-4a11-4afc-a16e-94992a3ebc3d','282e2e60-88a5-469d-84a5-ba8d9151644f','system$tokeninformationid','system$userid',NULL,'idx_system$tokeninformation_user_system$user_system$tokeninformation') +INSERT INTO "mendixsystem$association" VALUES('3dbea779-c8af-467e-a957-140c313ac1b7','System.Thumbnail_Image','system$thumbnail_image','4babd4c0-b903-4cb4-b1af-e59c4a5fcf3d','37827192-315d-4ab6-85b8-f626f866ea76','system$thumbnailid','system$imageid',NULL,'idx_system$thumbnail_image_system$image_system$thumbnail') +INSERT INTO "mendixsystem$association" VALUES('546aaff5-62e1-40ce-ab45-d40d0a0478f1','System.Session_User','system$session_user','37f9fd49-5318-4c63-9a51-f761779b202f','282e2e60-88a5-469d-84a5-ba8d9151644f','system$sessionid','system$userid',NULL,'idx_system$session_user_system$user_system$session') +INSERT INTO "mendixsystem$association" VALUES('6013226d-aeae-3cd2-acec-d95d8bd5c3ad','System.changedBy','system$changedby','282e2e60-88a5-469d-84a5-ba8d9151644f','282e2e60-88a5-469d-84a5-ba8d9151644f','id','system$changedby',NULL,NULL) +INSERT INTO "mendixsystem$association" VALUES('6adaf137-4299-435e-9475-a871a4f21471','System.UserRoles','system$userroles','282e2e60-88a5-469d-84a5-ba8d9151644f','92ef30a6-de04-423c-84fd-a21e9b9eeae2','system$userid','system$userroleid',NULL,'idx_system$userroles_system$userrole_system$user') +INSERT INTO "mendixsystem$association" VALUES('956c1382-b9fc-3367-b0b2-cb67ee9ef13f','System.changedBy','system$changedby','170ce49d-f29c-4fac-99a6-b55e8a3aeb39','282e2e60-88a5-469d-84a5-ba8d9151644f','id','system$changedby',NULL,NULL) +INSERT INTO "mendixsystem$association" VALUES('bab4a1ab-7d40-47d5-8f21-fc99d089211d','System.User_TimeZone','system$user_timezone','282e2e60-88a5-469d-84a5-ba8d9151644f','7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f','system$userid','system$timezoneid',NULL,'idx_system$user_timezone_system$timezone_system$user') +INSERT INTO "mendixsystem$association" VALUES('d9eb2a5f-b448-4a73-b179-4141ab51e622','System.ClusterManager','system$clustermanager','efabe590-d3e2-4b24-9c39-836a367d217f','d4154981-8dac-4150-aec5-efa3ef62a7a2','system$statisticsid','system$xasinstanceid',NULL,'idx_system$clustermanager_system$xasinstance_system$statistics') +INSERT INTO "mendixsystem$association" VALUES('fc3944c4-7a19-4a4d-9b0d-4a0c9d7aeb23','System.BackgroundJob_XASInstance','system$backgroundjob_xasinstance','660db38b-5ab4-4d15-b649-93a947ecea82','d4154981-8dac-4150-aec5-efa3ef62a7a2','system$backgroundjobid','system$xasinstanceid',NULL,'idx_system$backgroundjob_xasinstance_system$xasinstance_system$backgroundjob') +INSERT INTO "mendixsystem$version" VALUES('4.1','2017-02-22 15:11:01.928000','2.0.1','unversioned','Test') +INSERT INTO "mendixsystem$sequence" VALUES('system$filedocument_fileid_mxseq','0f81688b-e719-4204-8f86-8fcd664a0992',1,0) +INSERT INTO "mendixsystem$sequence" VALUES('system$filedocument___filename___mxseq','a02027b1-e24d-49fc-9b3f-ade644070879',1,0) +INSERT INTO "mendixsystem$entityidentifier" VALUES('09b2f0fe-4a11-4afc-a16e-94992a3ebc3d',19,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('170ce49d-f29c-4fac-99a6-b55e8a3aeb39',1,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('282e2e60-88a5-469d-84a5-ba8d9151644f',2,3701) +INSERT INTO "mendixsystem$entityidentifier" VALUES('3078a23e-13b2-4a9b-84e4-2881fdee53c6',21,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('37827192-315d-4ab6-85b8-f626f866ea76',20,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('37f9fd49-5318-4c63-9a51-f761779b202f',18,3701) +INSERT INTO "mendixsystem$entityidentifier" VALUES('3b6f5ca3-28d6-4581-b26e-7ce5bd0e6eeb',11,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('4babd4c0-b903-4cb4-b1af-e59c4a5fcf3d',5,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('4beaee07-595a-4371-bbe4-7d86875f0ebb',8,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('660db38b-5ab4-4d15-b649-93a947ecea82',6,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('67c28960-7a7a-11e6-bdf4-0800200c9a66',22,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('685df5a6-1e02-49bb-a0b5-5a55c5e8313d',7,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('761a7054-7794-4799-8986-2e6cd68a53fd',24,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('76805df3-dede-435f-92a6-d6525c68a693',23,101) +INSERT INTO "mendixsystem$entityidentifier" VALUES('7f7c72af-1ab7-4bf9-bed6-16db5c8fcf6f',15,601) +INSERT INTO "mendixsystem$entityidentifier" VALUES('92ef30a6-de04-423c-84fd-a21e9b9eeae2',17,101) +INSERT INTO "mendixsystem$entityidentifier" VALUES('a9353987-5d3d-59b1-8899-013a0c5a15ea',3,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('c053829c-9a54-53d3-a5b8-d8c2da3482a6',12,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('ca8c4ebc-72af-53a4-ac41-0de48e560fd9',14,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('ce3860ff-2093-42cd-b462-8da7485fc01e',9,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('d4154981-8dac-4150-aec5-efa3ef62a7a2',4,3701) +INSERT INTO "mendixsystem$entityidentifier" VALUES('d60d37c4-60b7-4702-b327-308f9d4b2536',13,101) +INSERT INTO "mendixsystem$entityidentifier" VALUES('e91fb9bf-5362-4b23-bfa1-e4ec4127887c',10,1) +INSERT INTO "mendixsystem$entityidentifier" VALUES('efabe590-d3e2-4b24-9c39-836a367d217f',16,101) +INSERT INTO "myfirstmodule$camera" VALUES(3659174697238529,'Camera Number 1','Car Park West') +INSERT INTO "myfirstmodule$camera" VALUES(3659174697238530,'Camera Number 2','Car Park East') +INSERT INTO "myfirstmodule$camera" VALUES(3659174697238531,'Camera Number 3','At the Front Door') +INSERT INTO "system$timezone" VALUES(4222124650659841,'(GMT+00:00) Abidjan',0,'Africa/Abidjan') +INSERT INTO "system$timezone" VALUES(4222124650659842,'(GMT+00:00) Accra',0,'Africa/Accra') +INSERT INTO "system$timezone" VALUES(4222124650659843,'(GMT+03:00) Addis Ababa',10800000,'Africa/Addis_Ababa') +INSERT INTO "system$timezone" VALUES(4222124650659844,'(GMT+01:00) Algiers',3600000,'Africa/Algiers') +INSERT INTO "system$timezone" VALUES(4222124650659845,'(GMT+03:00) Asmara',10800000,'Africa/Asmara') +INSERT INTO "system$timezone" VALUES(4222124650659846,'(GMT+03:00) Asmera',10800000,'Africa/Asmera') +INSERT INTO "system$timezone" VALUES(4222124650659847,'(GMT+00:00) Bamako',0,'Africa/Bamako') +INSERT INTO "system$timezone" VALUES(4222124650659848,'(GMT+01:00) Bangui',3600000,'Africa/Bangui') +INSERT INTO "system$timezone" VALUES(4222124650659849,'(GMT+00:00) Banjul',0,'Africa/Banjul') +INSERT INTO "system$timezone" VALUES(4222124650659850,'(GMT+00:00) Bissau',0,'Africa/Bissau') +INSERT INTO "system$timezone" VALUES(4222124650659851,'(GMT+02:00) Blantyre',7200000,'Africa/Blantyre') +INSERT INTO "system$timezone" VALUES(4222124650659852,'(GMT+01:00) Brazzaville',3600000,'Africa/Brazzaville') +INSERT INTO "system$timezone" VALUES(4222124650659853,'(GMT+02:00) Bujumbura',7200000,'Africa/Bujumbura') +INSERT INTO "system$timezone" VALUES(4222124650659854,'(GMT+02:00) Cairo',7200000,'Africa/Cairo') +INSERT INTO "system$timezone" VALUES(4222124650659855,'(GMT+00:00) Casablanca',0,'Africa/Casablanca') +INSERT INTO "system$timezone" VALUES(4222124650659856,'(GMT+01:00) Ceuta',3600000,'Africa/Ceuta') +INSERT INTO "system$timezone" VALUES(4222124650659857,'(GMT+00:00) Conakry',0,'Africa/Conakry') +INSERT INTO "system$timezone" VALUES(4222124650659858,'(GMT+00:00) Dakar',0,'Africa/Dakar') +INSERT INTO "system$timezone" VALUES(4222124650659859,'(GMT+03:00) Dar es Salaam',10800000,'Africa/Dar_es_Salaam') +INSERT INTO "system$timezone" VALUES(4222124650659860,'(GMT+03:00) Djibouti',10800000,'Africa/Djibouti') +INSERT INTO "system$timezone" VALUES(4222124650659861,'(GMT+01:00) Douala',3600000,'Africa/Douala') +INSERT INTO "system$timezone" VALUES(4222124650659862,'(GMT+00:00) El Aaiun',0,'Africa/El_Aaiun') +INSERT INTO "system$timezone" VALUES(4222124650659863,'(GMT+00:00) Freetown',0,'Africa/Freetown') +INSERT INTO "system$timezone" VALUES(4222124650659864,'(GMT+02:00) Gaborone',7200000,'Africa/Gaborone') +INSERT INTO "system$timezone" VALUES(4222124650659865,'(GMT+02:00) Harare',7200000,'Africa/Harare') +INSERT INTO "system$timezone" VALUES(4222124650659866,'(GMT+02:00) Johannesburg',7200000,'Africa/Johannesburg') +INSERT INTO "system$timezone" VALUES(4222124650659867,'(GMT+03:00) Juba',10800000,'Africa/Juba') +INSERT INTO "system$timezone" VALUES(4222124650659868,'(GMT+03:00) Kampala',10800000,'Africa/Kampala') +INSERT INTO "system$timezone" VALUES(4222124650659869,'(GMT+03:00) Khartoum',10800000,'Africa/Khartoum') +INSERT INTO "system$timezone" VALUES(4222124650659870,'(GMT+02:00) Kigali',7200000,'Africa/Kigali') +INSERT INTO "system$timezone" VALUES(4222124650659871,'(GMT+01:00) Kinshasa',3600000,'Africa/Kinshasa') +INSERT INTO "system$timezone" VALUES(4222124650659872,'(GMT+01:00) Lagos',3600000,'Africa/Lagos') +INSERT INTO "system$timezone" VALUES(4222124650659873,'(GMT+01:00) Libreville',3600000,'Africa/Libreville') +INSERT INTO "system$timezone" VALUES(4222124650659874,'(GMT+00:00) Lome',0,'Africa/Lome') +INSERT INTO "system$timezone" VALUES(4222124650659875,'(GMT+01:00) Luanda',3600000,'Africa/Luanda') +INSERT INTO "system$timezone" VALUES(4222124650659876,'(GMT+02:00) Lubumbashi',7200000,'Africa/Lubumbashi') +INSERT INTO "system$timezone" VALUES(4222124650659877,'(GMT+02:00) Lusaka',7200000,'Africa/Lusaka') +INSERT INTO "system$timezone" VALUES(4222124650659878,'(GMT+01:00) Malabo',3600000,'Africa/Malabo') +INSERT INTO "system$timezone" VALUES(4222124650659879,'(GMT+02:00) Maputo',7200000,'Africa/Maputo') +INSERT INTO "system$timezone" VALUES(4222124650659880,'(GMT+02:00) Maseru',7200000,'Africa/Maseru') +INSERT INTO "system$timezone" VALUES(4222124650659881,'(GMT+02:00) Mbabane',7200000,'Africa/Mbabane') +INSERT INTO "system$timezone" VALUES(4222124650659882,'(GMT+03:00) Mogadishu',10800000,'Africa/Mogadishu') +INSERT INTO "system$timezone" VALUES(4222124650659883,'(GMT+00:00) Monrovia',0,'Africa/Monrovia') +INSERT INTO "system$timezone" VALUES(4222124650659884,'(GMT+03:00) Nairobi',10800000,'Africa/Nairobi') +INSERT INTO "system$timezone" VALUES(4222124650659885,'(GMT+01:00) Ndjamena',3600000,'Africa/Ndjamena') +INSERT INTO "system$timezone" VALUES(4222124650659886,'(GMT+01:00) Niamey',3600000,'Africa/Niamey') +INSERT INTO "system$timezone" VALUES(4222124650659887,'(GMT+00:00) Nouakchott',0,'Africa/Nouakchott') +INSERT INTO "system$timezone" VALUES(4222124650659888,'(GMT+00:00) Ouagadougou',0,'Africa/Ouagadougou') +INSERT INTO "system$timezone" VALUES(4222124650659889,'(GMT+01:00) Porto-Novo',3600000,'Africa/Porto-Novo') +INSERT INTO "system$timezone" VALUES(4222124650659890,'(GMT+00:00) Sao Tome',0,'Africa/Sao_Tome') +INSERT INTO "system$timezone" VALUES(4222124650659891,'(GMT+00:00) Timbuktu',0,'Africa/Timbuktu') +INSERT INTO "system$timezone" VALUES(4222124650659892,'(GMT+02:00) Tripoli',7200000,'Africa/Tripoli') +INSERT INTO "system$timezone" VALUES(4222124650659893,'(GMT+01:00) Tunis',3600000,'Africa/Tunis') +INSERT INTO "system$timezone" VALUES(4222124650659894,'(GMT+01:00) Windhoek',3600000,'Africa/Windhoek') +INSERT INTO "system$timezone" VALUES(4222124650659895,'(GMT-10:00) Adak',-36000000,'America/Adak') +INSERT INTO "system$timezone" VALUES(4222124650659896,'(GMT-09:00) Anchorage',-32400000,'America/Anchorage') +INSERT INTO "system$timezone" VALUES(4222124650659897,'(GMT-04:00) Anguilla',-14400000,'America/Anguilla') +INSERT INTO "system$timezone" VALUES(4222124650659898,'(GMT-04:00) Antigua',-14400000,'America/Antigua') +INSERT INTO "system$timezone" VALUES(4222124650659899,'(GMT-03:00) Araguaina',-10800000,'America/Araguaina') +INSERT INTO "system$timezone" VALUES(4222124650659900,'(GMT-03:00) Argentina/Buenos Aires',-10800000,'America/Argentina/Buenos_Aires') +INSERT INTO "system$timezone" VALUES(4222124650659901,'(GMT-03:00) Argentina/Catamarca',-10800000,'America/Argentina/Catamarca') +INSERT INTO "system$timezone" VALUES(4222124650659902,'(GMT-03:00) Argentina/ComodRivadavia',-10800000,'America/Argentina/ComodRivadavia') +INSERT INTO "system$timezone" VALUES(4222124650659903,'(GMT-03:00) Argentina/Cordoba',-10800000,'America/Argentina/Cordoba') +INSERT INTO "system$timezone" VALUES(4222124650659904,'(GMT-03:00) Argentina/Jujuy',-10800000,'America/Argentina/Jujuy') +INSERT INTO "system$timezone" VALUES(4222124650659905,'(GMT-03:00) Argentina/La Rioja',-10800000,'America/Argentina/La_Rioja') +INSERT INTO "system$timezone" VALUES(4222124650659906,'(GMT-03:00) Argentina/Mendoza',-10800000,'America/Argentina/Mendoza') +INSERT INTO "system$timezone" VALUES(4222124650659907,'(GMT-03:00) Argentina/Rio Gallegos',-10800000,'America/Argentina/Rio_Gallegos') +INSERT INTO "system$timezone" VALUES(4222124650659908,'(GMT-03:00) Argentina/Salta',-10800000,'America/Argentina/Salta') +INSERT INTO "system$timezone" VALUES(4222124650659909,'(GMT-03:00) Argentina/San Juan',-10800000,'America/Argentina/San_Juan') +INSERT INTO "system$timezone" VALUES(4222124650659910,'(GMT-03:00) Argentina/San Luis',-10800000,'America/Argentina/San_Luis') +INSERT INTO "system$timezone" VALUES(4222124650659911,'(GMT-03:00) Argentina/Tucuman',-10800000,'America/Argentina/Tucuman') +INSERT INTO "system$timezone" VALUES(4222124650659912,'(GMT-03:00) Argentina/Ushuaia',-10800000,'America/Argentina/Ushuaia') +INSERT INTO "system$timezone" VALUES(4222124650659913,'(GMT-04:00) Aruba',-14400000,'America/Aruba') +INSERT INTO "system$timezone" VALUES(4222124650659914,'(GMT-04:00) Asuncion',-14400000,'America/Asuncion') +INSERT INTO "system$timezone" VALUES(4222124650659915,'(GMT-05:00) Atikokan',-18000000,'America/Atikokan') +INSERT INTO "system$timezone" VALUES(4222124650659916,'(GMT-10:00) Atka',-36000000,'America/Atka') +INSERT INTO "system$timezone" VALUES(4222124650659917,'(GMT-03:00) Bahia',-10800000,'America/Bahia') +INSERT INTO "system$timezone" VALUES(4222124650659918,'(GMT-06:00) Bahia Banderas',-21600000,'America/Bahia_Banderas') +INSERT INTO "system$timezone" VALUES(4222124650659919,'(GMT-04:00) Barbados',-14400000,'America/Barbados') +INSERT INTO "system$timezone" VALUES(4222124650659920,'(GMT-03:00) Belem',-10800000,'America/Belem') +INSERT INTO "system$timezone" VALUES(4222124650659921,'(GMT-06:00) Belize',-21600000,'America/Belize') +INSERT INTO "system$timezone" VALUES(4222124650659922,'(GMT-04:00) Blanc-Sablon',-14400000,'America/Blanc-Sablon') +INSERT INTO "system$timezone" VALUES(4222124650659923,'(GMT-04:00) Boa Vista',-14400000,'America/Boa_Vista') +INSERT INTO "system$timezone" VALUES(4222124650659924,'(GMT-05:00) Bogota',-18000000,'America/Bogota') +INSERT INTO "system$timezone" VALUES(4222124650659925,'(GMT-07:00) Boise',-25200000,'America/Boise') +INSERT INTO "system$timezone" VALUES(4222124650659926,'(GMT-03:00) Buenos Aires',-10800000,'America/Buenos_Aires') +INSERT INTO "system$timezone" VALUES(4222124650659927,'(GMT-07:00) Cambridge Bay',-25200000,'America/Cambridge_Bay') +INSERT INTO "system$timezone" VALUES(4222124650659928,'(GMT-04:00) Campo Grande',-14400000,'America/Campo_Grande') +INSERT INTO "system$timezone" VALUES(4222124650659929,'(GMT-05:00) Cancun',-18000000,'America/Cancun') +INSERT INTO "system$timezone" VALUES(4222124650659930,'(GMT-04:00) Caracas',-14400000,'America/Caracas') +INSERT INTO "system$timezone" VALUES(4222124650659931,'(GMT-03:00) Catamarca',-10800000,'America/Catamarca') +INSERT INTO "system$timezone" VALUES(4222124650659932,'(GMT-03:00) Cayenne',-10800000,'America/Cayenne') +INSERT INTO "system$timezone" VALUES(4222124650659933,'(GMT-05:00) Cayman',-18000000,'America/Cayman') +INSERT INTO "system$timezone" VALUES(4222124650659934,'(GMT-06:00) Chicago',-21600000,'America/Chicago') +INSERT INTO "system$timezone" VALUES(4222124650659935,'(GMT-07:00) Chihuahua',-25200000,'America/Chihuahua') +INSERT INTO "system$timezone" VALUES(4222124650659936,'(GMT-05:00) Coral Harbour',-18000000,'America/Coral_Harbour') +INSERT INTO "system$timezone" VALUES(4222124650659937,'(GMT-03:00) Cordoba',-10800000,'America/Cordoba') +INSERT INTO "system$timezone" VALUES(4222124650659938,'(GMT-06:00) Costa Rica',-21600000,'America/Costa_Rica') +INSERT INTO "system$timezone" VALUES(4222124650659939,'(GMT-07:00) Creston',-25200000,'America/Creston') +INSERT INTO "system$timezone" VALUES(4222124650659940,'(GMT-04:00) Cuiaba',-14400000,'America/Cuiaba') +INSERT INTO "system$timezone" VALUES(4222124650659941,'(GMT-04:00) Curacao',-14400000,'America/Curacao') +INSERT INTO "system$timezone" VALUES(4222124650659942,'(GMT+00:00) Danmarkshavn',0,'America/Danmarkshavn') +INSERT INTO "system$timezone" VALUES(4222124650659943,'(GMT-08:00) Dawson',-28800000,'America/Dawson') +INSERT INTO "system$timezone" VALUES(4222124650659944,'(GMT-07:00) Dawson Creek',-25200000,'America/Dawson_Creek') +INSERT INTO "system$timezone" VALUES(4222124650659945,'(GMT-07:00) Denver',-25200000,'America/Denver') +INSERT INTO "system$timezone" VALUES(4222124650659946,'(GMT-05:00) Detroit',-18000000,'America/Detroit') +INSERT INTO "system$timezone" VALUES(4222124650659947,'(GMT-04:00) Dominica',-14400000,'America/Dominica') +INSERT INTO "system$timezone" VALUES(4222124650659948,'(GMT-07:00) Edmonton',-25200000,'America/Edmonton') +INSERT INTO "system$timezone" VALUES(4222124650659949,'(GMT-05:00) Eirunepe',-18000000,'America/Eirunepe') +INSERT INTO "system$timezone" VALUES(4222124650659950,'(GMT-06:00) El Salvador',-21600000,'America/El_Salvador') +INSERT INTO "system$timezone" VALUES(4222124650659951,'(GMT-08:00) Ensenada',-28800000,'America/Ensenada') +INSERT INTO "system$timezone" VALUES(4222124650659952,'(GMT-07:00) Fort Nelson',-25200000,'America/Fort_Nelson') +INSERT INTO "system$timezone" VALUES(4222124650659953,'(GMT-05:00) Fort Wayne',-18000000,'America/Fort_Wayne') +INSERT INTO "system$timezone" VALUES(4222124650659954,'(GMT-03:00) Fortaleza',-10800000,'America/Fortaleza') +INSERT INTO "system$timezone" VALUES(4222124650659955,'(GMT-04:00) Glace Bay',-14400000,'America/Glace_Bay') +INSERT INTO "system$timezone" VALUES(4222124650659956,'(GMT-03:00) Godthab',-10800000,'America/Godthab') +INSERT INTO "system$timezone" VALUES(4222124650659957,'(GMT-04:00) Goose Bay',-14400000,'America/Goose_Bay') +INSERT INTO "system$timezone" VALUES(4222124650659958,'(GMT-04:00) Grand Turk',-14400000,'America/Grand_Turk') +INSERT INTO "system$timezone" VALUES(4222124650659959,'(GMT-04:00) Grenada',-14400000,'America/Grenada') +INSERT INTO "system$timezone" VALUES(4222124650659960,'(GMT-04:00) Guadeloupe',-14400000,'America/Guadeloupe') +INSERT INTO "system$timezone" VALUES(4222124650659961,'(GMT-06:00) Guatemala',-21600000,'America/Guatemala') +INSERT INTO "system$timezone" VALUES(4222124650659962,'(GMT-05:00) Guayaquil',-18000000,'America/Guayaquil') +INSERT INTO "system$timezone" VALUES(4222124650659963,'(GMT-04:00) Guyana',-14400000,'America/Guyana') +INSERT INTO "system$timezone" VALUES(4222124650659964,'(GMT-04:00) Halifax',-14400000,'America/Halifax') +INSERT INTO "system$timezone" VALUES(4222124650659965,'(GMT-05:00) Havana',-18000000,'America/Havana') +INSERT INTO "system$timezone" VALUES(4222124650659966,'(GMT-07:00) Hermosillo',-25200000,'America/Hermosillo') +INSERT INTO "system$timezone" VALUES(4222124650659967,'(GMT-05:00) Indiana/Indianapolis',-18000000,'America/Indiana/Indianapolis') +INSERT INTO "system$timezone" VALUES(4222124650659968,'(GMT-06:00) Indiana/Knox',-21600000,'America/Indiana/Knox') +INSERT INTO "system$timezone" VALUES(4222124650659969,'(GMT-05:00) Indiana/Marengo',-18000000,'America/Indiana/Marengo') +INSERT INTO "system$timezone" VALUES(4222124650659970,'(GMT-05:00) Indiana/Petersburg',-18000000,'America/Indiana/Petersburg') +INSERT INTO "system$timezone" VALUES(4222124650659971,'(GMT-06:00) Indiana/Tell City',-21600000,'America/Indiana/Tell_City') +INSERT INTO "system$timezone" VALUES(4222124650659972,'(GMT-05:00) Indiana/Vevay',-18000000,'America/Indiana/Vevay') +INSERT INTO "system$timezone" VALUES(4222124650659973,'(GMT-05:00) Indiana/Vincennes',-18000000,'America/Indiana/Vincennes') +INSERT INTO "system$timezone" VALUES(4222124650659974,'(GMT-05:00) Indiana/Winamac',-18000000,'America/Indiana/Winamac') +INSERT INTO "system$timezone" VALUES(4222124650659975,'(GMT-05:00) Indianapolis',-18000000,'America/Indianapolis') +INSERT INTO "system$timezone" VALUES(4222124650659976,'(GMT-07:00) Inuvik',-25200000,'America/Inuvik') +INSERT INTO "system$timezone" VALUES(4222124650659977,'(GMT-05:00) Iqaluit',-18000000,'America/Iqaluit') +INSERT INTO "system$timezone" VALUES(4222124650659978,'(GMT-05:00) Jamaica',-18000000,'America/Jamaica') +INSERT INTO "system$timezone" VALUES(4222124650659979,'(GMT-03:00) Jujuy',-10800000,'America/Jujuy') +INSERT INTO "system$timezone" VALUES(4222124650659980,'(GMT-09:00) Juneau',-32400000,'America/Juneau') +INSERT INTO "system$timezone" VALUES(4222124650659981,'(GMT-05:00) Kentucky/Louisville',-18000000,'America/Kentucky/Louisville') +INSERT INTO "system$timezone" VALUES(4222124650659982,'(GMT-05:00) Kentucky/Monticello',-18000000,'America/Kentucky/Monticello') +INSERT INTO "system$timezone" VALUES(4222124650659983,'(GMT-06:00) Knox IN',-21600000,'America/Knox_IN') +INSERT INTO "system$timezone" VALUES(4222124650659984,'(GMT-04:00) Kralendijk',-14400000,'America/Kralendijk') +INSERT INTO "system$timezone" VALUES(4222124650659985,'(GMT-04:00) La Paz',-14400000,'America/La_Paz') +INSERT INTO "system$timezone" VALUES(4222124650659986,'(GMT-05:00) Lima',-18000000,'America/Lima') +INSERT INTO "system$timezone" VALUES(4222124650659987,'(GMT-08:00) Los Angeles',-28800000,'America/Los_Angeles') +INSERT INTO "system$timezone" VALUES(4222124650659988,'(GMT-05:00) Louisville',-18000000,'America/Louisville') +INSERT INTO "system$timezone" VALUES(4222124650659989,'(GMT-04:00) Lower Princes',-14400000,'America/Lower_Princes') +INSERT INTO "system$timezone" VALUES(4222124650659990,'(GMT-03:00) Maceio',-10800000,'America/Maceio') +INSERT INTO "system$timezone" VALUES(4222124650659991,'(GMT-06:00) Managua',-21600000,'America/Managua') +INSERT INTO "system$timezone" VALUES(4222124650659992,'(GMT-04:00) Manaus',-14400000,'America/Manaus') +INSERT INTO "system$timezone" VALUES(4222124650659993,'(GMT-04:00) Marigot',-14400000,'America/Marigot') +INSERT INTO "system$timezone" VALUES(4222124650659994,'(GMT-04:00) Martinique',-14400000,'America/Martinique') +INSERT INTO "system$timezone" VALUES(4222124650659995,'(GMT-06:00) Matamoros',-21600000,'America/Matamoros') +INSERT INTO "system$timezone" VALUES(4222124650659996,'(GMT-07:00) Mazatlan',-25200000,'America/Mazatlan') +INSERT INTO "system$timezone" VALUES(4222124650659997,'(GMT-03:00) Mendoza',-10800000,'America/Mendoza') +INSERT INTO "system$timezone" VALUES(4222124650659998,'(GMT-06:00) Menominee',-21600000,'America/Menominee') +INSERT INTO "system$timezone" VALUES(4222124650659999,'(GMT-06:00) Merida',-21600000,'America/Merida') +INSERT INTO "system$timezone" VALUES(4222124650660000,'(GMT-09:00) Metlakatla',-32400000,'America/Metlakatla') +INSERT INTO "system$timezone" VALUES(4222124650660001,'(GMT-06:00) Mexico City',-21600000,'America/Mexico_City') +INSERT INTO "system$timezone" VALUES(4222124650660002,'(GMT-03:00) Miquelon',-10800000,'America/Miquelon') +INSERT INTO "system$timezone" VALUES(4222124650660003,'(GMT-04:00) Moncton',-14400000,'America/Moncton') +INSERT INTO "system$timezone" VALUES(4222124650660004,'(GMT-06:00) Monterrey',-21600000,'America/Monterrey') +INSERT INTO "system$timezone" VALUES(4222124650660005,'(GMT-03:00) Montevideo',-10800000,'America/Montevideo') +INSERT INTO "system$timezone" VALUES(4222124650660006,'(GMT-05:00) Montreal',-18000000,'America/Montreal') +INSERT INTO "system$timezone" VALUES(4222124650660007,'(GMT-04:00) Montserrat',-14400000,'America/Montserrat') +INSERT INTO "system$timezone" VALUES(4222124650660008,'(GMT-05:00) Nassau',-18000000,'America/Nassau') +INSERT INTO "system$timezone" VALUES(4222124650660009,'(GMT-05:00) New York',-18000000,'America/New_York') +INSERT INTO "system$timezone" VALUES(4222124650660010,'(GMT-05:00) Nipigon',-18000000,'America/Nipigon') +INSERT INTO "system$timezone" VALUES(4222124650660011,'(GMT-09:00) Nome',-32400000,'America/Nome') +INSERT INTO "system$timezone" VALUES(4222124650660012,'(GMT-02:00) Noronha',-7200000,'America/Noronha') +INSERT INTO "system$timezone" VALUES(4222124650660013,'(GMT-06:00) North Dakota/Beulah',-21600000,'America/North_Dakota/Beulah') +INSERT INTO "system$timezone" VALUES(4222124650660014,'(GMT-06:00) North Dakota/Center',-21600000,'America/North_Dakota/Center') +INSERT INTO "system$timezone" VALUES(4222124650660015,'(GMT-06:00) North Dakota/New Salem',-21600000,'America/North_Dakota/New_Salem') +INSERT INTO "system$timezone" VALUES(4222124650660016,'(GMT-07:00) Ojinaga',-25200000,'America/Ojinaga') +INSERT INTO "system$timezone" VALUES(4222124650660017,'(GMT-05:00) Panama',-18000000,'America/Panama') +INSERT INTO "system$timezone" VALUES(4222124650660018,'(GMT-05:00) Pangnirtung',-18000000,'America/Pangnirtung') +INSERT INTO "system$timezone" VALUES(4222124650660019,'(GMT-03:00) Paramaribo',-10800000,'America/Paramaribo') +INSERT INTO "system$timezone" VALUES(4222124650660020,'(GMT-07:00) Phoenix',-25200000,'America/Phoenix') +INSERT INTO "system$timezone" VALUES(4222124650660021,'(GMT-05:00) Port-au-Prince',-18000000,'America/Port-au-Prince') +INSERT INTO "system$timezone" VALUES(4222124650660022,'(GMT-04:00) Port of Spain',-14400000,'America/Port_of_Spain') +INSERT INTO "system$timezone" VALUES(4222124650660023,'(GMT-05:00) Porto Acre',-18000000,'America/Porto_Acre') +INSERT INTO "system$timezone" VALUES(4222124650660024,'(GMT-04:00) Porto Velho',-14400000,'America/Porto_Velho') +INSERT INTO "system$timezone" VALUES(4222124650660025,'(GMT-04:00) Puerto Rico',-14400000,'America/Puerto_Rico') +INSERT INTO "system$timezone" VALUES(4222124650660026,'(GMT-06:00) Rainy River',-21600000,'America/Rainy_River') +INSERT INTO "system$timezone" VALUES(4222124650660027,'(GMT-06:00) Rankin Inlet',-21600000,'America/Rankin_Inlet') +INSERT INTO "system$timezone" VALUES(4222124650660028,'(GMT-03:00) Recife',-10800000,'America/Recife') +INSERT INTO "system$timezone" VALUES(4222124650660029,'(GMT-06:00) Regina',-21600000,'America/Regina') +INSERT INTO "system$timezone" VALUES(4222124650660030,'(GMT-06:00) Resolute',-21600000,'America/Resolute') +INSERT INTO "system$timezone" VALUES(4222124650660031,'(GMT-05:00) Rio Branco',-18000000,'America/Rio_Branco') +INSERT INTO "system$timezone" VALUES(4222124650660032,'(GMT-03:00) Rosario',-10800000,'America/Rosario') +INSERT INTO "system$timezone" VALUES(4222124650660033,'(GMT-08:00) Santa Isabel',-28800000,'America/Santa_Isabel') +INSERT INTO "system$timezone" VALUES(4222124650660034,'(GMT-03:00) Santarem',-10800000,'America/Santarem') +INSERT INTO "system$timezone" VALUES(4222124650660035,'(GMT-04:00) Santiago',-14400000,'America/Santiago') +INSERT INTO "system$timezone" VALUES(4222124650660036,'(GMT-04:00) Santo Domingo',-14400000,'America/Santo_Domingo') +INSERT INTO "system$timezone" VALUES(4222124650660037,'(GMT-03:00) Sao Paulo',-10800000,'America/Sao_Paulo') +INSERT INTO "system$timezone" VALUES(4222124650660038,'(GMT-01:00) Scoresbysund',-3600000,'America/Scoresbysund') +INSERT INTO "system$timezone" VALUES(4222124650660039,'(GMT-07:00) Shiprock',-25200000,'America/Shiprock') +INSERT INTO "system$timezone" VALUES(4222124650660040,'(GMT-09:00) Sitka',-32400000,'America/Sitka') +INSERT INTO "system$timezone" VALUES(4222124650660041,'(GMT-04:00) St Barthelemy',-14400000,'America/St_Barthelemy') +INSERT INTO "system$timezone" VALUES(4222124650660042,'(GMT-03:30) St Johns',-12600000,'America/St_Johns') +INSERT INTO "system$timezone" VALUES(4222124650660043,'(GMT-04:00) St Kitts',-14400000,'America/St_Kitts') +INSERT INTO "system$timezone" VALUES(4222124650660044,'(GMT-04:00) St Lucia',-14400000,'America/St_Lucia') +INSERT INTO "system$timezone" VALUES(4222124650660045,'(GMT-04:00) St Thomas',-14400000,'America/St_Thomas') +INSERT INTO "system$timezone" VALUES(4222124650660046,'(GMT-04:00) St Vincent',-14400000,'America/St_Vincent') +INSERT INTO "system$timezone" VALUES(4222124650660047,'(GMT-06:00) Swift Current',-21600000,'America/Swift_Current') +INSERT INTO "system$timezone" VALUES(4222124650660048,'(GMT-06:00) Tegucigalpa',-21600000,'America/Tegucigalpa') +INSERT INTO "system$timezone" VALUES(4222124650660049,'(GMT-04:00) Thule',-14400000,'America/Thule') +INSERT INTO "system$timezone" VALUES(4222124650660050,'(GMT-05:00) Thunder Bay',-18000000,'America/Thunder_Bay') +INSERT INTO "system$timezone" VALUES(4222124650660051,'(GMT-08:00) Tijuana',-28800000,'America/Tijuana') +INSERT INTO "system$timezone" VALUES(4222124650660052,'(GMT-05:00) Toronto',-18000000,'America/Toronto') +INSERT INTO "system$timezone" VALUES(4222124650660053,'(GMT-04:00) Tortola',-14400000,'America/Tortola') +INSERT INTO "system$timezone" VALUES(4222124650660054,'(GMT-08:00) Vancouver',-28800000,'America/Vancouver') +INSERT INTO "system$timezone" VALUES(4222124650660055,'(GMT-04:00) Virgin',-14400000,'America/Virgin') +INSERT INTO "system$timezone" VALUES(4222124650660056,'(GMT-08:00) Whitehorse',-28800000,'America/Whitehorse') +INSERT INTO "system$timezone" VALUES(4222124650660057,'(GMT-06:00) Winnipeg',-21600000,'America/Winnipeg') +INSERT INTO "system$timezone" VALUES(4222124650660058,'(GMT-09:00) Yakutat',-32400000,'America/Yakutat') +INSERT INTO "system$timezone" VALUES(4222124650660059,'(GMT-07:00) Yellowknife',-25200000,'America/Yellowknife') +INSERT INTO "system$timezone" VALUES(4222124650660060,'(GMT+08:00) Casey',28800000,'Antarctica/Casey') +INSERT INTO "system$timezone" VALUES(4222124650660061,'(GMT+07:00) Davis',25200000,'Antarctica/Davis') +INSERT INTO "system$timezone" VALUES(4222124650660062,'(GMT+10:00) DumontDUrville',36000000,'Antarctica/DumontDUrville') +INSERT INTO "system$timezone" VALUES(4222124650660063,'(GMT+11:00) Macquarie',39600000,'Antarctica/Macquarie') +INSERT INTO "system$timezone" VALUES(4222124650660064,'(GMT+05:00) Mawson',18000000,'Antarctica/Mawson') +INSERT INTO "system$timezone" VALUES(4222124650660065,'(GMT+12:00) McMurdo',43200000,'Antarctica/McMurdo') +INSERT INTO "system$timezone" VALUES(4222124650660066,'(GMT-04:00) Palmer',-14400000,'Antarctica/Palmer') +INSERT INTO "system$timezone" VALUES(4222124650660067,'(GMT-03:00) Rothera',-10800000,'Antarctica/Rothera') +INSERT INTO "system$timezone" VALUES(4222124650660068,'(GMT+12:00) South Pole',43200000,'Antarctica/South_Pole') +INSERT INTO "system$timezone" VALUES(4222124650660069,'(GMT+03:00) Syowa',10800000,'Antarctica/Syowa') +INSERT INTO "system$timezone" VALUES(4222124650660070,'(GMT+00:00) Troll',0,'Antarctica/Troll') +INSERT INTO "system$timezone" VALUES(4222124650660071,'(GMT+06:00) Vostok',21600000,'Antarctica/Vostok') +INSERT INTO "system$timezone" VALUES(4222124650660072,'(GMT+01:00) Longyearbyen',3600000,'Arctic/Longyearbyen') +INSERT INTO "system$timezone" VALUES(4222124650660073,'(GMT+03:00) Aden',10800000,'Asia/Aden') +INSERT INTO "system$timezone" VALUES(4222124650660074,'(GMT+06:00) Almaty',21600000,'Asia/Almaty') +INSERT INTO "system$timezone" VALUES(4222124650660075,'(GMT+02:00) Amman',7200000,'Asia/Amman') +INSERT INTO "system$timezone" VALUES(4222124650660076,'(GMT+12:00) Anadyr',43200000,'Asia/Anadyr') +INSERT INTO "system$timezone" VALUES(4222124650660077,'(GMT+05:00) Aqtau',18000000,'Asia/Aqtau') +INSERT INTO "system$timezone" VALUES(4222124650660078,'(GMT+05:00) Aqtobe',18000000,'Asia/Aqtobe') +INSERT INTO "system$timezone" VALUES(4222124650660079,'(GMT+05:00) Ashgabat',18000000,'Asia/Ashgabat') +INSERT INTO "system$timezone" VALUES(4222124650660080,'(GMT+05:00) Ashkhabad',18000000,'Asia/Ashkhabad') +INSERT INTO "system$timezone" VALUES(4222124650660081,'(GMT+03:00) Baghdad',10800000,'Asia/Baghdad') +INSERT INTO "system$timezone" VALUES(4222124650660082,'(GMT+03:00) Bahrain',10800000,'Asia/Bahrain') +INSERT INTO "system$timezone" VALUES(4222124650660083,'(GMT+04:00) Baku',14400000,'Asia/Baku') +INSERT INTO "system$timezone" VALUES(4222124650660084,'(GMT+07:00) Bangkok',25200000,'Asia/Bangkok') +INSERT INTO "system$timezone" VALUES(4222124650660085,'(GMT+07:00) Barnaul',25200000,'Asia/Barnaul') +INSERT INTO "system$timezone" VALUES(4222124650660086,'(GMT+02:00) Beirut',7200000,'Asia/Beirut') +INSERT INTO "system$timezone" VALUES(4222124650660087,'(GMT+06:00) Bishkek',21600000,'Asia/Bishkek') +INSERT INTO "system$timezone" VALUES(4222124650660088,'(GMT+08:00) Brunei',28800000,'Asia/Brunei') +INSERT INTO "system$timezone" VALUES(4222124650660089,'(GMT+05:30) Calcutta',19800000,'Asia/Calcutta') +INSERT INTO "system$timezone" VALUES(4222124650660090,'(GMT+09:00) Chita',32400000,'Asia/Chita') +INSERT INTO "system$timezone" VALUES(4222124650660091,'(GMT+08:00) Choibalsan',28800000,'Asia/Choibalsan') +INSERT INTO "system$timezone" VALUES(4222124650660092,'(GMT+08:00) Chongqing',28800000,'Asia/Chongqing') +INSERT INTO "system$timezone" VALUES(4222124650660093,'(GMT+08:00) Chungking',28800000,'Asia/Chungking') +INSERT INTO "system$timezone" VALUES(4222124650660094,'(GMT+05:30) Colombo',19800000,'Asia/Colombo') +INSERT INTO "system$timezone" VALUES(4222124650660095,'(GMT+06:00) Dacca',21600000,'Asia/Dacca') +INSERT INTO "system$timezone" VALUES(4222124650660096,'(GMT+02:00) Damascus',7200000,'Asia/Damascus') +INSERT INTO "system$timezone" VALUES(4222124650660097,'(GMT+06:00) Dhaka',21600000,'Asia/Dhaka') +INSERT INTO "system$timezone" VALUES(4222124650660098,'(GMT+09:00) Dili',32400000,'Asia/Dili') +INSERT INTO "system$timezone" VALUES(4222124650660099,'(GMT+04:00) Dubai',14400000,'Asia/Dubai') +INSERT INTO "system$timezone" VALUES(4222124650660100,'(GMT+05:00) Dushanbe',18000000,'Asia/Dushanbe') +INSERT INTO "system$timezone" VALUES(4222124650660101,'(GMT+02:00) Gaza',7200000,'Asia/Gaza') +INSERT INTO "system$timezone" VALUES(4222124650660102,'(GMT+08:00) Harbin',28800000,'Asia/Harbin') +INSERT INTO "system$timezone" VALUES(4222124650660103,'(GMT+02:00) Hebron',7200000,'Asia/Hebron') +INSERT INTO "system$timezone" VALUES(4222124650660104,'(GMT+07:00) Ho Chi Minh',25200000,'Asia/Ho_Chi_Minh') +INSERT INTO "system$timezone" VALUES(4222124650660105,'(GMT+08:00) Hong Kong',28800000,'Asia/Hong_Kong') +INSERT INTO "system$timezone" VALUES(4222124650660106,'(GMT+07:00) Hovd',25200000,'Asia/Hovd') +INSERT INTO "system$timezone" VALUES(4222124650660107,'(GMT+08:00) Irkutsk',28800000,'Asia/Irkutsk') +INSERT INTO "system$timezone" VALUES(4222124650660108,'(GMT+02:00) Istanbul',7200000,'Asia/Istanbul') +INSERT INTO "system$timezone" VALUES(4222124650660109,'(GMT+07:00) Jakarta',25200000,'Asia/Jakarta') +INSERT INTO "system$timezone" VALUES(4222124650660110,'(GMT+09:00) Jayapura',32400000,'Asia/Jayapura') +INSERT INTO "system$timezone" VALUES(4222124650660111,'(GMT+02:00) Jerusalem',7200000,'Asia/Jerusalem') +INSERT INTO "system$timezone" VALUES(4222124650660112,'(GMT+04:30) Kabul',16200000,'Asia/Kabul') +INSERT INTO "system$timezone" VALUES(4222124650660113,'(GMT+12:00) Kamchatka',43200000,'Asia/Kamchatka') +INSERT INTO "system$timezone" VALUES(4222124650660114,'(GMT+05:00) Karachi',18000000,'Asia/Karachi') +INSERT INTO "system$timezone" VALUES(4222124650660115,'(GMT+06:00) Kashgar',21600000,'Asia/Kashgar') +INSERT INTO "system$timezone" VALUES(4222124650660116,'(GMT+05:45) Kathmandu',20700000,'Asia/Kathmandu') +INSERT INTO "system$timezone" VALUES(4222124650660117,'(GMT+05:45) Katmandu',20700000,'Asia/Katmandu') +INSERT INTO "system$timezone" VALUES(4222124650660118,'(GMT+09:00) Khandyga',32400000,'Asia/Khandyga') +INSERT INTO "system$timezone" VALUES(4222124650660119,'(GMT+05:30) Kolkata',19800000,'Asia/Kolkata') +INSERT INTO "system$timezone" VALUES(4222124650660120,'(GMT+07:00) Krasnoyarsk',25200000,'Asia/Krasnoyarsk') +INSERT INTO "system$timezone" VALUES(4222124650660121,'(GMT+08:00) Kuala Lumpur',28800000,'Asia/Kuala_Lumpur') +INSERT INTO "system$timezone" VALUES(4222124650660122,'(GMT+08:00) Kuching',28800000,'Asia/Kuching') +INSERT INTO "system$timezone" VALUES(4222124650660123,'(GMT+03:00) Kuwait',10800000,'Asia/Kuwait') +INSERT INTO "system$timezone" VALUES(4222124650660124,'(GMT+08:00) Macao',28800000,'Asia/Macao') +INSERT INTO "system$timezone" VALUES(4222124650660125,'(GMT+08:00) Macau',28800000,'Asia/Macau') +INSERT INTO "system$timezone" VALUES(4222124650660126,'(GMT+11:00) Magadan',39600000,'Asia/Magadan') +INSERT INTO "system$timezone" VALUES(4222124650660127,'(GMT+08:00) Makassar',28800000,'Asia/Makassar') +INSERT INTO "system$timezone" VALUES(4222124650660128,'(GMT+08:00) Manila',28800000,'Asia/Manila') +INSERT INTO "system$timezone" VALUES(4222124650660129,'(GMT+04:00) Muscat',14400000,'Asia/Muscat') +INSERT INTO "system$timezone" VALUES(4222124650660130,'(GMT+02:00) Nicosia',7200000,'Asia/Nicosia') +INSERT INTO "system$timezone" VALUES(4222124650660131,'(GMT+07:00) Novokuznetsk',25200000,'Asia/Novokuznetsk') +INSERT INTO "system$timezone" VALUES(4222124650660132,'(GMT+07:00) Novosibirsk',25200000,'Asia/Novosibirsk') +INSERT INTO "system$timezone" VALUES(4222124650660133,'(GMT+06:00) Omsk',21600000,'Asia/Omsk') +INSERT INTO "system$timezone" VALUES(4222124650660134,'(GMT+05:00) Oral',18000000,'Asia/Oral') +INSERT INTO "system$timezone" VALUES(4222124650660135,'(GMT+07:00) Phnom Penh',25200000,'Asia/Phnom_Penh') +INSERT INTO "system$timezone" VALUES(4222124650660136,'(GMT+07:00) Pontianak',25200000,'Asia/Pontianak') +INSERT INTO "system$timezone" VALUES(4222124650660137,'(GMT+08:30) Pyongyang',30600000,'Asia/Pyongyang') +INSERT INTO "system$timezone" VALUES(4222124650660138,'(GMT+03:00) Qatar',10800000,'Asia/Qatar') +INSERT INTO "system$timezone" VALUES(4222124650660139,'(GMT+06:00) Qyzylorda',21600000,'Asia/Qyzylorda') +INSERT INTO "system$timezone" VALUES(4222124650660140,'(GMT+06:30) Rangoon',23400000,'Asia/Rangoon') +INSERT INTO "system$timezone" VALUES(4222124650660141,'(GMT+03:00) Riyadh',10800000,'Asia/Riyadh') +INSERT INTO "system$timezone" VALUES(4222124650660142,'(GMT+07:00) Saigon',25200000,'Asia/Saigon') +INSERT INTO "system$timezone" VALUES(4222124650660143,'(GMT+11:00) Sakhalin',39600000,'Asia/Sakhalin') +INSERT INTO "system$timezone" VALUES(4222124650660144,'(GMT+05:00) Samarkand',18000000,'Asia/Samarkand') +INSERT INTO "system$timezone" VALUES(4222124650660145,'(GMT+09:00) Seoul',32400000,'Asia/Seoul') +INSERT INTO "system$timezone" VALUES(4222124650660146,'(GMT+08:00) Shanghai',28800000,'Asia/Shanghai') +INSERT INTO "system$timezone" VALUES(4222124650660147,'(GMT+08:00) Singapore',28800000,'Asia/Singapore') +INSERT INTO "system$timezone" VALUES(4222124650660148,'(GMT+11:00) Srednekolymsk',39600000,'Asia/Srednekolymsk') +INSERT INTO "system$timezone" VALUES(4222124650660149,'(GMT+08:00) Taipei',28800000,'Asia/Taipei') +INSERT INTO "system$timezone" VALUES(4222124650660150,'(GMT+05:00) Tashkent',18000000,'Asia/Tashkent') +INSERT INTO "system$timezone" VALUES(4222124650660151,'(GMT+04:00) Tbilisi',14400000,'Asia/Tbilisi') +INSERT INTO "system$timezone" VALUES(4222124650660152,'(GMT+03:30) Tehran',12600000,'Asia/Tehran') +INSERT INTO "system$timezone" VALUES(4222124650660153,'(GMT+02:00) Tel Aviv',7200000,'Asia/Tel_Aviv') +INSERT INTO "system$timezone" VALUES(4222124650660154,'(GMT+06:00) Thimbu',21600000,'Asia/Thimbu') +INSERT INTO "system$timezone" VALUES(4222124650660155,'(GMT+06:00) Thimphu',21600000,'Asia/Thimphu') +INSERT INTO "system$timezone" VALUES(4222124650660156,'(GMT+09:00) Tokyo',32400000,'Asia/Tokyo') +INSERT INTO "system$timezone" VALUES(4222124650660157,'(GMT+07:00) Tomsk',25200000,'Asia/Tomsk') +INSERT INTO "system$timezone" VALUES(4222124650660158,'(GMT+08:00) Ujung Pandang',28800000,'Asia/Ujung_Pandang') +INSERT INTO "system$timezone" VALUES(4222124650660159,'(GMT+08:00) Ulaanbaatar',28800000,'Asia/Ulaanbaatar') +INSERT INTO "system$timezone" VALUES(4222124650660160,'(GMT+08:00) Ulan Bator',28800000,'Asia/Ulan_Bator') +INSERT INTO "system$timezone" VALUES(4222124650660161,'(GMT+06:00) Urumqi',21600000,'Asia/Urumqi') +INSERT INTO "system$timezone" VALUES(4222124650660162,'(GMT+10:00) Ust-Nera',36000000,'Asia/Ust-Nera') +INSERT INTO "system$timezone" VALUES(4222124650660163,'(GMT+07:00) Vientiane',25200000,'Asia/Vientiane') +INSERT INTO "system$timezone" VALUES(4222124650660164,'(GMT+10:00) Vladivostok',36000000,'Asia/Vladivostok') +INSERT INTO "system$timezone" VALUES(4222124650660165,'(GMT+09:00) Yakutsk',32400000,'Asia/Yakutsk') +INSERT INTO "system$timezone" VALUES(4222124650660166,'(GMT+05:00) Yekaterinburg',18000000,'Asia/Yekaterinburg') +INSERT INTO "system$timezone" VALUES(4222124650660167,'(GMT+04:00) Yerevan',14400000,'Asia/Yerevan') +INSERT INTO "system$timezone" VALUES(4222124650660168,'(GMT-01:00) Azores',-3600000,'Atlantic/Azores') +INSERT INTO "system$timezone" VALUES(4222124650660169,'(GMT-04:00) Bermuda',-14400000,'Atlantic/Bermuda') +INSERT INTO "system$timezone" VALUES(4222124650660170,'(GMT+00:00) Canary',0,'Atlantic/Canary') +INSERT INTO "system$timezone" VALUES(4222124650660171,'(GMT-01:00) Cape Verde',-3600000,'Atlantic/Cape_Verde') +INSERT INTO "system$timezone" VALUES(4222124650660172,'(GMT+00:00) Faeroe',0,'Atlantic/Faeroe') +INSERT INTO "system$timezone" VALUES(4222124650660173,'(GMT+00:00) Faroe',0,'Atlantic/Faroe') +INSERT INTO "system$timezone" VALUES(4222124650660174,'(GMT+01:00) Jan Mayen',3600000,'Atlantic/Jan_Mayen') +INSERT INTO "system$timezone" VALUES(4222124650660175,'(GMT+00:00) Madeira',0,'Atlantic/Madeira') +INSERT INTO "system$timezone" VALUES(4222124650660176,'(GMT+00:00) Reykjavik',0,'Atlantic/Reykjavik') +INSERT INTO "system$timezone" VALUES(4222124650660177,'(GMT-02:00) South Georgia',-7200000,'Atlantic/South_Georgia') +INSERT INTO "system$timezone" VALUES(4222124650660178,'(GMT+00:00) St Helena',0,'Atlantic/St_Helena') +INSERT INTO "system$timezone" VALUES(4222124650660179,'(GMT-03:00) Stanley',-10800000,'Atlantic/Stanley') +INSERT INTO "system$timezone" VALUES(4222124650660180,'(GMT+10:00) ACT',36000000,'Australia/ACT') +INSERT INTO "system$timezone" VALUES(4222124650660181,'(GMT+09:30) Adelaide',34200000,'Australia/Adelaide') +INSERT INTO "system$timezone" VALUES(4222124650660182,'(GMT+10:00) Brisbane',36000000,'Australia/Brisbane') +INSERT INTO "system$timezone" VALUES(4222124650660183,'(GMT+09:30) Broken Hill',34200000,'Australia/Broken_Hill') +INSERT INTO "system$timezone" VALUES(4222124650660184,'(GMT+10:00) Canberra',36000000,'Australia/Canberra') +INSERT INTO "system$timezone" VALUES(4222124650660185,'(GMT+10:00) Currie',36000000,'Australia/Currie') +INSERT INTO "system$timezone" VALUES(4222124650660186,'(GMT+09:30) Darwin',34200000,'Australia/Darwin') +INSERT INTO "system$timezone" VALUES(4222124650660187,'(GMT+08:45) Eucla',31500000,'Australia/Eucla') +INSERT INTO "system$timezone" VALUES(4222124650660188,'(GMT+10:00) Hobart',36000000,'Australia/Hobart') +INSERT INTO "system$timezone" VALUES(4222124650660189,'(GMT+10:30) LHI',37800000,'Australia/LHI') +INSERT INTO "system$timezone" VALUES(4222124650660190,'(GMT+10:00) Lindeman',36000000,'Australia/Lindeman') +INSERT INTO "system$timezone" VALUES(4222124650660191,'(GMT+10:30) Lord Howe',37800000,'Australia/Lord_Howe') +INSERT INTO "system$timezone" VALUES(4222124650660192,'(GMT+10:00) Melbourne',36000000,'Australia/Melbourne') +INSERT INTO "system$timezone" VALUES(4222124650660193,'(GMT+10:00) NSW',36000000,'Australia/NSW') +INSERT INTO "system$timezone" VALUES(4222124650660194,'(GMT+09:30) North',34200000,'Australia/North') +INSERT INTO "system$timezone" VALUES(4222124650660195,'(GMT+08:00) Perth',28800000,'Australia/Perth') +INSERT INTO "system$timezone" VALUES(4222124650660196,'(GMT+10:00) Queensland',36000000,'Australia/Queensland') +INSERT INTO "system$timezone" VALUES(4222124650660197,'(GMT+09:30) South',34200000,'Australia/South') +INSERT INTO "system$timezone" VALUES(4222124650660198,'(GMT+10:00) Sydney',36000000,'Australia/Sydney') +INSERT INTO "system$timezone" VALUES(4222124650660199,'(GMT+10:00) Tasmania',36000000,'Australia/Tasmania') +INSERT INTO "system$timezone" VALUES(4222124650660200,'(GMT+10:00) Victoria',36000000,'Australia/Victoria') +INSERT INTO "system$timezone" VALUES(4222124650660201,'(GMT+08:00) West',28800000,'Australia/West') +INSERT INTO "system$timezone" VALUES(4222124650660202,'(GMT+09:30) Yancowinna',34200000,'Australia/Yancowinna') +INSERT INTO "system$timezone" VALUES(4222124650660203,'(GMT-05:00) Acre',-18000000,'Brazil/Acre') +INSERT INTO "system$timezone" VALUES(4222124650660204,'(GMT-02:00) DeNoronha',-7200000,'Brazil/DeNoronha') +INSERT INTO "system$timezone" VALUES(4222124650660205,'(GMT-03:00) East',-10800000,'Brazil/East') +INSERT INTO "system$timezone" VALUES(4222124650660206,'(GMT-04:00) West',-14400000,'Brazil/West') +INSERT INTO "system$timezone" VALUES(4222124650660207,'(GMT-04:00) Atlantic',-14400000,'Canada/Atlantic') +INSERT INTO "system$timezone" VALUES(4222124650660208,'(GMT-06:00) Central',-21600000,'Canada/Central') +INSERT INTO "system$timezone" VALUES(4222124650660209,'(GMT-06:00) East-Saskatchewan',-21600000,'Canada/East-Saskatchewan') +INSERT INTO "system$timezone" VALUES(4222124650660210,'(GMT-05:00) Eastern',-18000000,'Canada/Eastern') +INSERT INTO "system$timezone" VALUES(4222124650660211,'(GMT-07:00) Mountain',-25200000,'Canada/Mountain') +INSERT INTO "system$timezone" VALUES(4222124650660212,'(GMT-03:30) Newfoundland',-12600000,'Canada/Newfoundland') +INSERT INTO "system$timezone" VALUES(4222124650660213,'(GMT-08:00) Pacific',-28800000,'Canada/Pacific') +INSERT INTO "system$timezone" VALUES(4222124650660214,'(GMT-06:00) Saskatchewan',-21600000,'Canada/Saskatchewan') +INSERT INTO "system$timezone" VALUES(4222124650660215,'(GMT-08:00) Yukon',-28800000,'Canada/Yukon') +INSERT INTO "system$timezone" VALUES(4222124650660216,'(GMT-04:00) Continental',-14400000,'Chile/Continental') +INSERT INTO "system$timezone" VALUES(4222124650660217,'(GMT-06:00) EasterIsland',-21600000,'Chile/EasterIsland') +INSERT INTO "system$timezone" VALUES(4222124650660218,'(GMT+00:00) UTC',0,'Etc/UTC') +INSERT INTO "system$timezone" VALUES(4222124650660219,'(GMT+01:00) Amsterdam',3600000,'Europe/Amsterdam') +INSERT INTO "system$timezone" VALUES(4222124650660220,'(GMT+01:00) Andorra',3600000,'Europe/Andorra') +INSERT INTO "system$timezone" VALUES(4222124650660221,'(GMT+04:00) Astrakhan',14400000,'Europe/Astrakhan') +INSERT INTO "system$timezone" VALUES(4222124650660222,'(GMT+02:00) Athens',7200000,'Europe/Athens') +INSERT INTO "system$timezone" VALUES(4222124650660223,'(GMT+00:00) Belfast',0,'Europe/Belfast') +INSERT INTO "system$timezone" VALUES(4222124650660224,'(GMT+01:00) Belgrade',3600000,'Europe/Belgrade') +INSERT INTO "system$timezone" VALUES(4222124650660225,'(GMT+01:00) Berlin',3600000,'Europe/Berlin') +INSERT INTO "system$timezone" VALUES(4222124650660226,'(GMT+01:00) Bratislava',3600000,'Europe/Bratislava') +INSERT INTO "system$timezone" VALUES(4222124650660227,'(GMT+01:00) Brussels',3600000,'Europe/Brussels') +INSERT INTO "system$timezone" VALUES(4222124650660228,'(GMT+02:00) Bucharest',7200000,'Europe/Bucharest') +INSERT INTO "system$timezone" VALUES(4222124650660229,'(GMT+01:00) Budapest',3600000,'Europe/Budapest') +INSERT INTO "system$timezone" VALUES(4222124650660230,'(GMT+01:00) Busingen',3600000,'Europe/Busingen') +INSERT INTO "system$timezone" VALUES(4222124650660231,'(GMT+02:00) Chisinau',7200000,'Europe/Chisinau') +INSERT INTO "system$timezone" VALUES(4222124650660232,'(GMT+01:00) Copenhagen',3600000,'Europe/Copenhagen') +INSERT INTO "system$timezone" VALUES(4222124650660233,'(GMT+00:00) Dublin',0,'Europe/Dublin') +INSERT INTO "system$timezone" VALUES(4222124650660234,'(GMT+01:00) Gibraltar',3600000,'Europe/Gibraltar') +INSERT INTO "system$timezone" VALUES(4222124650660235,'(GMT+00:00) Guernsey',0,'Europe/Guernsey') +INSERT INTO "system$timezone" VALUES(4222124650660236,'(GMT+02:00) Helsinki',7200000,'Europe/Helsinki') +INSERT INTO "system$timezone" VALUES(4222124650660237,'(GMT+00:00) Isle of Man',0,'Europe/Isle_of_Man') +INSERT INTO "system$timezone" VALUES(4222124650660238,'(GMT+02:00) Istanbul',7200000,'Europe/Istanbul') +INSERT INTO "system$timezone" VALUES(4222124650660239,'(GMT+00:00) Jersey',0,'Europe/Jersey') +INSERT INTO "system$timezone" VALUES(4222124650660240,'(GMT+02:00) Kaliningrad',7200000,'Europe/Kaliningrad') +INSERT INTO "system$timezone" VALUES(4222124650660241,'(GMT+02:00) Kiev',7200000,'Europe/Kiev') +INSERT INTO "system$timezone" VALUES(4222124650660242,'(GMT+03:00) Kirov',10800000,'Europe/Kirov') +INSERT INTO "system$timezone" VALUES(4222124650660243,'(GMT+00:00) Lisbon',0,'Europe/Lisbon') +INSERT INTO "system$timezone" VALUES(4222124650660244,'(GMT+01:00) Ljubljana',3600000,'Europe/Ljubljana') +INSERT INTO "system$timezone" VALUES(4222124650660245,'(GMT+00:00) London',0,'Europe/London') +INSERT INTO "system$timezone" VALUES(4222124650660246,'(GMT+01:00) Luxembourg',3600000,'Europe/Luxembourg') +INSERT INTO "system$timezone" VALUES(4222124650660247,'(GMT+01:00) Madrid',3600000,'Europe/Madrid') +INSERT INTO "system$timezone" VALUES(4222124650660248,'(GMT+01:00) Malta',3600000,'Europe/Malta') +INSERT INTO "system$timezone" VALUES(4222124650660249,'(GMT+02:00) Mariehamn',7200000,'Europe/Mariehamn') +INSERT INTO "system$timezone" VALUES(4222124650660250,'(GMT+03:00) Minsk',10800000,'Europe/Minsk') +INSERT INTO "system$timezone" VALUES(4222124650660251,'(GMT+01:00) Monaco',3600000,'Europe/Monaco') +INSERT INTO "system$timezone" VALUES(4222124650660252,'(GMT+03:00) Moscow',10800000,'Europe/Moscow') +INSERT INTO "system$timezone" VALUES(4222124650660253,'(GMT+02:00) Nicosia',7200000,'Europe/Nicosia') +INSERT INTO "system$timezone" VALUES(4222124650660254,'(GMT+01:00) Oslo',3600000,'Europe/Oslo') +INSERT INTO "system$timezone" VALUES(4222124650660255,'(GMT+01:00) Paris',3600000,'Europe/Paris') +INSERT INTO "system$timezone" VALUES(4222124650660256,'(GMT+01:00) Podgorica',3600000,'Europe/Podgorica') +INSERT INTO "system$timezone" VALUES(4222124650660257,'(GMT+01:00) Prague',3600000,'Europe/Prague') +INSERT INTO "system$timezone" VALUES(4222124650660258,'(GMT+02:00) Riga',7200000,'Europe/Riga') +INSERT INTO "system$timezone" VALUES(4222124650660259,'(GMT+01:00) Rome',3600000,'Europe/Rome') +INSERT INTO "system$timezone" VALUES(4222124650660260,'(GMT+04:00) Samara',14400000,'Europe/Samara') +INSERT INTO "system$timezone" VALUES(4222124650660261,'(GMT+01:00) San Marino',3600000,'Europe/San_Marino') +INSERT INTO "system$timezone" VALUES(4222124650660262,'(GMT+01:00) Sarajevo',3600000,'Europe/Sarajevo') +INSERT INTO "system$timezone" VALUES(4222124650660263,'(GMT+03:00) Simferopol',10800000,'Europe/Simferopol') +INSERT INTO "system$timezone" VALUES(4222124650660264,'(GMT+01:00) Skopje',3600000,'Europe/Skopje') +INSERT INTO "system$timezone" VALUES(4222124650660265,'(GMT+02:00) Sofia',7200000,'Europe/Sofia') +INSERT INTO "system$timezone" VALUES(4222124650660266,'(GMT+01:00) Stockholm',3600000,'Europe/Stockholm') +INSERT INTO "system$timezone" VALUES(4222124650660267,'(GMT+02:00) Tallinn',7200000,'Europe/Tallinn') +INSERT INTO "system$timezone" VALUES(4222124650660268,'(GMT+01:00) Tirane',3600000,'Europe/Tirane') +INSERT INTO "system$timezone" VALUES(4222124650660269,'(GMT+02:00) Tiraspol',7200000,'Europe/Tiraspol') +INSERT INTO "system$timezone" VALUES(4222124650660270,'(GMT+04:00) Ulyanovsk',14400000,'Europe/Ulyanovsk') +INSERT INTO "system$timezone" VALUES(4222124650660271,'(GMT+02:00) Uzhgorod',7200000,'Europe/Uzhgorod') +INSERT INTO "system$timezone" VALUES(4222124650660272,'(GMT+01:00) Vaduz',3600000,'Europe/Vaduz') +INSERT INTO "system$timezone" VALUES(4222124650660273,'(GMT+01:00) Vatican',3600000,'Europe/Vatican') +INSERT INTO "system$timezone" VALUES(4222124650660274,'(GMT+01:00) Vienna',3600000,'Europe/Vienna') +INSERT INTO "system$timezone" VALUES(4222124650660275,'(GMT+02:00) Vilnius',7200000,'Europe/Vilnius') +INSERT INTO "system$timezone" VALUES(4222124650660276,'(GMT+03:00) Volgograd',10800000,'Europe/Volgograd') +INSERT INTO "system$timezone" VALUES(4222124650660277,'(GMT+01:00) Warsaw',3600000,'Europe/Warsaw') +INSERT INTO "system$timezone" VALUES(4222124650660278,'(GMT+01:00) Zagreb',3600000,'Europe/Zagreb') +INSERT INTO "system$timezone" VALUES(4222124650660279,'(GMT+02:00) Zaporozhye',7200000,'Europe/Zaporozhye') +INSERT INTO "system$timezone" VALUES(4222124650660280,'(GMT+01:00) Zurich',3600000,'Europe/Zurich') +INSERT INTO "system$timezone" VALUES(4222124650660281,'(GMT+03:00) Antananarivo',10800000,'Indian/Antananarivo') +INSERT INTO "system$timezone" VALUES(4222124650660282,'(GMT+06:00) Chagos',21600000,'Indian/Chagos') +INSERT INTO "system$timezone" VALUES(4222124650660283,'(GMT+07:00) Christmas',25200000,'Indian/Christmas') +INSERT INTO "system$timezone" VALUES(4222124650660284,'(GMT+06:30) Cocos',23400000,'Indian/Cocos') +INSERT INTO "system$timezone" VALUES(4222124650660285,'(GMT+03:00) Comoro',10800000,'Indian/Comoro') +INSERT INTO "system$timezone" VALUES(4222124650660286,'(GMT+05:00) Kerguelen',18000000,'Indian/Kerguelen') +INSERT INTO "system$timezone" VALUES(4222124650660287,'(GMT+04:00) Mahe',14400000,'Indian/Mahe') +INSERT INTO "system$timezone" VALUES(4222124650660288,'(GMT+05:00) Maldives',18000000,'Indian/Maldives') +INSERT INTO "system$timezone" VALUES(4222124650660289,'(GMT+04:00) Mauritius',14400000,'Indian/Mauritius') +INSERT INTO "system$timezone" VALUES(4222124650660290,'(GMT+03:00) Mayotte',10800000,'Indian/Mayotte') +INSERT INTO "system$timezone" VALUES(4222124650660291,'(GMT+04:00) Reunion',14400000,'Indian/Reunion') +INSERT INTO "system$timezone" VALUES(4222124650660292,'(GMT-08:00) BajaNorte',-28800000,'Mexico/BajaNorte') +INSERT INTO "system$timezone" VALUES(4222124650660293,'(GMT-07:00) BajaSur',-25200000,'Mexico/BajaSur') +INSERT INTO "system$timezone" VALUES(4222124650660294,'(GMT-06:00) General',-21600000,'Mexico/General') +INSERT INTO "system$timezone" VALUES(4222124650660295,'(GMT+13:00) Apia',46800000,'Pacific/Apia') +INSERT INTO "system$timezone" VALUES(4222124650660296,'(GMT+12:00) Auckland',43200000,'Pacific/Auckland') +INSERT INTO "system$timezone" VALUES(4222124650660297,'(GMT+11:00) Bougainville',39600000,'Pacific/Bougainville') +INSERT INTO "system$timezone" VALUES(4222124650660298,'(GMT+12:45) Chatham',45900000,'Pacific/Chatham') +INSERT INTO "system$timezone" VALUES(4222124650660299,'(GMT+10:00) Chuuk',36000000,'Pacific/Chuuk') +INSERT INTO "system$timezone" VALUES(4222124650660300,'(GMT-06:00) Easter',-21600000,'Pacific/Easter') +INSERT INTO "system$timezone" VALUES(4222124650660301,'(GMT+11:00) Efate',39600000,'Pacific/Efate') +INSERT INTO "system$timezone" VALUES(4222124650660302,'(GMT+13:00) Enderbury',46800000,'Pacific/Enderbury') +INSERT INTO "system$timezone" VALUES(4222124650660303,'(GMT+13:00) Fakaofo',46800000,'Pacific/Fakaofo') +INSERT INTO "system$timezone" VALUES(4222124650660304,'(GMT+12:00) Fiji',43200000,'Pacific/Fiji') +INSERT INTO "system$timezone" VALUES(4222124650660305,'(GMT+12:00) Funafuti',43200000,'Pacific/Funafuti') +INSERT INTO "system$timezone" VALUES(4222124650660306,'(GMT-06:00) Galapagos',-21600000,'Pacific/Galapagos') +INSERT INTO "system$timezone" VALUES(4222124650660307,'(GMT-09:00) Gambier',-32400000,'Pacific/Gambier') +INSERT INTO "system$timezone" VALUES(4222124650660308,'(GMT+11:00) Guadalcanal',39600000,'Pacific/Guadalcanal') +INSERT INTO "system$timezone" VALUES(4222124650660309,'(GMT+10:00) Guam',36000000,'Pacific/Guam') +INSERT INTO "system$timezone" VALUES(4222124650660310,'(GMT-10:00) Honolulu',-36000000,'Pacific/Honolulu') +INSERT INTO "system$timezone" VALUES(4222124650660311,'(GMT-10:00) Johnston',-36000000,'Pacific/Johnston') +INSERT INTO "system$timezone" VALUES(4222124650660312,'(GMT+14:00) Kiritimati',50400000,'Pacific/Kiritimati') +INSERT INTO "system$timezone" VALUES(4222124650660313,'(GMT+11:00) Kosrae',39600000,'Pacific/Kosrae') +INSERT INTO "system$timezone" VALUES(4222124650660314,'(GMT+12:00) Kwajalein',43200000,'Pacific/Kwajalein') +INSERT INTO "system$timezone" VALUES(4222124650660315,'(GMT+12:00) Majuro',43200000,'Pacific/Majuro') +INSERT INTO "system$timezone" VALUES(4222124650660316,'(GMT-09:30) Marquesas',-34200000,'Pacific/Marquesas') +INSERT INTO "system$timezone" VALUES(4222124650660317,'(GMT-11:00) Midway',-39600000,'Pacific/Midway') +INSERT INTO "system$timezone" VALUES(4222124650660318,'(GMT+12:00) Nauru',43200000,'Pacific/Nauru') +INSERT INTO "system$timezone" VALUES(4222124650660319,'(GMT-11:00) Niue',-39600000,'Pacific/Niue') +INSERT INTO "system$timezone" VALUES(4222124650660320,'(GMT+11:00) Norfolk',39600000,'Pacific/Norfolk') +INSERT INTO "system$timezone" VALUES(4222124650660321,'(GMT+11:00) Noumea',39600000,'Pacific/Noumea') +INSERT INTO "system$timezone" VALUES(4222124650660322,'(GMT-11:00) Pago Pago',-39600000,'Pacific/Pago_Pago') +INSERT INTO "system$timezone" VALUES(4222124650660323,'(GMT+09:00) Palau',32400000,'Pacific/Palau') +INSERT INTO "system$timezone" VALUES(4222124650660324,'(GMT-08:00) Pitcairn',-28800000,'Pacific/Pitcairn') +INSERT INTO "system$timezone" VALUES(4222124650660325,'(GMT+11:00) Pohnpei',39600000,'Pacific/Pohnpei') +INSERT INTO "system$timezone" VALUES(4222124650660326,'(GMT+11:00) Ponape',39600000,'Pacific/Ponape') +INSERT INTO "system$timezone" VALUES(4222124650660327,'(GMT+10:00) Port Moresby',36000000,'Pacific/Port_Moresby') +INSERT INTO "system$timezone" VALUES(4222124650660328,'(GMT-10:00) Rarotonga',-36000000,'Pacific/Rarotonga') +INSERT INTO "system$timezone" VALUES(4222124650660329,'(GMT+10:00) Saipan',36000000,'Pacific/Saipan') +INSERT INTO "system$timezone" VALUES(4222124650660330,'(GMT-11:00) Samoa',-39600000,'Pacific/Samoa') +INSERT INTO "system$timezone" VALUES(4222124650660331,'(GMT-10:00) Tahiti',-36000000,'Pacific/Tahiti') +INSERT INTO "system$timezone" VALUES(4222124650660332,'(GMT+12:00) Tarawa',43200000,'Pacific/Tarawa') +INSERT INTO "system$timezone" VALUES(4222124650660333,'(GMT+13:00) Tongatapu',46800000,'Pacific/Tongatapu') +INSERT INTO "system$timezone" VALUES(4222124650660334,'(GMT+10:00) Truk',36000000,'Pacific/Truk') +INSERT INTO "system$timezone" VALUES(4222124650660335,'(GMT+12:00) Wake',43200000,'Pacific/Wake') +INSERT INTO "system$timezone" VALUES(4222124650660336,'(GMT+12:00) Wallis',43200000,'Pacific/Wallis') +INSERT INTO "system$timezone" VALUES(4222124650660337,'(GMT+10:00) Yap',36000000,'Pacific/Yap') +INSERT INTO "system$timezone" VALUES(4222124650660338,'(GMT-09:00) Alaska',-32400000,'US/Alaska') +INSERT INTO "system$timezone" VALUES(4222124650660339,'(GMT-10:00) Aleutian',-36000000,'US/Aleutian') +INSERT INTO "system$timezone" VALUES(4222124650660340,'(GMT-07:00) Arizona',-25200000,'US/Arizona') +INSERT INTO "system$timezone" VALUES(4222124650660341,'(GMT-06:00) Central',-21600000,'US/Central') +INSERT INTO "system$timezone" VALUES(4222124650660342,'(GMT-05:00) East-Indiana',-18000000,'US/East-Indiana') +INSERT INTO "system$timezone" VALUES(4222124650660343,'(GMT-05:00) Eastern',-18000000,'US/Eastern') +INSERT INTO "system$timezone" VALUES(4222124650660344,'(GMT-10:00) Hawaii',-36000000,'US/Hawaii') +INSERT INTO "system$timezone" VALUES(4222124650660345,'(GMT-06:00) Indiana-Starke',-21600000,'US/Indiana-Starke') +INSERT INTO "system$timezone" VALUES(4222124650660346,'(GMT-05:00) Michigan',-18000000,'US/Michigan') +INSERT INTO "system$timezone" VALUES(4222124650660347,'(GMT-07:00) Mountain',-25200000,'US/Mountain') +INSERT INTO "system$timezone" VALUES(4222124650660348,'(GMT-08:00) Pacific',-28800000,'US/Pacific') +INSERT INTO "system$timezone" VALUES(4222124650660349,'(GMT-08:00) Pacific-New',-28800000,'US/Pacific-New') +INSERT INTO "system$timezone" VALUES(4222124650660350,'(GMT-11:00) Samoa',-39600000,'US/Samoa') +INSERT INTO "system$statistics" VALUES(4503599627370497,'2017-02-22 15:11:03.578000','2017-02-24 13:49:45.153000',1,0,0) +INSERT INTO "system$userrole" VALUES(4785074604081153,'8dd52bfa-6d7e-453b-b506-303c0a3d9567','','Administrator') +INSERT INTO "system$userrole" VALUES(4785074604081154,'53f5d6fa-6da9-4a71-b011-454ec052cce8','','User') +INSERT INTO "system$grantableroles" VALUES(4785074604081153,4785074604081153) +INSERT INTO "system$grantableroles" VALUES(4785074604081153,4785074604081154) +INSERT INTO "system$language" VALUES(6473924464345089,'English, United States','en_US') diff --git a/test/deployment/data/security.policy b/test/deployment/data/security.policy index 76f8e0f..38a4ff3 100644 --- a/test/deployment/data/security.policy +++ b/test/deployment/data/security.policy @@ -1,108 +1,135 @@ -ALLOW { - [org.osgi.service.condpermadmin.BundleLocationCondition "*project.jar"] - (org.osgi.framework.AdminPermission "*" "*" ) - (org.osgi.framework.PackagePermission "*" "exportonly,import" ) - (org.osgi.framework.ServicePermission "*" "get,register") - (org.osgi.framework.BundlePermission "*" "provide,require, host,fragment") - (org.osgi.service.event.TopicPermission "*" "publish,subscribe") - (java.lang.reflect.ReflectPermission "suppressAccessChecks") - (java.lang.RuntimePermission "accessClassInPackage.com.sun.org.apache.xerces.internal.*" "") - (java.lang.RuntimePermission "accessClassInPackage.sun.misc" "") - (java.lang.RuntimePermission "accessDeclaredMembers") - (java.lang.RuntimePermission "getProtectionDomain") - (java.lang.RuntimePermission "getClassLoader") - (java.lang.RuntimePermission "modifyThread" "") - (java.lang.RuntimePermission "setContextClassLoader") - (java.lang.RuntimePermission "setFactory") - (java.io.FilePermission "C:/Mendix/Widgets/GitHub/TooltipImage/test/deployment/data/tmp/-" "read,write,delete,execute") - (java.io.FilePermission "C:/Mendix/Widgets/GitHub/TooltipImage/test/deployment/model/resources/-" "read") - (java.io.FilePermission "C:/Mendix/Widgets/GitHub/TooltipImage/test/deployment/model/lib/-" "read") - (java.net.NetPermission "getProxySelector" "") - (java.net.NetPermission "specifyStreamHandler" "") - (java.security.SecurityPermission "insertProvider.BC" "") - (java.security.SecurityPermission "putProviderProperty.BC" "") - (java.util.logging.LoggingPermission "control" "") - (java.util.PropertyPermission "com.google.gdata.DisableCookieHandler" "read") - (java.util.PropertyPermission "com.sun.jersey.core.util.ReaderWriter.BufferSize" "read") - (java.util.PropertyPermission "com.sun.xml.fastinfoset.parser.buffer-size" "read") - (java.util.PropertyPermission "com.sun.xml.fastinfoset.parser.string-interning" "read") - (java.util.PropertyPermission "com.sun.xml.fastinfoset.serializer.character-encoding-scheme" "read") - (java.util.PropertyPermission "file.encoding" "read") - (java.util.PropertyPermission "file.separator" "read") - (java.util.PropertyPermission "glyphlist_ext" "read") - (java.util.PropertyPermission "HSSFRow.ColInitialCapacity" "read") - (java.util.PropertyPermission "HSSFSheet.RowInitialCapacity" "read") - (java.util.PropertyPermission "HSSFWorkbook.SheetInitialCapacity" "read") - (java.util.PropertyPermission "hornetq.version.property.filename" "read") - (java.util.PropertyPermission "http.strictPostRedirect" "read") - (java.util.PropertyPermission "https.cipherSuites" "read") - (java.util.PropertyPermission "https.protocols" "read") - (java.util.PropertyPermission "http://java.sun.com/xml/dom/properties/ancestor-check" "read") - (java.util.PropertyPermission "ical4j.*" "read,write") - (java.util.PropertyPermission "imgscalr.*" "read,write") - (java.util.PropertyPermission "java.home" "read") - (java.util.PropertyPermission "java.io.tmpdir" "read") - (java.util.PropertyPermission "java.protocol.handler.pkgs" "read, write") - (java.util.PropertyPermission "java.specification.version" "read") - (java.util.PropertyPermission "java.vendor" "read") - (java.util.PropertyPermission "java.vendor.url" "read") - (java.util.PropertyPermission "java.version" "read") - (java.util.PropertyPermission "java.vm.name" "read") - (java.util.PropertyPermission "java.vm.vendor" "read") - (java.util.PropertyPermission "java.vm.version" "read") - (java.util.PropertyPermission "javax.net.ssl.keyStore" "write") - (java.util.PropertyPermission "javax.net.ssl.keyStorePassword" "read,write") - (java.util.PropertyPermission "javax.net.ssl.trustStore" "read,write") - (java.util.PropertyPermission "javax.net.ssl.trustStorePassword" "read,write") - (java.util.PropertyPermission "jco.destinations.dir" "read") - (java.util.PropertyPermission "line.separator" "read,write") - (java.util.PropertyPermission "mail.smtp.auth" "read,write") - (java.util.PropertyPermission "mail.smtp.host" "read,write") - (java.util.PropertyPermission "mail.smtp.password" "read,write") - (java.util.PropertyPermission "mail.smtp.port" "read,write") - (java.util.PropertyPermission "mail.smtp.starttls.enable" "read,write") - (java.util.PropertyPermission "mail.smtp.user" "read,write") - (java.util.PropertyPermission "mapAnyUriToUri" "read") - (java.util.PropertyPermission "mustache.compile" "read,write") - (java.util.PropertyPermission "mustache.debug" "read,write") - (java.util.PropertyPermission "nd.org.xml.sax.parser read" "read,write") - (java.util.PropertyPermission "nd.org.xml.sax.parser" "read,write") - (java.util.PropertyPermission "net.fortuna.*" "read,write") - (java.util.PropertyPermission "org.apache.*" "read,write") - (java.util.PropertyPermission "org.bouncycastle.pkcs1.strict" "read") - (java.util.PropertyPermission "org.glassfish.web.rfc2109_cookie_names_enforced" "read") - (java.util.PropertyPermission "org.hornetq.opt.directblast" "read") - (java.util.PropertyPermission "org.hornetq.ssl.keyStoreProvider" "read") - (java.util.PropertyPermission "org.hornetq.ssl.trustStoreProvider" "read") - (java.util.PropertyPermission "org.imgscalr.*" "read,write") - (java.util.PropertyPermission "org.jboss.netty.debug" "read") - (java.util.PropertyPermission "org.postgresql.forceBinary" "read") - (java.util.PropertyPermission "org.springframework.*" "read write") - (java.util.PropertyPermission "org.owasp.*" "read,write") - (java.util.PropertyPermission "org.xml.sax.parser" "read,write") - (java.util.PropertyPermission "os.arch" "read") - (java.util.PropertyPermission "os.name" "read") - (java.util.PropertyPermission "os.version" "read") - (java.util.PropertyPermission "path.separator" "read") - (java.util.PropertyPermission "pdftextstripper.drop" "read") - (java.util.PropertyPermission "pdftextstripper.indent" "read") - (java.util.PropertyPermission "poi.keep.tmp.files" "read") - (java.util.PropertyPermission "saaj.lazy.contentlength" "read") - (java.util.PropertyPermission "ssl.KeyManagerFactory.algorithm" "read,write") - (java.util.PropertyPermission "smack.disabledClasses" "read,write") - (java.util.PropertyPermission "smack.provider.file" "read,write") - (java.util.PropertyPermission "sun.arch.data.model" "read,write") - (java.util.PropertyPermission "twitter4j.http.httpClient" "read,write") - (java.util.PropertyPermission "twitter4j.loggerFactory" "read,write") - (java.util.PropertyPermission "user.dir" "read") - (java.util.PropertyPermission "webdriver.remote.shorten_log_messages" "read") - (java.net.SocketPermission "*" "connect, accept") - (java.net.SocketPermission "localhost:0" "listen,resolve") - (javax.xml.bind.JAXBPermission "setDatatypeConverter") - (org.bouncycastle.jce.ProviderConfigurationPermission "BC" "ecImplicitlyCA, threadLocalEcImplicitlyCA") -} "Permissions for the project bundle" - -ALLOW { - [org.osgi.service.condpermadmin.BundleLocationCondition "*project.jar" "!"] - (java.security.AllPermission) -} "AllPermission to everything except project bundle" +ALLOW { + [org.osgi.service.condpermadmin.BundleLocationCondition "*project.jar"] + (org.osgi.framework.AdminPermission "*" "*" ) + (org.osgi.framework.PackagePermission "*" "exportonly,import" ) + (org.osgi.framework.ServicePermission "*" "get,register") + (org.osgi.framework.BundlePermission "*" "provide,require, host,fragment") + (org.osgi.service.event.TopicPermission "*" "publish,subscribe") + (java.lang.reflect.ReflectPermission "suppressAccessChecks") + (java.lang.management.ManagementPermission "monitor") + (java.lang.RuntimePermission "accessClassInPackage.com.sun.org.apache.xerces.internal.*" "") + (java.lang.RuntimePermission "accessClassInPackage.sun.misc" "") + (java.lang.RuntimePermission "accessDeclaredMembers") + (java.lang.RuntimePermission "getProtectionDomain") + (java.lang.RuntimePermission "getClassLoader") + (java.lang.RuntimePermission "modifyThread" "") + (java.lang.RuntimePermission "setContextClassLoader") + (java.lang.RuntimePermission "setFactory") + (java.lang.RuntimePermission "setIO") + (java.io.FilePermission "java:fonts" "read") + (java.io.FilePermission "C:/Users/PrestonA/Local/Github/TooltipImage/test/deployment/data/tmp/-" "read,write,delete,execute") + (java.io.FilePermission "C:/Users/PrestonA/Local/Github/TooltipImage/test/deployment/model/resources/-" "read") + (java.io.FilePermission "C:/Users/PrestonA/Local/Github/TooltipImage/test/deployment/model/lib/-" "read") + (java.net.NetPermission "getProxySelector" "") + (java.net.NetPermission "setDefaultAuthenticator" "") + (java.net.NetPermission "specifyStreamHandler" "") + (java.security.SecurityPermission "insertProvider.BC" "") + (java.security.SecurityPermission "putProviderProperty.BC" "") + (java.security.SecurityPermission "putProviderProperty.XMLDSig" "") + (java.util.logging.LoggingPermission "control" "") + (java.util.PropertyPermission "cglib.debugLocation" "read,write") + (java.util.PropertyPermission "com.amazonaws.*" "read,write") + (java.util.PropertyPermission "com.ctc.*" "read,write") + (java.util.PropertyPermission "com.google.gdata.DisableCookieHandler" "read") + (java.util.PropertyPermission "com.sun.jersey.core.util.ReaderWriter.BufferSize" "read") + (java.util.PropertyPermission "com.sun.xml.fastinfoset.parser.buffer-size" "read") + (java.util.PropertyPermission "com.sun.xml.fastinfoset.parser.string-interning" "read") + (java.util.PropertyPermission "com.sun.xml.fastinfoset.serializer.character-encoding-scheme" "read") + (java.util.PropertyPermission "com.warrenstrange.*" "read,write") + (java.util.PropertyPermission "file.encoding" "read") + (java.util.PropertyPermission "file.separator" "read") + (java.util.PropertyPermission "glyphlist_ext" "read") + (java.util.PropertyPermission "HSSFRow.*" "read") + (java.util.PropertyPermission "HSSFSheet.*" "read") + (java.util.PropertyPermission "HSSFWorkbook.*" "read") + (java.util.PropertyPermission "hornetq.version.property.filename" "read") + (java.util.PropertyPermission "http.agent" "read") + (java.util.PropertyPermission "http.keepAlive" "read,write") + (java.util.PropertyPermission "http.maxConnections" "read") + (java.util.PropertyPermission "http.proxyPassword" "read,write") + (java.util.PropertyPermission "http.proxyUser" "read,write") + (java.util.PropertyPermission "http.strictPostRedirect" "read") + (java.util.PropertyPermission "https.cipherSuites" "read") + (java.util.PropertyPermission "https.protocols" "read") + (java.util.PropertyPermission "http://java.sun.com/xml/dom/properties/ancestor-check" "read") + (java.util.PropertyPermission "ical4j.*" "read,write") + (java.util.PropertyPermission "imgscalr.*" "read,write") + (java.util.PropertyPermission "java.home" "read") + (java.util.PropertyPermission "java.io.tmpdir" "read") + (java.util.PropertyPermission "java.protocol.handler.pkgs" "read, write") + (java.util.PropertyPermission "java.runtime.name" "read") + (java.util.PropertyPermission "java.runtime.version" "read") + (java.util.PropertyPermission "java.specification.version" "read") + (java.util.PropertyPermission "java.vendor" "read") + (java.util.PropertyPermission "java.vendor.url" "read") + (java.util.PropertyPermission "java.version" "read") + (java.util.PropertyPermission "java.vm.name" "read") + (java.util.PropertyPermission "java.vm.vendor" "read") + (java.util.PropertyPermission "java.vm.version" "read") + (java.util.PropertyPermission "java.security.krb5.conf" "read,write") + (java.util.PropertyPermission "javax.net.ssl.*" "read,write") + (java.util.PropertyPermission "jcifs.properties" "read,write") + (java.util.PropertyPermission "jco.destinations.dir" "read") + (java.util.PropertyPermission "line.separator" "read,write") + (java.util.PropertyPermission "mail.smtp.auth" "read,write") + (java.util.PropertyPermission "mail.smtp.host" "read,write") + (java.util.PropertyPermission "mail.smtp.password" "read,write") + (java.util.PropertyPermission "mail.smtp.port" "read,write") + (java.util.PropertyPermission "mail.smtp.starttls.enable" "read,write") + (java.util.PropertyPermission "mail.smtp.user" "read,write") + (java.util.PropertyPermission "mapAnyUriToUri" "read") + (java.util.PropertyPermission "mustache.compile" "read,write") + (java.util.PropertyPermission "mustache.debug" "read,write") + (java.util.PropertyPermission "nd.org.xml.sax.parser read" "read,write") + (java.util.PropertyPermission "nd.org.xml.sax.parser" "read,write") + (java.util.PropertyPermission "net.fortuna.*" "read,write") + (java.util.PropertyPermission "net.sf.ehcache.store.config.*" "read,write") + (java.util.PropertyPermission "oracle.*" "read,write") + (java.util.PropertyPermission "org.apache.*" "read,write") + (java.util.PropertyPermission "org.bouncycastle.pkcs1.strict" "read") + (java.util.PropertyPermission "org.glassfish.web.rfc2109_cookie_names_enforced" "read") + (java.util.PropertyPermission "org.hornetq.opt.directblast" "read") + (java.util.PropertyPermission "org.hornetq.ssl.keyStoreProvider" "read") + (java.util.PropertyPermission "org.hornetq.ssl.trustStoreProvider" "read") + (java.util.PropertyPermission "org.imgscalr.*" "read,write") + (java.util.PropertyPermission "org.jboss.netty.debug" "read") + (java.util.PropertyPermission "org.postgresql.forceBinary" "read") + (java.util.PropertyPermission "org.springframework.*" "read write") + (java.util.PropertyPermission "org.owasp.*" "read,write") + (java.util.PropertyPermission "org.xml.sax.parser" "read,write") + (java.util.PropertyPermission "org.w3c.dom.DOMImplementationSourceList" "read,write") + (java.util.PropertyPermission "os.arch" "read") + (java.util.PropertyPermission "os.name" "read") + (java.util.PropertyPermission "os.version" "read") + (java.util.PropertyPermission "path.separator" "read") + (java.util.PropertyPermission "pdftextstripper.drop" "read") + (java.util.PropertyPermission "pdftextstripper.indent" "read") + (java.util.PropertyPermission "poi.keep.tmp.files" "read") + (java.util.PropertyPermission "saaj.lazy.contentlength" "read") + (java.util.PropertyPermission "slf4j.detectLoggerNameMismatch" "read") + (java.util.PropertyPermission "smack.disabledClasses" "read,write") + (java.util.PropertyPermission "smack.provider.file" "read,write") + (java.util.PropertyPermission "ssl.KeyManagerFactory.algorithm" "read,write") + (java.util.PropertyPermission "sun.arch.data.model" "read,write") + (java.util.PropertyPermission "sun.net.spi.nameservice.*" "read,write") + (java.util.PropertyPermission "twitter4j.http.httpClient" "read,write") + (java.util.PropertyPermission "twitter4j.loggerFactory" "read,write") + (java.util.PropertyPermission "user.*" "read,write") + (java.util.PropertyPermission "webdriver.chrome.verboseLogging" "read") + (java.util.PropertyPermission "webdriver.remote.shorten_log_messages" "read") + (java.util.PropertyPermission "webdriver.chrome.silentOutput" "read") + (java.util.PropertyPermission "webdriver.chrome.whitelistedIps" "read") + (java.net.SocketPermission "*" "connect, accept") + (java.net.SocketPermission "localhost:0" "listen,resolve") + (javax.management.MBeanPermission "*" "*") + (javax.management.MBeanServerPermission "*") + (javax.management.MBeanTrustPermission "*") + (javax.security.auth.AuthPermission "createLoginContext.mendix-client" "") + (javax.xml.bind.JAXBPermission "setDatatypeConverter") + (org.bouncycastle.jce.ProviderConfigurationPermission "BC" "ecImplicitlyCA, threadLocalEcImplicitlyCA") +} "Permissions for the project bundle" + +ALLOW { + [org.osgi.service.condpermadmin.BundleLocationCondition "*project.jar" "!"] + (java.security.AllPermission) +} "AllPermission to everything except project bundle" diff --git a/test/deployment/log/build_core_clean_log.txt b/test/deployment/log/build_core_clean_log.txt index e942069..71f9195 100644 --- a/test/deployment/log/build_core_clean_log.txt +++ b/test/deployment/log/build_core_clean_log.txt @@ -1,11 +1,9 @@ -Buildfile: C:\Mendix\Widgets\GitHub\TooltipImage\test\deployment\build_core.xml - -clean: - [delete] Deleting directory C:\Mendix\Widgets\GitHub\TooltipImage\test\deployment\model - [delete] Deleting directory C:\Mendix\Widgets\GitHub\TooltipImage\test\deployment\run - -BUILD SUCCESSFUL -Total time: 1 second - - - +Buildfile: C:\Users\PrestonA\Local\Github\TooltipImage\test\deployment\build_core.xml + +clean: + +BUILD SUCCESSFUL +Total time: 0 seconds + + + diff --git a/test/deployment/log/build_core_compile_log.txt b/test/deployment/log/build_core_compile_log.txt index c54deaf..ef7c9dd 100644 --- a/test/deployment/log/build_core_compile_log.txt +++ b/test/deployment/log/build_core_compile_log.txt @@ -1,21 +1,23 @@ -Buildfile: C:\Mendix\Widgets\GitHub\TooltipImage\test\deployment\build_core.xml - -compile: - [javac] Compiling 2 source files to C:\Mendix\Widgets\GitHub\TooltipImage\test\deployment\run\bin - [javac] Note: C:\Mendix\Widgets\GitHub\TooltipImage\test\javasource\com\mendix\core\Core.java uses unchecked or unsafe operations. - [javac] Note: Recompile with -Xlint:unchecked for details. - -build: - [bnd] # addAll 'deployment/run/bnd.bnd' with , - [bnd] Warnings - [bnd] Split package, multiple jars provide the same package:com/mendix/core - [bnd] Use Import/Export Package directive -split-package:=(merge-first|merge-last|error|first) to get rid of this warning - [bnd] Package found in [Jar:mxruntime, Jar:run] - [bnd] Class path [Jar:biz.aQute.bnd.annotation, Jar:org.scala-lang.scala-library, Jar:datastorage-api, Jar:json, Jar:logging, Jar:m2ee-api, Jar:mxruntime, Jar:integration, Jar:osgi.cmpn, Jar:webui, Jar:javax.servlet, Jar:antisamy-1.4.4, Jar:antisamy-1.5.3, Jar:com.google.guava-14.0.1, Jar:com.mendix.webservices-rt-2.1.0, Jar:com.springsource.org.apache.batik.css-1.7.0, Jar:com.springsource.org.apache.commons.httpclient-3.1.0, Jar:com.springsource.org.apache.commons.lang-2.5.0, Jar:com.springsource.org.apache.commons.logging-1.1.1, Jar:com.sun.mail.javax.mail-1.4.5, Jar:commons-codec-1.3, Jar:commons-fileupload-1.2.1, Jar:commons-io-2.3, Jar:commons-lang-2.5, Jar:fontbox-1.8.5, Jar:guava-12.0, Jar:javax.servlet-3.0.0, Jar:jempbox-1.8.5, Jar:joda-time-1.6.2, Jar:nekohtml, Jar:org.apache.commons.fileupload-1.2.1, Jar:org.apache.commons.io-2.3.0, Jar:org.apache.commons.lang3, Jar:org.apache.servicemix.bundles.avalon-framework-4.3.1, Jar:org.apache.servicemix.bundles.batik-1.7.0, Jar:org.apache.servicemix.bundles.commons-codec-1.3.0, Jar:org.apache.servicemix.bundles.xalan-2.7.1, Jar:org.apache.servicemix.bundles.xerces-2.11.0, Jar:org.glassfish.metro.webservices-api-osgi-2.2.0, Jar:pdfbox-1.8.5, Jar:xml-apis-ext, Jar:run] - [bnd] # project (project.jar) 197 - -BUILD SUCCESSFUL -Total time: 14 seconds - - - +Buildfile: C:\Users\PrestonA\Local\Github\TooltipImage\test\deployment\build_core.xml + +compile: + [javac] Compiling 2 source files to C:\Users\PrestonA\Local\Github\TooltipImage\test\deployment\run\bin + [javac] Note: C:\Users\PrestonA\Local\Github\TooltipImage\test\javasource\com\mendix\core\Core.java uses or overrides a deprecated API. + [javac] Note: Recompile with -Xlint:deprecation for details. + [javac] Note: C:\Users\PrestonA\Local\Github\TooltipImage\test\javasource\com\mendix\core\Core.java uses unchecked or unsafe operations. + [javac] Note: Recompile with -Xlint:unchecked for details. + +build: + [bnd] # addAll 'deployment/run/bnd.bnd' with , + [bnd] Warnings + [bnd] Split package, multiple jars provide the same package:com/mendix/core + [bnd] Use Import/Export Package directive -split-package:=(merge-first|merge-last|error|first) to get rid of this warning + [bnd] Package found in [Jar:com.mendix.mxruntime, Jar:run] + [bnd] Class path [Jar:biz.aQute.bnd.bndlib, Jar:org.scala-lang.scala-library, Jar:com.mendix.datastorage-api, Jar:com.mendix.json, Jar:com.mendix.logging, Jar:com.mendix.m2ee-api, Jar:com.mendix.mxruntime, Jar:com.mendix.integration, Jar:org.osgi.compendium, Jar:com.mendix.webui, Jar:javax.servlet, Jar:axiom-api-1.2.12, Jar:commons-lang-2.5, Jar:commons-logging-1.1, Jar:guice-2.0, Jar:openid4java-0.9.8, Jar:openid4java-1.0.0, Jar:org.apache.httpcomponents.httpclient-osgi, Jar:org.apache.httpcomponents.httpcore-osgi, Jar:run] + [bnd] # project (project.jar) 80 + +BUILD SUCCESSFUL +Total time: 2 seconds + + + diff --git a/test/deployment/log/build_core_deploy_log.txt b/test/deployment/log/build_core_deploy_log.txt index 5f80906..d91f2b0 100644 --- a/test/deployment/log/build_core_deploy_log.txt +++ b/test/deployment/log/build_core_deploy_log.txt @@ -1,10 +1,10 @@ -Buildfile: C:\Mendix\Widgets\GitHub\TooltipImage\test\deployment\build_core.xml - -deploy: - [unzip] Expanding: C:\Program Files\Mendix\5.16.0\modeler\deployment.mxz into C:\Mendix\Widgets\GitHub\TooltipImage\test\deployment - -BUILD SUCCESSFUL -Total time: 0 seconds - - - +Buildfile: C:\Users\PrestonA\Local\Github\TooltipImage\test\deployment\build_core.xml + +deploy: + [unzip] Expanding: C:\Program Files\Mendix\6.10.3\modeler\deployment.mxz into C:\Users\PrestonA\Local\Github\TooltipImage\test\deployment + +BUILD SUCCESSFUL +Total time: 0 seconds + + + diff --git a/test/deployment/log/build_webui_clean_log.txt b/test/deployment/log/build_webui_clean_log.txt deleted file mode 100644 index bd2d8fa..0000000 --- a/test/deployment/log/build_webui_clean_log.txt +++ /dev/null @@ -1,8 +0,0 @@ -Buildfile: C:\Projects\Tickets - Projects\100705 - Tooltip trigger\MX5.6.2\deployment\build_webui.xml - -clean: - -BUILD SUCCESSFUL -Total time: 0 seconds - - diff --git a/test/deployment/log/build_webui_deploy_log.txt b/test/deployment/log/build_webui_deploy_log.txt deleted file mode 100644 index 0e32912..0000000 --- a/test/deployment/log/build_webui_deploy_log.txt +++ /dev/null @@ -1,9 +0,0 @@ -Buildfile: C:\Projects\GitHub\TooltipImage\test\deployment\build_webui.xml - -deploy: - [unzip] Expanding: C:\Projects\GitHub\TooltipImage\test\widgets\TooltipImage.mpk into C:\Projects\GitHub\TooltipImage\test\deployment\web\widgets - -BUILD SUCCESSFUL -Total time: 0 seconds - - diff --git a/test/deployment/log/m2ee_log.txt b/test/deployment/log/m2ee_log.txt index 0502ede..e7db904 100644 --- a/test/deployment/log/m2ee_log.txt +++ b/test/deployment/log/m2ee_log.txt @@ -1,4 +1 @@ -ShellTUI: Unable to read from stdin...exiting. --> - - +ShellTUI: Unable to read from stdin...exiting. diff --git a/test/javasource/administration/proxies/Account.java b/test/javasource/administration/proxies/Account.java index e404f88..3d4ac6d 100644 --- a/test/javasource/administration/proxies/Account.java +++ b/test/javasource/administration/proxies/Account.java @@ -1,24 +1,15 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package administration.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ public class Account extends system.proxies.User { /** * Internal name of this entity */ - public static final String entityName = "Administration.Account"; + public static final java.lang.String entityName = "Administration.Account"; /** * Enum describing members of this entity @@ -26,6 +17,8 @@ public class Account extends system.proxies.User public enum MemberNames { FullName("FullName"), + Email("Email"), + IsLocalUser("IsLocalUser"), Name("Name"), Password("Password"), LastLogin("LastLogin"), @@ -38,37 +31,37 @@ public enum MemberNames User_Language("System.User_Language"), User_TimeZone("System.User_TimeZone"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public Account(IContext context) + public Account(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "Administration.Account")); + this(context, com.mendix.core.Core.instantiate(context, "Administration.Account")); } - protected Account(IContext context, IMendixObject accountMendixObject) + protected Account(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject accountMendixObject) { super(context, accountMendixObject); - if (!Core.isSubClassOf("Administration.Account", accountMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a Administration.Account"); + if (!com.mendix.core.Core.isSubClassOf("Administration.Account", accountMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a Administration.Account"); } /** * @deprecated Use 'Account.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static administration.proxies.Account initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static administration.proxies.Account initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return administration.proxies.Account.load(context, mendixIdentifier); } @@ -77,21 +70,21 @@ public static administration.proxies.Account initialize(IContext context, IMendi * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static administration.proxies.Account initialize(IContext context, IMendixObject mendixObject) + public static administration.proxies.Account initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { return new administration.proxies.Account(context, mendixObject); } - public static administration.proxies.Account load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static administration.proxies.Account load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return administration.proxies.Account.initialize(context, mendixObject); } - public static java.util.List load(IContext context, String xpathConstraint) throws CoreException + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//Administration.Account" + xpathConstraint)) + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//Administration.Account" + xpathConstraint)) result.add(administration.proxies.Account.initialize(context, obj)); return result; } @@ -99,7 +92,7 @@ public static java.util.List load(IContext conte /** * @return value of FullName */ - public final String getFullName() + public final java.lang.String getFullName() { return getFullName(getContext()); } @@ -108,16 +101,16 @@ public final String getFullName() * @param context * @return value of FullName */ - public final String getFullName(IContext context) + public final java.lang.String getFullName(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.FullName.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.FullName.toString()); } /** * Set value of FullName * @param fullname */ - public final void setFullName(String fullname) + public final void setFullName(java.lang.String fullname) { setFullName(getContext(), fullname); } @@ -127,11 +120,83 @@ public final void setFullName(String fullname) * @param context * @param fullname */ - public final void setFullName(IContext context, String fullname) + public final void setFullName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String fullname) { getMendixObject().setValue(context, MemberNames.FullName.toString(), fullname); } + /** + * @return value of Email + */ + public final java.lang.String getEmail() + { + return getEmail(getContext()); + } + + /** + * @param context + * @return value of Email + */ + public final java.lang.String getEmail(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Email.toString()); + } + + /** + * Set value of Email + * @param email + */ + public final void setEmail(java.lang.String email) + { + setEmail(getContext(), email); + } + + /** + * Set value of Email + * @param context + * @param email + */ + public final void setEmail(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String email) + { + getMendixObject().setValue(context, MemberNames.Email.toString(), email); + } + + /** + * @return value of IsLocalUser + */ + public final java.lang.Boolean getIsLocalUser() + { + return getIsLocalUser(getContext()); + } + + /** + * @param context + * @return value of IsLocalUser + */ + public final java.lang.Boolean getIsLocalUser(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.IsLocalUser.toString()); + } + + /** + * Set value of IsLocalUser + * @param islocaluser + */ + public final void setIsLocalUser(java.lang.Boolean islocaluser) + { + setIsLocalUser(getContext(), islocaluser); + } + + /** + * Set value of IsLocalUser + * @param context + * @param islocaluser + */ + public final void setIsLocalUser(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean islocaluser) + { + getMendixObject().setValue(context, MemberNames.IsLocalUser.toString(), islocaluser); + } + @Override public boolean equals(Object obj) { @@ -155,7 +220,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "Administration.Account"; } @@ -166,7 +231,7 @@ public static String getType() */ @Override @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/administration/proxies/AccountPasswordData.java b/test/javasource/administration/proxies/AccountPasswordData.java index 4867a0b..433714d 100644 --- a/test/javasource/administration/proxies/AccountPasswordData.java +++ b/test/javasource/administration/proxies/AccountPasswordData.java @@ -1,28 +1,19 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package administration.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ public class AccountPasswordData { - private final IMendixObject accountPasswordDataMendixObject; + private final com.mendix.systemwideinterfaces.core.IMendixObject accountPasswordDataMendixObject; - private final IContext context; + private final com.mendix.systemwideinterfaces.core.IContext context; /** * Internal name of this entity */ - public static final String entityName = "Administration.AccountPasswordData"; + public static final java.lang.String entityName = "Administration.AccountPasswordData"; /** * Enum describing members of this entity @@ -34,31 +25,31 @@ public enum MemberNames ConfirmPassword("ConfirmPassword"), AccountPasswordData_Account("Administration.AccountPasswordData_Account"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public AccountPasswordData(IContext context) + public AccountPasswordData(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "Administration.AccountPasswordData")); + this(context, com.mendix.core.Core.instantiate(context, "Administration.AccountPasswordData")); } - protected AccountPasswordData(IContext context, IMendixObject accountPasswordDataMendixObject) + protected AccountPasswordData(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject accountPasswordDataMendixObject) { if (accountPasswordDataMendixObject == null) - throw new IllegalArgumentException("The given object cannot be null."); - if (!Core.isSubClassOf("Administration.AccountPasswordData", accountPasswordDataMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a Administration.AccountPasswordData"); + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("Administration.AccountPasswordData", accountPasswordDataMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a Administration.AccountPasswordData"); this.accountPasswordDataMendixObject = accountPasswordDataMendixObject; this.context = context; @@ -68,7 +59,7 @@ protected AccountPasswordData(IContext context, IMendixObject accountPasswordDat * @deprecated Use 'AccountPasswordData.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static administration.proxies.AccountPasswordData initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static administration.proxies.AccountPasswordData initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return administration.proxies.AccountPasswordData.load(context, mendixIdentifier); } @@ -77,31 +68,31 @@ public static administration.proxies.AccountPasswordData initialize(IContext con * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static administration.proxies.AccountPasswordData initialize(IContext context, IMendixObject mendixObject) + public static administration.proxies.AccountPasswordData initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { return new administration.proxies.AccountPasswordData(context, mendixObject); } - public static administration.proxies.AccountPasswordData load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static administration.proxies.AccountPasswordData load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return administration.proxies.AccountPasswordData.initialize(context, mendixObject); } /** * Commit the changes made on this proxy object. */ - public final void commit() throws CoreException + public final void commit() throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** * Commit the changes made on this proxy object using the specified context. */ - public final void commit(IContext context) throws CoreException + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** @@ -109,20 +100,20 @@ public final void commit(IContext context) throws CoreException */ public final void delete() { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * Delete the object using the specified context. */ - public final void delete(IContext context) + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * @return value of OldPassword */ - public final String getOldPassword() + public final java.lang.String getOldPassword() { return getOldPassword(getContext()); } @@ -131,16 +122,16 @@ public final String getOldPassword() * @param context * @return value of OldPassword */ - public final String getOldPassword(IContext context) + public final java.lang.String getOldPassword(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.OldPassword.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.OldPassword.toString()); } /** * Set value of OldPassword * @param oldpassword */ - public final void setOldPassword(String oldpassword) + public final void setOldPassword(java.lang.String oldpassword) { setOldPassword(getContext(), oldpassword); } @@ -150,7 +141,7 @@ public final void setOldPassword(String oldpassword) * @param context * @param oldpassword */ - public final void setOldPassword(IContext context, String oldpassword) + public final void setOldPassword(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String oldpassword) { getMendixObject().setValue(context, MemberNames.OldPassword.toString(), oldpassword); } @@ -158,7 +149,7 @@ public final void setOldPassword(IContext context, String oldpassword) /** * @return value of NewPassword */ - public final String getNewPassword() + public final java.lang.String getNewPassword() { return getNewPassword(getContext()); } @@ -167,16 +158,16 @@ public final String getNewPassword() * @param context * @return value of NewPassword */ - public final String getNewPassword(IContext context) + public final java.lang.String getNewPassword(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.NewPassword.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.NewPassword.toString()); } /** * Set value of NewPassword * @param newpassword */ - public final void setNewPassword(String newpassword) + public final void setNewPassword(java.lang.String newpassword) { setNewPassword(getContext(), newpassword); } @@ -186,7 +177,7 @@ public final void setNewPassword(String newpassword) * @param context * @param newpassword */ - public final void setNewPassword(IContext context, String newpassword) + public final void setNewPassword(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String newpassword) { getMendixObject().setValue(context, MemberNames.NewPassword.toString(), newpassword); } @@ -194,7 +185,7 @@ public final void setNewPassword(IContext context, String newpassword) /** * @return value of ConfirmPassword */ - public final String getConfirmPassword() + public final java.lang.String getConfirmPassword() { return getConfirmPassword(getContext()); } @@ -203,16 +194,16 @@ public final String getConfirmPassword() * @param context * @return value of ConfirmPassword */ - public final String getConfirmPassword(IContext context) + public final java.lang.String getConfirmPassword(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.ConfirmPassword.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.ConfirmPassword.toString()); } /** * Set value of ConfirmPassword * @param confirmpassword */ - public final void setConfirmPassword(String confirmpassword) + public final void setConfirmPassword(java.lang.String confirmpassword) { setConfirmPassword(getContext(), confirmpassword); } @@ -222,7 +213,7 @@ public final void setConfirmPassword(String confirmpassword) * @param context * @param confirmpassword */ - public final void setConfirmPassword(IContext context, String confirmpassword) + public final void setConfirmPassword(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String confirmpassword) { getMendixObject().setValue(context, MemberNames.ConfirmPassword.toString(), confirmpassword); } @@ -230,7 +221,7 @@ public final void setConfirmPassword(IContext context, String confirmpassword) /** * @return value of AccountPasswordData_Account */ - public final administration.proxies.Account getAccountPasswordData_Account() throws CoreException + public final administration.proxies.Account getAccountPasswordData_Account() throws com.mendix.core.CoreException { return getAccountPasswordData_Account(getContext()); } @@ -239,10 +230,10 @@ public final administration.proxies.Account getAccountPasswordData_Account() thr * @param context * @return value of AccountPasswordData_Account */ - public final administration.proxies.Account getAccountPasswordData_Account(IContext context) throws CoreException + public final administration.proxies.Account getAccountPasswordData_Account(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { administration.proxies.Account result = null; - IMendixIdentifier identifier = getMendixObject().getValue(context, MemberNames.AccountPasswordData_Account.toString()); + com.mendix.systemwideinterfaces.core.IMendixIdentifier identifier = getMendixObject().getValue(context, MemberNames.AccountPasswordData_Account.toString()); if (identifier != null) result = administration.proxies.Account.load(context, identifier); return result; @@ -262,7 +253,7 @@ public final void setAccountPasswordData_Account(administration.proxies.Account * @param context * @param accountpassworddata_account */ - public final void setAccountPasswordData_Account(IContext context, administration.proxies.Account accountpassworddata_account) + public final void setAccountPasswordData_Account(com.mendix.systemwideinterfaces.core.IContext context, administration.proxies.Account accountpassworddata_account) { if (accountpassworddata_account == null) getMendixObject().setValue(context, MemberNames.AccountPasswordData_Account.toString(), null); @@ -273,7 +264,7 @@ public final void setAccountPasswordData_Account(IContext context, administratio /** * @return the IMendixObject instance of this proxy for use in the Core interface. */ - public final IMendixObject getMendixObject() + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() { return accountPasswordDataMendixObject; } @@ -281,7 +272,7 @@ public final IMendixObject getMendixObject() /** * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. */ - public final IContext getContext() + public final com.mendix.systemwideinterfaces.core.IContext getContext() { return context; } @@ -309,7 +300,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "Administration.AccountPasswordData"; } @@ -319,7 +310,7 @@ public static String getType() * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. */ @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/administration/proxies/microflows/Microflows.java b/test/javasource/administration/proxies/microflows/Microflows.java index 1507592..a0ee3b7 100644 --- a/test/javasource/administration/proxies/microflows/Microflows.java +++ b/test/javasource/administration/proxies/microflows/Microflows.java @@ -1,4 +1,4 @@ -// This file was generated by Mendix Business Modeler 5.0. +// This file was generated by Mendix Modeler 6.10. // // WARNING: Code you write here will be lost the next time you deploy the project. @@ -15,12 +15,11 @@ public class Microflows { // These are the microflows for the Administration module - public static void changeMyPassword(IContext context, administration.proxies.AccountPasswordData _accountPasswordData) { try { - Map params = new HashMap(); + Map params = new HashMap(); params.put("AccountPasswordData", _accountPasswordData == null ? null : _accountPasswordData.getMendixObject()); Core.execute(context, "Administration.ChangeMyPassword", params); } @@ -29,12 +28,11 @@ public static void changeMyPassword(IContext context, administration.proxies.Acc throw new MendixRuntimeException(e); } } - public static void changePassword(IContext context, administration.proxies.AccountPasswordData _accountPasswordData) { try { - Map params = new HashMap(); + Map params = new HashMap(); params.put("AccountPasswordData", _accountPasswordData == null ? null : _accountPasswordData.getMendixObject()); Core.execute(context, "Administration.ChangePassword", params); } @@ -43,12 +41,24 @@ public static void changePassword(IContext context, administration.proxies.Accou throw new MendixRuntimeException(e); } } - + public static void iVK_RetrieveAppCloudUserAccountData(IContext context, administration.proxies.Account _account) + { + try + { + Map params = new HashMap(); + params.put("Account", _account == null ? null : _account.getMendixObject()); + Core.execute(context, "Administration.IVK_RetrieveAppCloudUserAccountData", params); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } public static void manageMyAccount(IContext context) { try { - Map params = new HashMap(); + Map params = new HashMap(); Core.execute(context, "Administration.ManageMyAccount", params); } catch (CoreException e) @@ -56,12 +66,11 @@ public static void manageMyAccount(IContext context) throw new MendixRuntimeException(e); } } - public static void newAccount(IContext context) { try { - Map params = new HashMap(); + Map params = new HashMap(); Core.execute(context, "Administration.NewAccount", params); } catch (CoreException e) @@ -69,12 +78,15 @@ public static void newAccount(IContext context) throw new MendixRuntimeException(e); } } - + /** + * Create a new user object and change the default attribute values so the user will be handled as a webservice user. + * Finally open the User_NewEdit form so all remaing user information can be set. + */ public static void newWebServiceAccount(IContext context) { try { - Map params = new HashMap(); + Map params = new HashMap(); Core.execute(context, "Administration.NewWebServiceAccount", params); } catch (CoreException e) @@ -82,12 +94,24 @@ public static void newWebServiceAccount(IContext context) throw new MendixRuntimeException(e); } } - + public static void onFirstLoginAppCloudUser(IContext context, java.lang.String _userIdentity) + { + try + { + Map params = new HashMap(); + params.put("UserIdentity", _userIdentity); + Core.execute(context, "Administration.OnFirstLoginAppCloudUser", params); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } public static java.util.List retrieveTimeZones(IContext context) { try { - Map params = new HashMap(); + Map params = new HashMap(); java.util.List objs = Core.execute(context, "Administration.RetrieveTimeZones", params); java.util.List result = null; if (objs != null) @@ -103,12 +127,11 @@ public static java.util.List retrieveTimeZones(IContext throw new MendixRuntimeException(e); } } - public static void saveNewAccount(IContext context, administration.proxies.AccountPasswordData _accountPasswordData) { try { - Map params = new HashMap(); + Map params = new HashMap(); params.put("AccountPasswordData", _accountPasswordData == null ? null : _accountPasswordData.getMendixObject()); Core.execute(context, "Administration.SaveNewAccount", params); } @@ -117,12 +140,11 @@ public static void saveNewAccount(IContext context, administration.proxies.Accou throw new MendixRuntimeException(e); } } - public static void showMyPasswordForm(IContext context, administration.proxies.Account _account) { try { - Map params = new HashMap(); + Map params = new HashMap(); params.put("Account", _account == null ? null : _account.getMendixObject()); Core.execute(context, "Administration.ShowMyPasswordForm", params); } @@ -131,12 +153,11 @@ public static void showMyPasswordForm(IContext context, administration.proxies.A throw new MendixRuntimeException(e); } } - public static void showPasswordForm(IContext context, administration.proxies.Account _account) { try { - Map params = new HashMap(); + Map params = new HashMap(); params.put("Account", _account == null ? null : _account.getMendixObject()); Core.execute(context, "Administration.ShowPasswordForm", params); } @@ -145,12 +166,11 @@ public static void showPasswordForm(IContext context, administration.proxies.Acc throw new MendixRuntimeException(e); } } - public static void viewStatistics(IContext context) { try { - Map params = new HashMap(); + Map params = new HashMap(); Core.execute(context, "Administration.ViewStatistics", params); } catch (CoreException e) diff --git a/test/javasource/appcloudservices/CommonsLoggingListener.java b/test/javasource/appcloudservices/CommonsLoggingListener.java new file mode 100644 index 0000000..65391f2 --- /dev/null +++ b/test/javasource/appcloudservices/CommonsLoggingListener.java @@ -0,0 +1,114 @@ +package appcloudservices; + +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; +import java.util.logging.Handler; +import java.util.logging.Level; +import java.util.logging.LogManager; +import java.util.logging.LogRecord; + +import org.apache.commons.logging.LogConfigurationException; +import org.apache.commons.logging.LogFactory; + +import com.mendix.core.Core; +import com.mendix.logging.ILogNode; + +public class CommonsLoggingListener extends Handler +{ + private static CommonsLoggingListener listenerInstance; + private static Set registeredLoggers ; + + static { + registeredLoggers = new HashSet(); + listenerInstance = new CommonsLoggingListener(); + CommonsLoggingListener.listenToCommonsLogging("org.openid4java"); + } + + private CommonsLoggingListener() + { + // hidden empty constructor + } + + + //MWE: move this function to communitycommons, or better, to the runtime. + public synchronized static void listenToCommonsLogging(String filter) + { + try { + //Note that this does not pick up all runtime initizalid loggers, only the static initialized ones. That is good enough for openid4java though. + Enumeration it = LogManager.getLogManager().getLoggerNames(); + while (it.hasMoreElements()) { + String logName = it.nextElement(); + if (filter == null || logName.contains(filter)) + followCommonsLog(listenerInstance, logName); + } + } + catch(Exception e) { + Core.getLogger(CommonsLoggingListener.class.getSimpleName()).error("Failed to setup log listener: " + e.getMessage(), e); + } + } + + private static void followCommonsLog(CommonsLoggingListener logger, String logName) + throws LogConfigurationException, SecurityException + { + if (registeredLoggers.contains(logName)) //make sure no log is registered twice! + return; + + Core.getLogger(CommonsLoggingListener.class.getName()).info("Now listening to " + logName); + registeredLoggers.add(logName); + org.apache.commons.logging.impl.Jdk14Logger lognode = (org.apache.commons.logging.impl.Jdk14Logger) LogFactory.getLog(logName); + lognode.getLogger().addHandler(logger); + } + + @Override + public void close() + throws SecurityException + { + // + + } + + @Override + public void flush() + { + // + } + + @Override + public void publish(LogRecord record) + { + /* + @see java.util.logging.Level; + public static final Level OFF = new Level("OFF", 2147483647, defaultBundle); + public static final Level SEVERE = new Level("SEVERE", 1000, defaultBundle); + public static final Level WARNING = new Level("WARNING", 900, defaultBundle); + public static final Level INFO = new Level("INFO", 800, defaultBundle); + public static final Level CONFIG = new Level("CONFIG", 700, defaultBundle); + public static final Level FINE = new Level("FINE", 500, defaultBundle); + public static final Level FINER = new Level("FINER", 400, defaultBundle); + public static final Level FINEST = new Level("FINEST", 300, defaultBundle); + public static final Level ALL = new Level("ALL", -2147483648, defaultBundle); + */ + if (record.getLevel() == Level.OFF || record.getLevel() == Level.ALL) //These loglevels should not be used inside a log record + return; + + ILogNode logNode = Core.getLogger(record.getLoggerName()); + int loglevel = record.getLevel().intValue(); + + if (loglevel < Level.INFO.intValue() && !logNode.isDebugEnabled()) + return; + if (loglevel < Level.FINER.intValue() && !logNode.isTraceEnabled()) + return; + + Throwable ex = record.getThrown(); + if (loglevel < Level.FINER.intValue()) + logNode.trace(record.getMessage(), ex); + else if (loglevel < Level.INFO.intValue()) + logNode.debug(record.getMessage(), ex); + else if (ex != null) + logNode.error(record.getMessage(), ex); + else + logNode.info(record.getMessage()); + } + +} diff --git a/test/javasource/appcloudservices/DefaultLoginHandler.java b/test/javasource/appcloudservices/DefaultLoginHandler.java new file mode 100644 index 0000000..c2953bc --- /dev/null +++ b/test/javasource/appcloudservices/DefaultLoginHandler.java @@ -0,0 +1,57 @@ +package appcloudservices; +import java.io.IOException; + +import appcloudservices.OpenIDHandler.ResponseType; + +import com.mendix.core.CoreException; +import com.mendix.m2ee.api.IMxRuntimeRequest; +import com.mendix.m2ee.api.IMxRuntimeResponse; +import com.mendix.systemwideinterfaces.core.IUser; + + +public class DefaultLoginHandler implements ILoginHandler +{ + + public void onCompleteLogin(String openId, String continuation, IMxRuntimeRequest req, IMxRuntimeResponse resp) + throws CoreException, IllegalStateException, IOException + { + IUser user = null; + try { + user = SessionInitializer.findOrCreateUser(openId); + } + catch(Throwable e) { + OpenIDHandler.error(resp, ResponseType.INTERNAL_SERVER_ERROR, "We failed to register your account in this app. Please try again later or contact the administrator of this app.", e); + return; + } + + if (user == null) { + OpenIDHandler.error(resp, ResponseType.UNAUTHORIZED, "Your account has not been authorized to use this application. ", null); + } else if (user.getUserRoleNames().size() == 0) { + OpenIDHandler.error(resp, ResponseType.UNAUTHORIZED, "Your account has not been authorized to use this application. No permissions for this app have been assigned to your account. ", null); + } else { + try { + SessionInitializer.createSessionForUser(resp, req, user); + SessionInitializer.redirectToIndex(resp, continuation); + } catch (Exception e) { + OpenIDHandler.error(resp, ResponseType.INTERNAL_SERVER_ERROR, "Failed to initialize session", e); + } + } + } + + public void onCompleteAnonymousLogin(String continuation, IMxRuntimeRequest req, IMxRuntimeResponse resp) + throws CoreException, IllegalStateException, IOException + { + try { + /** Setting up guest sessions is not the responsibility of this module, but otherwise: + if (Core.getConfiguration().getEnableGuestLogin()) { + ISession session = Core.initializeGuestSession(); + SessionInitializer.writeSessionCookies(resp, session); + } + */ + SessionInitializer.redirectToIndex(resp, continuation); + } catch (Exception e) { + OpenIDHandler.error(resp, ResponseType.INTERNAL_SERVER_ERROR, "Failed to initialize session", e); + } + } + +} diff --git a/test/javasource/appcloudservices/ILoginHandler.java b/test/javasource/appcloudservices/ILoginHandler.java new file mode 100644 index 0000000..d32c2e6 --- /dev/null +++ b/test/javasource/appcloudservices/ILoginHandler.java @@ -0,0 +1,12 @@ +package appcloudservices; +import com.mendix.m2ee.api.IMxRuntimeRequest; +import com.mendix.m2ee.api.IMxRuntimeResponse; + + +public interface ILoginHandler +{ + public void onCompleteLogin(String openId, String continuation, IMxRuntimeRequest req, IMxRuntimeResponse resp) throws Exception; + + public void onCompleteAnonymousLogin(String continuation, IMxRuntimeRequest req, IMxRuntimeResponse resp) throws Exception; + +} diff --git a/test/javasource/appcloudservices/OpenIDHandler.java b/test/javasource/appcloudservices/OpenIDHandler.java new file mode 100644 index 0000000..349766e --- /dev/null +++ b/test/javasource/appcloudservices/OpenIDHandler.java @@ -0,0 +1,415 @@ +package appcloudservices; + +import static appcloudservices.OpenIDUtils.APPLICATION_ROOT_URL; +import static appcloudservices.OpenIDUtils.getFingerPrint; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang.StringEscapeUtils; +import org.openid4java.association.AssociationSessionType; +import org.openid4java.consumer.ConsumerManager; +import org.openid4java.consumer.InMemoryConsumerAssociationStore; +import org.openid4java.consumer.InMemoryNonceVerifier; +import org.openid4java.consumer.VerificationResult; +import org.openid4java.discovery.DiscoveryInformation; +import org.openid4java.discovery.Identifier; +import org.openid4java.message.AuthRequest; +import org.openid4java.message.ParameterList; + +import appcloudservices.proxies.constants.Constants; + +import com.mendix.core.Core; +import com.mendix.core.CoreException; +import com.mendix.externalinterface.connector.RequestHandler; +import com.mendix.logging.ILogNode; +import com.mendix.m2ee.api.IMxRuntimeRequest; +import com.mendix.m2ee.api.IMxRuntimeResponse; +import com.mendix.systemwideinterfaces.core.ISession; +import org.openid4java.discovery.DiscoveryException; + +public class OpenIDHandler extends RequestHandler { + + public enum ResponseType { + INTERNAL_SERVER_ERROR("Internal Server Error", IMxRuntimeResponse.INTERNAL_SERVER_ERROR), + UNAUTHORIZED("Unauthorized", IMxRuntimeResponse.UNAUTHORIZED); + + String title; + int status; + ResponseType(String title, int httpStatus) { + this.title = title; + this.status = httpStatus; + } + } + + public static String OPENID_CLIENTSERVLET_LOCATION = "openid/"; + public static String FALLBACK_LOGINPAGE = "/login.html"; + public static String INDEX_PAGE = "/index.html"; + public static boolean SINGLESIGNOFF_ENABLED = true; + + public static final String CONTINUATION_PARAM = "continuation"; + public static final String IMMEDIATE_PARAM = "immediate"; + + public static String INTERNAL_SERVER_ERROR_MESSAGE = + "" + + "" + + "" + + " " + + " Mendix App Platform" + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + "
\"Mendix\"
{{title}}

{{message}}

Try again or contact your app administrator if this problem persists

" + + " " + + ""; + + private static final String CALLBACK = "callback"; + public static final String LOGIN = "login"; + private static final String FORCE_LOGOFF = "force_logoff"; + public static final String LOGOFF = "logoff"; + + private static final String OPENID_PROVIDER = Constants.getOpenIdProvider(); + private static final boolean OPENID_ENABLED = Constants.getOpenIdEnabled(); + + private static final String OPENID_RETURN_URL = APPLICATION_ROOT_URL + OPENID_CLIENTSERVLET_LOCATION + CALLBACK; + private static final String OPENID_LOGOFF_URL = APPLICATION_ROOT_URL + OPENID_CLIENTSERVLET_LOCATION + FORCE_LOGOFF; + + private DiscoveryInformation discovered; + private List discoveries; + private ConsumerManager manager; + private static final ILogNode LOG = Core.getLogger(Constants.getLogNode()); + + private boolean started = false; + public static ILoginHandler loginHandler = new DefaultLoginHandler(); + + public OpenIDHandler() { + if (!OPENID_ENABLED) { + LOG.info("NOT starting OpenId handler, disabled by configuration"); + } else { + reconnectToMxID(); + } + } + + private void reconnectToMxID() { + LOG.info("Starting OpenId handler ... OpenIDReturnURL = " + OPENID_RETURN_URL + "; OpenIdProvider: " + OPENID_PROVIDER); + try { + + manager = new ConsumerManager(); + manager.setAssociations(new InMemoryConsumerAssociationStore()); + manager.setNonceVerifier(new InMemoryNonceVerifier(5000)); + manager.setMinAssocSessEnc(AssociationSessionType.DH_SHA256); + manager.getRealmVerifier().setEnforceRpId(true); + + discoveries = manager.discover(OPENID_PROVIDER); + discovered = manager.associate(discoveries); + + started = true; + LOG.info("Starting OpenId handler ... DONE"); + + } catch (DiscoveryException e) { + LOG.error("Failed to discover OpenId service: " + e.getMessage(), e); + } + } + + private static final Set OPENID_LOCKS = new HashSet(); + + public static void lockOpenID(String openID) throws InterruptedException { + synchronized (OPENID_LOCKS) { + while (OPENID_LOCKS.contains(openID)) + OPENID_LOCKS.wait(); + OPENID_LOCKS.add(openID); + } + } + + public static void unlockOpenID(String openID) { + synchronized (OPENID_LOCKS) { + OPENID_LOCKS.remove(openID); + OPENID_LOCKS.notifyAll(); + } + } + + /** + * Handles openId related requests. Two requests are supported: + * 'openid/login': tries to setup a new user session. (Note: does not check if there is already a session) + * 'openid/callback': used by the openId provider to confirm the identity of the current user + */ + @Override + public void processRequest(IMxRuntimeRequest req, IMxRuntimeResponse resp, + String path) throws Exception { + + //always force expiration on this handler! + resp.addHeader("Expires", "0"); + + if (LOG.isDebugEnabled()) + LOG.debug("Incoming request: " + path + " fingerprint: " + getFingerPrint(req)); + + if (!OPENID_ENABLED) { + LOG.info("NOT handling SSO request, disabled by configuration, redirecting to login.html"); + redirect(resp, FALLBACK_LOGINPAGE); + return; + } + + if (!started) { + reconnectToMxID(); + } + + if (!started) { + LOG.error("NOT handling SSO request, could not connect to MxID 2.0, redirecting to login.html"); + redirect(resp, FALLBACK_LOGINPAGE); + return; + } + + try { + if (LOGOFF.equalsIgnoreCase(path)) { + logoff(req, resp); //requesting Single Sign Off (from client) + } else if (FORCE_LOGOFF.equalsIgnoreCase(path)) { + forceLogoff(req, resp); //requesting Single Sign Off (from server) + } else if (LOGIN.equalsIgnoreCase(path)) { + login(req, resp); //requesting authorization + } else if (CALLBACK.equalsIgnoreCase(path)) { + callback(req, resp); //redirect from open id provider + } else { + error(resp, ResponseType.INTERNAL_SERVER_ERROR, "Unsupported request '" + path + "'", null); + } + } catch (Exception e) { + error(resp, ResponseType.INTERNAL_SERVER_ERROR, "An unexpected exception occurred while handling request " + path, e); + } + } + + private void callback(IMxRuntimeRequest req, IMxRuntimeResponse resp) throws Exception { + LOG.debug("Callback from OpenID provider, evaluating.."); + + HttpServletRequest origreq = req.getHttpServletRequest(); + + //verification request? + if (origreq.getMethod().equals("HEAD")) { + handleHeadRequest(resp); + } else if (req.getHeader("Accept") != null && req.getHeader("Accept").contains("application/xrds+xml")) { + handleXrds(resp); + } else { + ParameterList openidResp = new ParameterList(origreq.getParameterMap()); + + String mxid2Continuation = req.getParameter("mxid2.continuation"); + detectContinuationJsInjection(mxid2Continuation); + + String mode = openidResp.getParameter("openid.mode").getValue(); + if ("setup_needed".equalsIgnoreCase(mode)) { + /* + * original request mode is immediate, because checkid setup would not have returned id_res without verified ID. + * Return to return url, but without identity. + * + * @See http://openid.net/specs/openid-authentication-2_0.html#negative_assertions + */ + if (LOG.isDebugEnabled()) + LOG.debug("Immediate authentication responded with setup_needed. Assuming that the app should continue as anonymous. "); + + loginHandler.onCompleteAnonymousLogin(mxid2Continuation, req, resp); + } else if ("id_res".equals(mode)) { + handleIdRes(req, resp, origreq, openidResp, mxid2Continuation); + } else if ("cancel".equals(mode)) { + LOG.warn("OpenId login failed: cancelled"); + resp.setStatus(IMxRuntimeResponse.UNAUTHORIZED); + error(resp, ResponseType.UNAUTHORIZED, "OpenId login failed. Please try again later.", null); + } else + throw new IllegalStateException("Unexpected OpenID callback mode: " + mode); + } + } + + private void handleXrds(IMxRuntimeResponse resp) throws IOException { + LOG.info("Found local discovery of RP return_url endpoint."); + + resp.setContentType("application/xrds+xml; charset=UTF-8"); + resp.getWriter().write( + "" + + "" + + "" + + "" + + "http://specs.openid.net/auth/2.0/return_to" + + "" + OPENID_RETURN_URL + "" + + "" + + "" + + ""); + resp.getWriter().close(); + } + + private void handleHeadRequest(IMxRuntimeResponse resp) { + LOG.debug("Callback from OpenID provider, evaluating.. HEAD request not supported, ignoring."); + resp.setStatus(HttpServletResponse.SC_METHOD_NOT_ALLOWED); //405 - Method Not Allowed + } + + private void handleIdRes(IMxRuntimeRequest req, IMxRuntimeResponse resp, HttpServletRequest origreq, + ParameterList openidResp, String mxid2Continuation) throws Exception { + // extract the receiving URL from the HTTP request + StringBuffer receivingURL = new StringBuffer(OPENID_RETURN_URL); + + String queryString = origreq.getQueryString(); + if (queryString != null && queryString.length() > 0) + receivingURL.append("?").append(origreq.getQueryString()); + + // verify the response + LOG.info("[OpenID Verify Response] receivingurl: " + receivingURL + "; to: " + openidResp.getParameter("openid.return_to")); + VerificationResult verification = manager.verify(receivingURL.toString(), openidResp, discovered); + + // examine the verification result and extract the verified identifier + Identifier verified = verification.getVerifiedId(); + + if (verified != null) { + String userId = verified.getIdentifier(); + lockOpenID(userId); + try { + loginHandler.onCompleteLogin(userId, mxid2Continuation, req, resp); + } finally { + unlockOpenID(userId); + } + } else { + LOG.warn("OpenId authentication failed: " + verification.getStatusMsg()); + resp.setStatus(IMxRuntimeResponse.UNAUTHORIZED); + error(resp, ResponseType.UNAUTHORIZED, "OpenId authentication request failed. Please try again later.", null); + } + } + + private void login(IMxRuntimeRequest req, IMxRuntimeResponse resp) throws Exception { + String continuation = req.getParameter(CONTINUATION_PARAM); + detectContinuationJsInjection(continuation); + + //special case 1: already a valid session, do not bother with a new login + ISession session = this.getSessionFromRequest(req); + if (session != null && !session.getUser().isAnonymous()) { + + //Logout old session and initialize new session. This will allow for role changes to take effect. + String userId = session.getUser().getName(); + lockOpenID(userId); + try { + loginHandler.onCompleteLogin(userId, continuation, req, resp); + Core.logout(session); + } finally { + unlockOpenID(userId); + } + } else if (!started) { + //special case 2: no OpenID provider discovered + LOG.warn("OpenId handler is in state 'NOT STARTED'. Falling back to default login.html"); + redirect(resp, FALLBACK_LOGINPAGE); + } else { + LOG.debug("Incoming login request, redirecting to OpenID provider"); + + AuthRequest authReq = manager.authenticate(discovered, OPENID_RETURN_URL); + authReq.setImmediate("true".equalsIgnoreCase(req.getParameter(IMMEDIATE_PARAM))); + + String url = authReq.getDestinationUrl(true); + + //MWE: publish the url which can be used to sign off + if (SINGLESIGNOFF_ENABLED) + url += "&mxid2.logoffcallback=" + OpenIDUtils.urlEncode(OPENID_LOGOFF_URL); + + if (continuation != null) + url += "&mxid2.continuation=" + OpenIDUtils.urlEncode(continuation); + + redirect(resp, url); + } + } + + private void forceLogoff(IMxRuntimeRequest req, IMxRuntimeResponse resp) { + String username = req.getParameter("openid"); + String fingerprint = req.getParameter("fingerprint"); + + if (SINGLESIGNOFF_ENABLED) + forceSessionLogoff(username, fingerprint); + else + LOG.warn("Received force_logoff request, but single sign off is not unabled in the configuration!"); + + resp.setStatus(IMxRuntimeResponse.OK); + resp.setContentType("text/plain"); + } + + private void logoff(IMxRuntimeRequest req, IMxRuntimeResponse resp) throws CoreException { + if (SINGLESIGNOFF_ENABLED) { + resp.addCookie(getSessionCookieName(), "", "/", "", 0, true); + resp.addCookie(SessionInitializer.XASID_COOKIE, "", "/", "", 0, true); + resp.setStatus(IMxRuntimeResponse.SEE_OTHER); + resp.addHeader("location", OPENID_PROVIDER + "/../" + LOGOFF); + } else { + ISession ses = this.getSessionFromRequest(req); + if (ses != null) { + Core.logout(ses); + } + redirect(resp, INDEX_PAGE); + } + } + + private void detectContinuationJsInjection(String url) { + if (url != null && url.trim().startsWith("javascript:")) + throw new IllegalArgumentException("Javascript injection detected in parameter '" + CONTINUATION_PARAM + "'"); + } + + private void forceSessionLogoff(String username, String fingerprint) { + String basemsg = String.format("Received logoff request for '%s' with fingerprint '%s'... ", username, fingerprint); + LOG.debug(basemsg); + + List sessionsOfThisUser = new ArrayList<>(); + for (ISession session : Core.getActiveSessions()) { + if (session.getUser() != null && + session.getUser().getName() != null && + session.getUser().getName().equals(username)) + sessionsOfThisUser.add(session); + } + + if (sessionsOfThisUser.isEmpty()) + LOG.debug(basemsg + "IGNORING. User has no active sessions"); + else { + boolean found = false; + for (ISession session : sessionsOfThisUser) { + if (getFingerPrint(session).equals(fingerprint)) { + Core.logout(session); + found = true; + } + } + + if (found) + LOG.info(basemsg + "SUCCESS. Session removed."); + else + LOG.warn(basemsg + "FAILED. User has active sessions but none matches the provided fingerprint. "); + } + } + + public static void error(IMxRuntimeResponse resp, ResponseType responseType, String message, Throwable e) throws IOException { + resp.setStatus(responseType.status); + resp.getWriter().write( + INTERNAL_SERVER_ERROR_MESSAGE + .replace("{{message}}", StringEscapeUtils.escapeHtml(message)) + .replace("{{title}}", StringEscapeUtils.escapeHtml(responseType.title)) + ); + if (e != null) + LOG.error("Error while handling OpenID request: " + responseType.title + ":\n" + message + ": " + e.getMessage(), e); + else + LOG.error("Error while handling OpenID request: " + responseType.title + ":\n" + message); + } + + private void redirect(IMxRuntimeResponse resp, String url) { + resp.setStatus(IMxRuntimeResponse.SEE_OTHER); + resp.addHeader("location", url); + } +} diff --git a/test/javasource/appcloudservices/OpenIDUtils.java b/test/javasource/appcloudservices/OpenIDUtils.java new file mode 100644 index 0000000..06791d6 --- /dev/null +++ b/test/javasource/appcloudservices/OpenIDUtils.java @@ -0,0 +1,63 @@ +package appcloudservices; + +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; + +import org.apache.axiom.util.base64.Base64Utils; +import org.apache.commons.lang.StringUtils; + +import com.mendix.core.Core; +import com.mendix.m2ee.api.IMxRuntimeRequest; +import com.mendix.systemwideinterfaces.core.ISession; + +public class OpenIDUtils { + + public static final String APPLICATION_ROOT_URL = Core.getConfiguration().getApplicationRootUrl() + (Core.getConfiguration().getApplicationRootUrl().endsWith("/")?"":"/"); + + public static String urlEncode(String value) { + try { + return URLEncoder.encode(value, "UTF-8"); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + } + + public static String base64Encode(byte[] bytes) { + return Base64Utils.encode(bytes); + } + + public static String getFingerPrint(IMxRuntimeRequest req) + { + String agent = req.getHeader("User-Agent"); + if (agent != null) + return base64Encode(agent.getBytes()); + + return ""; + } + + public static String getFingerPrint(ISession session) + { + String agent = session.getUserAgent(); + if (agent != null) + return base64Encode(agent.getBytes()); + + return ""; + + } + + public static String getStringConstantValueOrDefault(String key, String defaultValue) { + String value = Core.getConfiguration().getConstantValue(key).toString(); + if (value == null || value.trim().isEmpty()) + value = defaultValue; + + return value; + } + + public static String obfuscate(String value) { + if (value == null) + return null; + + String res = value.substring(0, value.length() / 2); + return StringUtils.rightPad(res, value.length(), '*'); + } +} diff --git a/test/javasource/appcloudservices/SessionInitializer.java b/test/javasource/appcloudservices/SessionInitializer.java new file mode 100644 index 0000000..26d9512 --- /dev/null +++ b/test/javasource/appcloudservices/SessionInitializer.java @@ -0,0 +1,155 @@ +package appcloudservices; + +import java.io.IOException; +import java.util.List; + +import system.proxies.User; +import appcloudservices.proxies.microflows.Microflows; +import static appcloudservices.proxies.constants.Constants.getLogNode; + +import com.mendix.core.Core; +import com.mendix.core.CoreException; +import com.mendix.logging.ILogNode; +import com.mendix.m2ee.api.IMxRuntimeRequest; +import com.mendix.m2ee.api.IMxRuntimeResponse; +import com.mendix.systemwideinterfaces.core.IContext; +import com.mendix.systemwideinterfaces.core.IMendixObject; +import com.mendix.systemwideinterfaces.core.ISession; +import com.mendix.systemwideinterfaces.core.IUser; + +public class SessionInitializer { + + public static String USER_ENTITY = "System.User"; + public static String USER_ENTITY_NAME = "Name"; + public static String DEFAULT_MENDIX_USERNAME_ATTRIBUTE = "Name"; + public static final String XASID_COOKIE = "XASID"; + private static final String ORIGIN_COOKIE = "originURI"; + private static final ILogNode LOG = Core.getLogger(getLogNode()); + private static final String XAS_SESSION_ID = Core.getConfiguration().getSessionIdCookieName(); + + /** + * Given a username, starts a new session for the user and redirects back to index.html. + * If no matching account is found for the user, a new account will be created automatically. + * @param resp + * @param req + * @param user + * @return + * @throws CoreException + * @throws IOException + * @throws NoSuchMethodException + * @throws SecurityException + */ + static public ISession createSessionForUser(IMxRuntimeResponse resp, + IMxRuntimeRequest req, IUser user) throws Exception { + + LOG.info("User " + user.getName() + " authenticated. Starting session.."); + + String sessionid = req.getCookie(XAS_SESSION_ID); + + ISession session = Core.initializeSession(user, sessionid); + + // Used to enable Single Sign Off request (from remote sso *server*); must only sign off user in a particular User Agent / Browser + String ua = req.getHeader("User-Agent"); + session.setUserAgent(ua); + + if (LOG.isDebugEnabled()) + LOG.debug("Created session, fingerprint: " + OpenIDUtils.getFingerPrint(session)); + + writeSessionCookies(resp, session); + + return session; + } + + public static void writeSessionCookies(IMxRuntimeResponse resp, + ISession session) { + resp.addCookie(XAS_SESSION_ID, session.getId().toString(),"/" ,"" ,-1, true ); + resp.addCookie(XASID_COOKIE, "0." + Core.getXASId(),"/" ,"" ,-1, true); + resp.addCookie(ORIGIN_COOKIE, "/" + OpenIDHandler.OPENID_CLIENTSERVLET_LOCATION + OpenIDHandler.LOGIN, "/", "", -1, false); + } + + public static void redirectToIndex(IMxRuntimeResponse resp, String continuation) + { + resp.setStatus(IMxRuntimeResponse.SEE_OTHER); + + //no continuation provided, use index + if (continuation == null) + resp.addHeader("location", OpenIDHandler.INDEX_PAGE); + else { + if (continuation.trim().startsWith("javascript:")) { + throw new IllegalArgumentException("Javascript injection detected!"); + } else if (!continuation.startsWith("http://") && !continuation.startsWith("https://")) { + resp.addHeader("location", OpenIDUtils.APPLICATION_ROOT_URL + continuation); + } else { + resp.addHeader("location", continuation); + } + } + } + + /** + * Finds a user account matching the given username. If not found the new account callback triggered. + * @param openID + * @return Newly created user or null. + * @throws Throwable + * @throws CoreException + */ + public static IUser findOrCreateUser(String openID) throws Throwable { + IContext c = Core.createSystemContext(); + c.startTransaction(); + try { + IUser user = findUser(c, openID); + + //Existing user + if (user != null) { + try { + Microflows.invokeOnNonFirstLoginAppCloudUser(c, User.initialize(c, user.getMendixObject())); + } + catch(Exception e) { + LOG.warn("Failed to update user roles for '" + openID + "', permissions for this user might be outdated", e); + } + } + + //New user + else { + String basemsg = "User '" + openID + "' does not exist in database. Triggering OnFirstLogin action... "; + LOG.info(basemsg); + + //Expect user input here. + // Create new user: + Microflows.invokeOnFirstLoginAppCloudUser(c, openID); + + IUser newUser = findUser(c, openID); + if (newUser != null) { + LOG.info(basemsg + "Account created."); + user = newUser; + } + + else { + LOG.info(basemsg + "No user was created. Rejecting the login request."); + } + } + + c.endTransaction(); + return user; + } + catch (Throwable e) { + LOG.warn("Find or create user for openID '" + openID + "' caught exception. Triggering rollback."); + c.rollbackTransAction(); + throw e; + } + } + + private static IUser findUser(IContext c, String openID) throws CoreException { + List userList = Core.retrieveXPathQuery(c, String.format("//%s[%s='%s']", USER_ENTITY, USER_ENTITY_NAME, openID)); + + if (userList.size() > 0) { + IMendixObject userObject = userList.get(0); + String username = userObject.getValue(c, DEFAULT_MENDIX_USERNAME_ATTRIBUTE); + if (LOG.isTraceEnabled()) + LOG.trace("Getting System.User using username: '" + username + "'"); + + return Core.getUser(c, username); + } else { + return null; + } + } +} diff --git a/test/javasource/appcloudservices/actions/GenerateRandomPassword.java b/test/javasource/appcloudservices/actions/GenerateRandomPassword.java new file mode 100644 index 0000000..6b8975a --- /dev/null +++ b/test/javasource/appcloudservices/actions/GenerateRandomPassword.java @@ -0,0 +1,81 @@ +// This file was generated by Mendix Modeler. +// +// WARNING: Only the following code will be retained when actions are regenerated: +// - the import list +// - the code between BEGIN USER CODE and END USER CODE +// - the code between BEGIN EXTRA CODE and END EXTRA CODE +// Other code you write will be lost the next time you deploy the project. +// Special characters, e.g., é, ö, à, etc. are supported in comments. + +package appcloudservices.actions; + +import java.util.ArrayList; +import java.util.List; +import org.apache.commons.lang.RandomStringUtils; +import org.apache.commons.lang.math.RandomUtils; +import com.mendix.systemwideinterfaces.core.IContext; +import com.mendix.webui.CustomJavaAction; + +/** + * Generate a valid strong random password for Mendix user + */ +public class GenerateRandomPassword extends CustomJavaAction +{ + private java.lang.Long length; + + public GenerateRandomPassword(IContext context, java.lang.Long length) + { + super(context); + this.length = length; + } + + @Override + public java.lang.String executeAction() throws Exception + { + // BEGIN USER CODE + String _pw_charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + + "abcdefghijklmnopqrstuvwxyz" + + "!@#$%^&*()+-_[]{}=,./\\|~`'\":;<>?" + "1234567890"; + + if (length < 5) + throw new IllegalArgumentException( + "Password length should at least be 4"); + + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < length - 4; i++) + sb.append(_pw_charset.charAt(RandomUtils.nextInt(_pw_charset + .length()))); + + // make sure it is strong + sb.append(RandomStringUtils.random(1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ")); + sb.append(RandomStringUtils.random(1, "abcdefghijklmnopqrstuvwxyz")); + sb.append(RandomStringUtils.random(1, + "!@#$%^&*()+-_[]{}=,./\\|~`'\":;<>?")); + sb.append(RandomStringUtils.random(1, "1234567890")); + + // do shuffle + List base = new ArrayList(); + StringBuilder result = new StringBuilder(); + + for (char c : sb.toString().toCharArray()) + base.add(String.valueOf(c)); + + while (base.size() > 0) + result.append(base.remove(RandomUtils.nextInt(base.size()))); + + return result.toString(); + // END USER CODE + } + + /** + * Returns a string representation of this action + */ + @Override + public java.lang.String toString() + { + return "GenerateRandomPassword"; + } + + // BEGIN EXTRA CODE + // END EXTRA CODE +} diff --git a/test/javasource/appcloudservices/actions/LogOutUser.java b/test/javasource/appcloudservices/actions/LogOutUser.java new file mode 100644 index 0000000..fd7bb97 --- /dev/null +++ b/test/javasource/appcloudservices/actions/LogOutUser.java @@ -0,0 +1,53 @@ +// This file was generated by Mendix Modeler. +// +// WARNING: Only the following code will be retained when actions are regenerated: +// - the import list +// - the code between BEGIN USER CODE and END USER CODE +// - the code between BEGIN EXTRA CODE and END EXTRA CODE +// Other code you write will be lost the next time you deploy the project. +// Special characters, e.g., é, ö, à, etc. are supported in comments. + +package appcloudservices.actions; + +import com.mendix.core.Core; +import com.mendix.systemwideinterfaces.core.IContext; +import com.mendix.systemwideinterfaces.core.ISession; +import com.mendix.webui.CustomJavaAction; +import java.util.Collection; + +public class LogOutUser extends CustomJavaAction +{ + private java.lang.String openId; + + public LogOutUser(IContext context, java.lang.String openId) + { + super(context); + this.openId = openId; + } + + @Override + public java.lang.Boolean executeAction() throws Exception + { + // BEGIN USER CODE + Collection activeSessions = Core.getActiveSessions(); + for (ISession session : activeSessions) { + if(session.getUser() != null && session.getUser().getName().equals(openId)) { + Core.logout(session); + } + } + return true; + // END USER CODE + } + + /** + * Returns a string representation of this action + */ + @Override + public java.lang.String toString() + { + return "LogOutUser"; + } + + // BEGIN EXTRA CODE + // END EXTRA CODE +} diff --git a/test/javasource/communitycommons/actions/EndTransaction.java b/test/javasource/appcloudservices/actions/StartSignOnServlet.java similarity index 58% rename from test/javasource/communitycommons/actions/EndTransaction.java rename to test/javasource/appcloudservices/actions/StartSignOnServlet.java index 2537552..8ea2916 100644 --- a/test/javasource/communitycommons/actions/EndTransaction.java +++ b/test/javasource/appcloudservices/actions/StartSignOnServlet.java @@ -1,45 +1,44 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Ends the current transaction. - */ -public class EndTransaction extends CustomJavaAction -{ - public EndTransaction(IContext context) - { - super(context); - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - getContext().endTransaction(); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "EndTransaction"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} +// This file was generated by Mendix Modeler. +// +// WARNING: Only the following code will be retained when actions are regenerated: +// - the import list +// - the code between BEGIN USER CODE and END USER CODE +// - the code between BEGIN EXTRA CODE and END EXTRA CODE +// Other code you write will be lost the next time you deploy the project. +// Special characters, e.g., é, ö, à, etc. are supported in comments. + +package appcloudservices.actions; + +import appcloudservices.OpenIDHandler; +import com.mendix.core.Core; +import com.mendix.systemwideinterfaces.core.IContext; +import com.mendix.webui.CustomJavaAction; + +public class StartSignOnServlet extends CustomJavaAction +{ + public StartSignOnServlet(IContext context) + { + super(context); + } + + @Override + public java.lang.Boolean executeAction() throws Exception + { + // BEGIN USER CODE + Core.addRequestHandler(OpenIDHandler.OPENID_CLIENTSERVLET_LOCATION, new OpenIDHandler()); + return true; + // END USER CODE + } + + /** + * Returns a string representation of this action + */ + @Override + public java.lang.String toString() + { + return "StartSignOnServlet"; + } + + // BEGIN EXTRA CODE + // END EXTRA CODE +} diff --git a/test/javasource/appcloudservices/proxies/constants/Constants.java b/test/javasource/appcloudservices/proxies/constants/Constants.java new file mode 100644 index 0000000..cd52095 --- /dev/null +++ b/test/javasource/appcloudservices/proxies/constants/Constants.java @@ -0,0 +1,73 @@ +// This file was generated by Mendix Modeler 6.10. +// +// WARNING: Code you write here will be lost the next time you deploy the project. + +package appcloudservices.proxies.constants; + +import com.mendix.core.Core; + +public class Constants +{ + // These are the constants for the AppCloudServices module + + /** + * This is the password which is used to communicate with the Mendix AppCloud Services. This password will be set automatically on deployment in the Mendix Cloud. + */ + public static java.lang.String getEnvironmentPassword() + { + return (java.lang.String)Core.getConfiguration().getConstantValue("AppCloudServices.EnvironmentPassword"); + } + + /** + * This is the environment UUID which is used to communicate with the Mendix AppCloud Services to identify this application. This UUID will be set automatically on deployment in the Mendix Cloud. + */ + public static java.lang.String getEnvironmentUUID() + { + return (java.lang.String)Core.getConfiguration().getConstantValue("AppCloudServices.EnvironmentUUID"); + } + + public static java.lang.String getInviteAPI_Location() + { + return (java.lang.String)Core.getConfiguration().getConstantValue("AppCloudServices.InviteAPI_Location"); + } + + public static java.lang.String getLogNode() + { + return (java.lang.String)Core.getConfiguration().getConstantValue("AppCloudServices.LogNode"); + } + + /** + * This constant indicates whether Single Sign On through MxID will be performend whenever a user tries to access this app. This constant defaults to 'false' for local deployments and will be set to 'true' automatically upon deployment in the Mendix AppCloud. + * + * If enabled, the Single Sign On process can be initiated by navigating to "/openid/login" + */ + public static boolean getOpenIdEnabled() + { + return (java.lang.Boolean)Core.getConfiguration().getConstantValue("AppCloudServices.OpenIdEnabled"); + } + + /** + * This constant defines the location of the MxID provider in the AppCloud. This constant will be set by the Mendix AppCloud upon deployment. + */ + public static java.lang.String getOpenIdProvider() + { + return (java.lang.String)Core.getConfiguration().getConstantValue("AppCloudServices.OpenIdProvider"); + } + + /** + * This constant defines the location of the Permissions API provider in the AppCloud. This constant will be set by the Mendix AppCloud upon deployment. + */ + public static java.lang.String getPermissionsAPI_Location() + { + return (java.lang.String)Core.getConfiguration().getConstantValue("AppCloudServices.PermissionsAPI_Location"); + } + + /** + * This constant should refer to the location of the latest profile service version. At the moment, the latest version is: 3 + * Note that if you previously deployed your app with an older version of the AppCloudServices module, you will need to update the value of this constant in the Cloud Portal. + */ + public static java.lang.String getProfileServiceLocation() + { + return (java.lang.String)Core.getConfiguration().getConstantValue("AppCloudServices.ProfileServiceLocation"); + } +} \ No newline at end of file diff --git a/test/javasource/appcloudservices/proxies/microflows/Microflows.java b/test/javasource/appcloudservices/proxies/microflows/Microflows.java new file mode 100644 index 0000000..a5779de --- /dev/null +++ b/test/javasource/appcloudservices/proxies/microflows/Microflows.java @@ -0,0 +1,138 @@ +// This file was generated by Mendix Modeler 6.10. +// +// WARNING: Code you write here will be lost the next time you deploy the project. + +package appcloudservices.proxies.microflows; + +import java.util.HashMap; +import java.util.Map; +import com.mendix.core.Core; +import com.mendix.core.CoreException; +import com.mendix.systemwideinterfaces.MendixRuntimeException; +import com.mendix.systemwideinterfaces.core.IContext; +import com.mendix.systemwideinterfaces.core.IMendixObject; + +public class Microflows +{ + // These are the microflows for the AppCloudServices module + public static boolean checkUserRolesRemoved(IContext context, system.proxies.User _user) + { + try + { + Map params = new HashMap(); + params.put("User", _user == null ? null : _user.getMendixObject()); + return (java.lang.Boolean)Core.execute(context, "AppCloudServices.CheckUserRolesRemoved", params); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } + public static void inviteUserToApp(IContext context, java.lang.String _inviteeEmailAddress, system.proxies.UserRole _userRole, java.lang.String _inviterEmailAddress) + { + try + { + Map params = new HashMap(); + params.put("InviteeEmailAddress", _inviteeEmailAddress); + params.put("UserRole", _userRole == null ? null : _userRole.getMendixObject()); + params.put("InviterEmailAddress", _inviterEmailAddress); + Core.execute(context, "AppCloudServices.InviteUserToApp", params); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } + public static void invokeOnFirstLoginAppCloudUser(IContext context, java.lang.String _userIdentity) + { + try + { + Map params = new HashMap(); + params.put("UserIdentity", _userIdentity); + Core.execute(context, "AppCloudServices.InvokeOnFirstLoginAppCloudUser", params); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } + public static void invokeOnNonFirstLoginAppCloudUser(IContext context, system.proxies.User _user) + { + try + { + Map params = new HashMap(); + params.put("User", _user == null ? null : _user.getMendixObject()); + Core.execute(context, "AppCloudServices.InvokeOnNonFirstLoginAppCloudUser", params); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } + public static boolean provisionAsAppCloudUser(IContext context, system.proxies.User _userAccount, java.lang.String _userIdentity) + { + try + { + Map params = new HashMap(); + params.put("UserAccount", _userAccount == null ? null : _userAccount.getMendixObject()); + params.put("UserIdentity", _userIdentity); + return (java.lang.Boolean)Core.execute(context, "AppCloudServices.ProvisionAsAppCloudUser", params); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } + public static void refreshUserPermissions(IContext context, java.lang.String _openId) + { + try + { + Map params = new HashMap(); + params.put("OpenId", _openId); + Core.execute(context, "AppCloudServices.RefreshUserPermissions", params); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } + public static profileservice.proxies.UserProfile retrieveUserProfile(IContext context, java.lang.String _userIdentity) + { + try + { + Map params = new HashMap(); + params.put("UserIdentity", _userIdentity); + IMendixObject result = (IMendixObject)Core.execute(context, "AppCloudServices.RetrieveUserProfile", params); + return result == null ? null : profileservice.proxies.UserProfile.initialize(context, result); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } + public static boolean retrieveUserRoles(IContext context, system.proxies.User _user) + { + try + { + Map params = new HashMap(); + params.put("User", _user == null ? null : _user.getMendixObject()); + return (java.lang.Boolean)Core.execute(context, "AppCloudServices.RetrieveUserRoles", params); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } + public static boolean startAppCloudServices(IContext context) + { + try + { + Map params = new HashMap(); + return (java.lang.Boolean)Core.execute(context, "AppCloudServices.StartAppCloudServices", params); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } +} \ No newline at end of file diff --git a/test/javasource/com/mendix/core/Core.java b/test/javasource/com/mendix/core/Core.java index 27b9aa7..48a94d9 100644 --- a/test/javasource/com/mendix/core/Core.java +++ b/test/javasource/com/mendix/core/Core.java @@ -1,1925 +1,1810 @@ -package com.mendix.core; - -import java.io.InputStream; -import java.io.IOException; -import java.util.Collection; -import java.util.Date; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.Future; -import java.util.concurrent.RunnableScheduledFuture; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; - -import com.mendix.core.actionmanagement.ActionListener; -import com.mendix.core.actionmanagement.CoreAction; -import com.mendix.core.component.LocalComponent; -import com.mendix.core.component.InternalCore; -import com.mendix.core.conf.Configuration; -import com.mendix.externalinterface.connector.RequestHandler; -import com.mendix.integration.Integration; -import com.mendix.integration.WebserviceException; -import com.mendix.logging.ILogNode; -import com.mendix.logging.LogSubscriber; -import com.mendix.m2ee.api.IMxRuntimeRequest; -import com.mendix.systemwideinterfaces.MendixException; -import com.mendix.systemwideinterfaces.IWebserviceResponse; -import com.mendix.systemwideinterfaces.connectionbus.data.IDataTable; -import com.mendix.systemwideinterfaces.connectionbus.requests.IMetaAssociationSchema; -import com.mendix.systemwideinterfaces.connectionbus.requests.IRetrievalSchema; -import com.mendix.systemwideinterfaces.connectionbus.requests.types.IGetRequest; -import com.mendix.systemwideinterfaces.connectionbus.requests.types.IOQLTextGetRequest; -import com.mendix.systemwideinterfaces.connectionbus.requests.types.IXPathTextGetRequest; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IDataType; -import com.mendix.systemwideinterfaces.core.ILanguage; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; -import com.mendix.systemwideinterfaces.core.IProfiler; -import com.mendix.systemwideinterfaces.core.ISession; -import com.mendix.systemwideinterfaces.core.IUser; -import com.mendix.systemwideinterfaces.core.UserAction; -import com.mendix.systemwideinterfaces.core.meta.IMetaAssociation; -import com.mendix.systemwideinterfaces.core.meta.IMetaObject; -import com.mendix.systemwideinterfaces.core.meta.IMetaPrimitive; - -public final class Core -{ - public Core() {} - - private static LocalComponent component; - private static Integration integration; - - public static void initialize(LocalComponent localComponent, Integration i) - { - component = localComponent; - integration = i; - } - - public static LocalComponent getComponent() - { - return component; - } - - /** - * Returns the mode in which the Mendix Business Server has been started. - * @return the mode the Mendix Business Server is running in. - */ - @Deprecated - public static com.mendix.core.component.InternalCore.Mode getMode() - { - return InternalCore.getMode(); - } - - public static boolean isInDevelopment() - { - return component.configuration().isInDevelopment(); - } - - /** - * Returns the id of this server instance. - * @return the server id in UUID format. - */ - public static String getXASId() - { - return component.core().getXASId(); - } - - /** - * Returns the names of all modeled microflows. - * @return all microflow names (format "ModuleName.MicroflowName"). - */ - public static Set getMicroflowNames() - { - return component.core().getMicroflowNames(); - } - - /** - * Returns all input parameter data types the specified action by name. - * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). - * @return data types by input parameter name. - */ - public static Map getInputParameters(String actionName) - { - return component.core().getInputParameters(actionName); - } - - /** - * Returns the return type of the specified action. - * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). - * @return the return data type of the specified action. - */ - public static IDataType getReturnType(String actionName) - { - return component.core().getReturnType(actionName); - } - - /** - * Evaluate the given (microflow)expression. - * @param context the context - * @param variables name of variables referenced in the expression (without '$') and their values. - * @param expression the expression - * @return the evaluated value of the expression. - */ - public static Object evaluateExpression(IContext context, Map variables, String expression) - { - return component.core().evaluateExpression(context, variables, expression); - } - - /** - * Execute an action asynchronously, result is given and/or exceptions are raised when calling Future.get(). - * When calling Future.get() the result of the action will return immediately if the execution is done, - * otherwise the call is blocking. Exceptions raised while executing the action will not be thrown until - * Future.get() is called. - * @param action type, subclass of CoreAction. - * @param result type of the action, can be any object. - * @param action the action to execute. - * @return the Future object. - * - */ - public static ,R> Future execute(T action) - { - return component.core().execute(action); - } - - /** - * Execute an action synchronously. - * @param action type, subclass of CoreAction. - * @param result type of action, can be any object. - * @param action the action to execute. - * @return return value of the specified action. - */ - public static ,R> R executeSync(T action) throws CoreException - { - return component.core().executeSync(action); - } - - /** - * Execute the specified action (synchronously). - * @param context the context for this action. - * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). - * @param params for microflows: add IMendixObject, IMendixIdentifier or primitive parameters. - * for Java actions: add any object parameters. - * @return return value of the specified action. - */ - public static R execute(IContext context, String actionName, Object ... params) throws CoreException - { - return (R)component.core().execute(context, actionName, params); - } - - /** - * Execute the specified action (asynchronously) - * Result is given and/or exceptions are raised when calling Future.get(). - * When calling Future.get() the result of the action will return immediately if the execution is done, - * otherwise the call is blocking. Exceptions raised while executing the action will not be thrown until - * Future.get() is called. - * @param context the context for this action. - * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). - * @param params for microflows: add IMendixObject, IMendixIdentifier or primitive parameters. - * for Java actions: add any object parameters. - * @return the Future object. - */ - public static Future executeAsync(IContext context, String actionName, Object ... params) throws CoreException - { - return component.core().executeAsync(context, actionName, params); - } - - /** - * Execute the specified action (synchronously). - * @param context the context for this action. - * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). - * @param params action parameters by name. - * @return return value of the specified action. - */ - public static R execute(IContext context, String actionName, Map params) throws CoreException - { - return (R)component.core().execute(context, actionName, params); - } - - /** - * Execute the specified action (synchronously). - * @param context the context for this action. - * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). - * @param executeInTransaction defines whether the action should be execute in a transaction (enables rolling back changes when exceptions are raised). - * @param params action parameters by name. - * @return return value of the specified action. - */ - public static R execute(IContext context, String actionName, boolean executeInTransaction, Map params) throws CoreException - { - return (R)component.core().execute(context, actionName, executeInTransaction, params); - } - - /** - * Execute the specified action (asynchronously). - * @param result type of the action, can be any object. - * @param action type, subclass of CoreAction. - * @param action the action to execute. - */ - public static ,R> void executeVoid(T action) - { - component.core().executeVoid(action); - } - - /** - * Schedule an action on a certain date. - * @param actionName the name of a microflow or java action (format "ModuleName.ActionName") - * @param date the date and time on which the action should be executed - * @return the RunnableScheduledFuture object for keeping track of the result - */ - public static RunnableScheduledFuture schedule(String actionName, Date date) throws CoreException - { - return component.core().schedule(actionName, date); - } - - /** - * Schedule an action on a certain delay from now. - * @param action the action to execute. - * @param delay the delay after which the action should be executed. - * @param timeUnit time unit in which the delay is specified. - * @return returns RunnableScheduleFuture object for keeping track of the result. - */ - public static RunnableScheduledFuture schedule(CoreAction action, long delay, TimeUnit timeUnit) - { - return component.core().schedule(action, delay, timeUnit); - } - - /** - * Schedule a periodic action that runs for the first time after the given initial delay (first run), - * and subsequently with the given period; that is executions will commence after initialDelay then - * initialDelay+period, then initialDelay + 2 * period, and so on. - * No result will be returned. - * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). - * @param firstRun the date on which the action will be executed the first time. - * @param period the period between each start of the execution of the action. - * @param timeUnit the timeUnit in which the initialDelay and the period is specified. - * @param name the name of the scheduled event. - * @param description the description of the scheduled event. - */ - public static void scheduleAtFixedRate(String actionName, Date firstRun, long period, TimeUnit timeUnit, String name, String description) - { - component.core().scheduleAtFixedRate(actionName, firstRun, period, timeUnit, name, description); - } - - /** - * Schedule a periodic action that runs for the first time after the given initial delay, - * and subsequently with the given period; that is executions will commence after initialDelay then - * initialDelay+period, then initialDelay + 2 * period, and so on. - * No result will be returned. - * @param action the action to execute. - * @param initialDelay the delay after which the action will be executed the first time. - * @param period the period between each start of the execution of the action. - * @param timeUnit the timeUnit in which the initialDelay and the period is specified. - */ - public static void scheduleAtFixedRate(CoreAction action, long initialDelay, long period, TimeUnit timeUnit) - { - component.core().scheduleAtFixedRate(action, initialDelay, period, timeUnit); - } - - /** - * Schedule a periodic action that run for the first time on the given date/time, - * and subsequently with the given period; that is executions will commence on firstRun then - * initialDelay+period, then initialDelay + 2 * period, and so on.
- * No result will be returned. - * @param action the action to execute - * @param firstRun the Date/time on which the action will be executed the first time - * @param period the period between each start of the execution of the action - * @param timeUnit the timeUnit in which the period is specified - */ - public static void scheduleAtFixedRate(CoreAction action, Date firstRun, long period, TimeUnit timeUnit) - { - component.core().scheduleAtFixedRate(action, firstRun, period, timeUnit); - } - - /** - * Schedule a periodic action that runs for the first time after the given initial delay, - * and subsequently with the given delay between the termination of one execution and the commencement of the next. - * No result will be returned. - * @param action the action to execute. - * @param initialDelay the delay after which the action will be executed the first time. - * @param delay the delay between the end of the execution of the action and the start of the next time the action will be executed. - * @param timeUnit the timeUnit in which the initialDelay and the delay is specified. - */ - public static void scheduleWithFixedDelay(CoreAction action, long initialDelay, long delay, TimeUnit timeUnit) - { - component.core().scheduleWithFixedDelay(action, initialDelay, delay, timeUnit); - } - - /** - * Remove scheduled future. - * @param scheduledFuture the RunnableScheduledFuture to remove. - * @return whether removing the RunnableScheduledFuture was successful. - */ - public static boolean removeScheduledFuture(RunnableScheduledFuture scheduledFuture) - { - return component.core().removeScheduledFuture(scheduledFuture); - } - - /** - * Reschedule an action with a new delay. - * @param scheduledFuture the scheduledFuture (old action) to remove from the queue. - * @param action the action to reschedule. - * @param newDelay the new delay. - * @param timeUnit time unit of the delay. - * @return scheduled future object. - */ - public static ScheduledFuture reschedule(RunnableScheduledFuture scheduledFuture, CoreAction action, long newDelay, TimeUnit timeUnit) - { - return component.core().reschedule(scheduledFuture, action, newDelay, timeUnit); - } - - /** - * Registers the given ActionListener to the ActionManager. - * @param al the ActionListener to add. - */ - public static > void addListener(ActionListener al) - { - component.core().addListener(al); - } - - /** - * Commits the given object (asynchronously). This will store the object in the database and remove it from the server cache. - * This action is not executed in a transaction. - * @param context the context. - * @param object the IMendixObject to commit. - * @return returns a list of future objects with committed object lists, one for each entity type. - */ - public static List>> commitAsync(IContext context, List objects) - { - return component.core().commitAsync(context, objects); - } - - /** - * Commits the given object. This will store the object in the database and remove it from the server cache. - * This action is executed in a transaction. - * @param context the context. - * @param object the IMendixObject to commit. - * @return returns committed object if commit was successful, otherwise null. - */ - public static IMendixObject commit(IContext context, IMendixObject object) throws CoreException - { - return component.core().commit(context, object); - } - - /** - * Commits the given objects. This will store the objects in the database and remove them from the server cache. - * Before events defined for these objects are executed before any object will be committed and after events will be - * executed after all objects have been committed. - * This action is executed in a transaction. - * @param context the context. - * @param objectsToCommit the objects to commit. - * @return returns committed objects if commits was successful, otherwise an empty list. - */ - public static List commit(IContext context, List objects) - { - return component.core().commit(context, objects); - } - - /** - * Commits the given object without events. This will store the object in the database and remove it from the server cache. - * This action is executed in a transaction. - * @param context the context. - * @param object the IMendixObject to commit. - * @return returns committed object if commit was successful, otherwise null. - */ - public static IMendixObject commitWithoutEvents(IContext context, IMendixObject object) - { - return component.core().commitWithoutEvents(context, object); - } - - /** - * Commit the given objects without events. This will store the objects in the database and remove it from the server cache. - * This action is executed in a transaction. - * @param context the context. - * @param objects the objects to commit. - * @return returns true if commit was successful, otherwise false. - */ - public static List commitWithoutEvents(IContext context, List objects) - { - return component.core().commitWithoutEvents(context, objects); - } - - /** - * Creates a new IMendixObject with the given object type (asynchronously). The object will NOT be stored in the - * database. This action is not executed in a transaction. - * @param context the context. - * @param objectType type of object to create (e.g. "System.User"). - * @return returns the Future object. - */ - public static Future instantiateAsync(IContext context, String objectType) - { - return component.core().instantiateAsync(context, objectType); - } - - /** - * Creates a new IMendixObject with the given object type (synchronously). The object will NOT be stored in the - * database. This action is executed in a transaction. - * @param context the context. - * @param objectType type of object to create (e.g. "System.User"). - * @return returns the newly created object. - */ - public static IMendixObject instantiate(IContext context, String objectType) - { - return component.core().instantiate(context, objectType); - } - - /** - * Changes the given object in cache (synchronously). When the object is not cache yet, - * the object will be retrieved from the database and put in the cache. - * This action is executed in a transaction. - * @param context the context. - * @param object the object to change. - * @param changes contains changes by member name (e.g. <"Name", "User1">). - * @return returns whether the change succeeded or not. - */ - public static boolean change(IContext context, IMendixObject object, Map changes) throws CoreException - { - return component.core().change(context, object, changes); - } - - /** - * Changes the object (asynchronously). Object will be stored in cache. - * This action is not executed in a transaction. - * @param context the context. - * @param obj the MendixObject to change - * @param changes contains changes by member name (e.g. <"Name", "User1">). - * @return returns the Future object. - */ - public static Future changeAsync(IContext context, IMendixObject obj, Map changes) - { - return component.core().changeAsync(context, obj, changes); - } - - /** - * Rollback changes of the object with the given id (asynchronously). - * When the object's state is NORMAL: Removes the object from the cache, all performed changes without commit will be lost. - * When the object's state is NEW: Removes the object from the database. - * @param context the context. - * @param id the identifier of the object to rollback. - * @return returns the Future object. - * @throws CoreException - */ - @Deprecated - public static Future rollbackAsync(IContext context, IMendixIdentifier id) throws CoreException - { - return component.core().rollbackAsync(context, id); - } - - /** - * Rollback changes of the object with the given id (asynchronously). - * When the object's state is NORMAL: Removes the object from the cache, all performed changes without commit will be lost. - * When the object's state is NEW: Removes the object from the database. - * This action is not executed in a transaction. - * @param context the context. - * @param id the identifier of the object to rollback. - * @return returns the Future object. - */ - public static Future rollbackAsync(IContext context, IMendixObject object) - { - return component.core().rollbackAsync(context, object); - } - - /** - * Rollback changes of the object with the given id (synchronously). - * When the object's state is NORMAL: Removes the object from the cache, all performed changes without commit will be lost. - * When the object's state is NEW: Removes the object from the database. - * @param context the context. - * @param id the identifier of the object to rollback. - * @return returns the Future object. - */ - @Deprecated - public static IMendixObject rollback(IContext context, IMendixIdentifier id) throws CoreException - { - return component.core().rollback(context, id); - } - - /** - * Rollback changes of the object with the given id (synchronously). - * When the object's state is NORMAL: Removes the object from the cache, all performed changes without commit will be lost. - * When the object's state is NEW: Removes the object from the database. - * This action is executed in a transaction. - * @param context the context. - * @param id the identifier of the object to rollback. - * @return returns the Future object. - */ - public static IMendixObject rollback(IContext context, IMendixObject object) throws CoreException - { - return component.core().rollback(context, object); - } - - /** - * Removes the given objects from the database and server cache (synchronously). - * Before events defined for these objects are executed before any object will be deleted and after events will be - * executed after all objects have been deleted. - * @param context the context. - * @param objects the objects to remove. - * @return returns whether the remove succeeded. - * @deprecated Replaced by {{@link #delete(IContext, IMendixObject...)} - */ - @SuppressWarnings("unused") - @Deprecated - public static boolean remove(IContext context, IMendixObject... objects) throws CoreException - { - return delete(context, objects); - } - - /** - * Deletes the given objects from the database and server cache (synchronously). - * This action is executed in a transaction. - * @param context the context. - * @param objects the objects to delete. - * @return returns whether the delete succeeded. - */ - public static boolean delete(IContext context, IMendixObject... objects) - { - return component.core().delete(context, objects); - } - - /** - * Deletes the given objects from the database and server cache (synchronously). - * This action is executed in a transaction. - * @param context the context. - * @param objectList the objects to delete. - * @return returns whether the delete succeeded. - */ - public static boolean delete(IContext context, List objectList) - { - return component.core().delete(context, objectList); - } - - /** - * Deletes the given objects from the database and server cache (synchronously) without events - * This action is executed in a transaction. - * @param context the context. - * @param objects the objects to delete. - * @return returns whether the delete succeeded. - */ - public static boolean deleteWithoutEvents(IContext context, List objects, boolean useDeleteBehavior) - { - return component.core().deleteWithoutEvents(context, objects, useDeleteBehavior); - } - - /** - * Deletes the given object from the database and server cache (asynchronously). - * This action is not executed in a transaction. - * @param context the context. - * @param object the object to delete. - * @param useDeleteBehavior whether to use delete behavior. - * @return returns a list of future booleans, one for each entity type. - */ - public static List> deleteAsync(IContext context, IMendixObject object, boolean useDeleteBehavior) - { - return component.core().deleteAsync(context, object, useDeleteBehavior); - } - - /** - * Deletes the given object from the database and server cache (asynchronously). - * This action is not executed in a transaction. - * @param context the context. - * @param object the object to delete. - * @param useDeleteBehavior whether to use delete behavior. - * @return returns a list of future booleans, one for each entity type. - */ - public static List> deleteAsync(IContext context, List objects, boolean useDeleteBehavior) - { - return component.core().deleteAsync(context, objects, useDeleteBehavior); - } - - /** - * Retrieves objects with the given ids (asynchronously). First, objects are attempted to be retrieved from cache. - * When an object cannot be retrieve from the cache it will be retrieved from the database. - * When (amount > 0) || (offset > 0) || (sort.size() > 0), all objects will be retrieve from the database. - * @param context the context. - * @param ids ids of the objects to retrieve. - * @return returns the Future object. - */ - public static Future> retrieveIdListAsync(IContext context, List ids) - { - return component.core().retrieveIdListAsync(context, ids); - } - - /** - * Retrieves objects with the given ids (synchronously). First, objects are attempted to be retrieved from cache. - * When an object cannot be retrieve from the cache it will be retrieved from the database. - * When (amount > 0) || (offset > 0) || (sort.size() > 0), all objects will be retrieve from the database. - * @param context the context. - * @param ids ids of the objects to retrieve. - * @param amount the maximum number of objects to retrieve from the database. - * @param offset offset of returned objects when retrieved from the database. - * @param sort sorting of returned objects when retrieved from the database (e.g. <"Name", "ASC">, <"Age", "DESC">). - * @return returns the Future object. - */ - public static List retrieveIdList(IContext context, List ids, int amount, int offset, Map sort) throws CoreException - { - return component.core().retrieveIdList(context, ids, amount, offset, sort); - } - - /** - * Retrieves objects with the given ids (synchronously). First, objects are attempted to be retrieved from cache. - * When an object cannot be retrieved from the cache it will be retrieved from the database. - * When (amount > 0) || (offset > 0) || (sort.size() > 0), all objects will be retrieved from the database. - * @param context the context. - * @param ids ids of the objects to retrieve. - * @return returns the objects of the given ids. - */ - public static List retrieveIdList(IContext context, List ids) throws CoreException - { - return component.core().retrieveIdList(context, ids); - } - - /** - * Retrieves object with the given id (asynchronously). First, the object is attempted to be retrieved from the cache. - * When the object cannot be retrieve from the cache it will be retrieved from the database. - * @param context the context. - * @param id id of the object to retrieve. - * @return returns the Future object. - */ - public static Future retrieveIdAsync(IContext context, IMendixIdentifier id) - { - return component.core().retrieveIdAsync(context, id); - } - - /** - * Retrieves object with the given id (synchronously). First, the object is attempted to be retrieved from the cache. - * When the object cannot be retrieve from the cache it will be retrieved from the database. - * @param context the context. - * @param id id of the object to retrieve. - * @return returns the Future object. - */ - public static IMendixObject retrieveId(IContext context, IMendixIdentifier id) throws CoreException - { - return component.core().retrieveId(context, id); - } - - /** - * Retrieves objects using the given object and path. - * - * @param context the context. - * @param mxObject the start point of the path. - * @param path the path (association) to the objects to retrieve. - * @return the list of retrieved objects. - */ - public static List retrieveByPath(IContext context, IMendixObject mxObject, String path) - { - return component.core().retrieveByPath(context, mxObject, path); - } - - /** - * Retrieves objects using the given object and path. - * - * @param context the context. - * @param mxObject the start point of the path. - * @param path the path (association) to the objects to retrieve. - * @param isSelfAssociationChild defines whether the mxObject instance is the child of the path of a self association. - * @return the list of retrieved objects. - */ - public static List retrieveByPath(IContext context, IMendixObject mxObject, String path, boolean isSelfAssociationChild) - { - return component.core().retrieveByPath(context, mxObject, path, isSelfAssociationChild); - } - - /** - * Retrieves object list based on the given XPath query (asynchronously). - * @param context the context. - * @param xpathQuery the XPath query to execute. - * @param amount maximum number of objects to retrieve. - * @param offset index of first object to retrieve. - * @param sort sorting of returned objects when retrieved from the database (e.g. <"Name", "ASC">, <"Age", "DESC">). - * @param depth indicates the level until which each reference (IMendixIdentifier) is also retrieved as an IMendixObject. - * @return the Future object. - */ - public static Future> retrieveXPathQueryAsync(IContext context, String xpathQuery, int amount, int offset, Map sort, int depth) - { - return component.core().retrieveXPathQueryAsync(context, xpathQuery, amount, offset, sort, depth); - } - - /** - * Retrieves object list based on the given XPath query (synchronously). - * @param context the context. - * @param xpathQuery the XPath query to execute. - * @param amount maximum number of objects to retrieve. - * @param offset index of first object to retrieve. - * @param sort sorting of returned objects when retrieved from the database (e.g. <"Name", "ASC">, <"Age", "DESC">). - * @param depth indicates the level until which each reference (IMendixIdentifier) is also retrieved as an IMendixObject. - * @return the list of retrieved objects. - */ - public static List retrieveXPathQuery(IContext context, String xpathQuery, int amount, int offset, Map sort, int depth) throws CoreException - { - return component.core().retrieveXPathQuery(context, xpathQuery, amount, offset, sort, depth); - } - - /** - * Retrieves raw data (IDataTables) based on the given XPath query (synchronously). - * @param context the context. - * @param xpathQuery the XPath query to execute. - * @param amount maximum number of objects to retrieve. - * @param offset index of first object to retrieve. - * @param sort sorting of returned objects when retrieved from the database (e.g. <"Name", "ASC">, <"Age", "DESC">). - * @param depth indicates the level until which each reference (IMendixIdentifier) is also retrieved as an IMendixObject. - * @return the data table containing the raw data. - */ - public static IDataTable retrieveXPathQueryRaw(IContext context, String xpathQuery, int amount, int offset, Map sort, int depth) throws CoreException - { - return component.core().retrieveXPathQueryRaw(context, xpathQuery, amount, offset, sort, depth); - } - - /** - * Retrieves raw data (IDataTables) based on the XPath query and given schema (synchronously). - * @param context the context. - * @param xpathQuery the XPath query to execute. - * @param shouldRetrieveCount indicates whether the total number object corresponding to the given schema should be included in the result. - * @param retrievalSchema the schema to apply. - * @return the data table containing the raw data. - */ - public static IDataTable retrieveXPathSchemaRaw(IContext context, String xpathQuery, boolean shouldRetrieveCount, IRetrievalSchema retrievalSchema) throws CoreException - { - return component.core().retrieveXPathSchemaRaw(context, xpathQuery, shouldRetrieveCount, retrievalSchema); - } - - /** - * Retrieves objects based on the XPath query and given schema (synchronously). - * @param context the context. - * @param xpathQuery the XPath query to execute. - * @param retrievalSchema the schema to apply. - * @param shouldRetrieveCount indicates whether the total number object corresponding to the given schema should be included in the result. - * @return the list of retrieved objects. - */ - public static List retrieveXPathSchema(IContext context, String xpathQuery, IRetrievalSchema retrievalSchema, boolean shouldRetrieveCount) throws CoreException - { - return component.core().retrieveXPathSchema(context, xpathQuery, retrievalSchema, shouldRetrieveCount, false); - } - - /** - * Retrieves objects based on the XPath query and given schema (synchronously). - * @param context the context. - * @param xpathQuery the XPath query to execute. - * @param retrievalSchema the schema to apply. - * @param shouldRetrieveCount indicates whether the total number object corresponding to the given schema should be included in the result. - * @param disableSecurity indicates whether security should be applied when this query is being executed. - * @return the list of retrieved objects. - */ - public static List retrieveXPathSchema(IContext context, String xpathQuery, IRetrievalSchema retrievalSchema, boolean shouldRetrieveCount, boolean disableSecurity) throws CoreException - { - return component.core().retrieveXPathSchema(context, xpathQuery, retrievalSchema, shouldRetrieveCount, disableSecurity); - } - - /** - * Retrieves object list based on the given XPath query (synchronously). - * @param context the context. - * @param xpathQuery the XPath query to execute. - * @param amount maximum number of objects to retrieve. - * @param offset index of first object to retrieve. - * @param sort sorting of returned objects when retrieved from the database (e.g. <"Name", "ASC">, <"Age", "DESC">). - * @return the list of retrieved objects. - */ - public static List retrieveXPathQuery(IContext context, String xpathQuery, int amount, int offset, Map sort) throws CoreException - { - return Core.retrieveXPathQuery(context, xpathQuery, amount, offset, sort, 0); - } - - /** - * Retrieves object list based on the given XPath query (synchronously). - * @param context the context. - * @param xpathQuery the XPath query to execute. - * @param depth indicates the level until which each reference (IMendixIdentifier) is also retrieved as an IMendixObject. - * @return the list of retrieved objects. - */ - public static List retrieveXPathQuery(IContext context, String xpathQuery, int depth) throws CoreException - { - return Core.retrieveXPathQuery(context, xpathQuery, -1, -1, new LinkedHashMap(), depth); - } - - /** - * Retrieves object list based on the given XPath query (synchronously). - * @param context the context. - * @param xpathQuery the XPath query to execute. - * @return the list of retrieved objects. - */ - public static List retrieveXPathQuery(IContext context, String xpathQuery) throws CoreException - { - return Core.retrieveXPathQuery(context, xpathQuery, -1, -1, new LinkedHashMap(), 0); - } - - /** - * Retrieves object list based on the given XPath query (synchronously). - * @param context the context. - * @param xpathFormat the XPath query to execute with %s for each param to escape. - * @param amount maximum number of objects to retrieve. - * @param offset index of first object to retrieve. - * @param sort sorting of returned objects when retrieved from the database (e.g. <"Name", "ASC">, <"Age", "DESC">). - * @param depth depth of the retrieval (0 is all attributes and association guids, 1 is also all attributes of 1-deep associations and 2-deep associaton guids etc.). - * @param params xpath arguments. - * @return the list of retrieved objects. - */ - public static List retrieveXPathQueryEscaped(IContext context, String xpathFormat, int amount, int offset, Map sort, int depth, String... params) throws CoreException - { - return component.core().retrieveXPathQueryEscaped(context, xpathFormat, amount, offset, sort, depth, params); - } - - /** - * Retrieves object list based on the given XPath query (synchronously). - * @param context the context. - * @param xpathFormat the XPath query to execute with %s for each param to escape. - * @param retrievalSchema the schema to apply. - * @param shouldRetrieveCount indicates whether the total number object corresponding to the given schema should be included in the result. - * @param params a collection of parameters for each %s in xpathFormat. - * @return the list of retrieved objects. - */ - public static List retrieveXPathSchemaEscaped(IContext context, String xpathFormat, IRetrievalSchema retrievalSchema, boolean shouldRetrieveCount, String... params) throws CoreException - { - return Core.retrieveXPathSchemaEscaped(context, xpathFormat, retrievalSchema, shouldRetrieveCount, false, params); - } - - /** - * Retrieves object list based on the given XPath query (synchronously). - * @param context the context. - * @param xpathFormat the XPath query to execute with %s for each param to escape. - * @param retrievalSchema the schema to apply. - * @param shouldRetrieveCount indicates whether the total number object corresponding to the given schema should be included in the result. - * @param disableSecurity indicates whether security should be disabled when executing this query. - * @param params a collection of parameters for each %s in xpathFormat. - * @return the list of retrieved objects. - */ - public static List retrieveXPathSchemaEscaped(IContext context, String xpathFormat, IRetrievalSchema retrievalSchema, boolean shouldRetrieveCount, boolean disableSecurity, String... params) throws CoreException - { - return component.core().retrieveXPathSchemaEscaped(context, xpathFormat, retrievalSchema, shouldRetrieveCount, disableSecurity, params); - } - - /** - * Retrieves object list based on the given XPath query (synchronously). - * @param context the context. - * @param xpathFormat the XPath query to execute with %s for each param to escape. - * @param params a collection of parameters for each %s in xpathFormat. - * @return the list of retrieved objects. - */ - public static List retrieveXPathQueryEscaped(IContext context, String xpathFormat, String... params) throws CoreException - { - return Core.retrieveXPathQueryEscaped(context, xpathFormat, -1, -1, new LinkedHashMap(), 0, params); - } - - /** - * Create a new IRetrievalSchema. - * @return an IRetrievalSchema. - */ - public static IRetrievalSchema createRetrievalSchema() - { - return component.core().createRetrievalSchema(); - } - - /** - * Create a new IMetaAssociationSchema to specify which associations must be retrieved. - * An IMetaAssociationSchema can be added to a request by the method IRetrievalSchema.addMetaAssociationSchema(..). - * - * @param metaAssociationName the name of the meta association of this schema - * @param retrievalSchema the retrieval schema of the associated meta object - * @return an IMetaAssociationSchema - */ - public static IMetaAssociationSchema createMetaAssociationSchema(String metaAssociationName, IRetrievalSchema retrievalSchema) { - return component.core().createMetaAssociationSchema(metaAssociationName, retrievalSchema); - } - - /** - * Create a new IXPathTextGetRequest. This class can be used to define an XPath retrieval query. The query must be set in textual form. - * @return an IXPathTextGetRequest. - */ - public static IXPathTextGetRequest createXPathTextGetRequest() - { - return component.core().createXPathTextGetRequest(); - } - - /** - * Create a new IOQLTextGetRequest. This class can be used to define a textual OQL retrieval query. - * @return an IOQLTextGetRequest. - */ - public static IOQLTextGetRequest createOQLTextGetRequest() - { - return component.core().createOQLTextGetRequest(); - } - - /** - * Retrieve raw data (IDataTable) using an OQL query (asynchronously). - * @param context the context. - * @param oqlQuery the OQL query to execute. - * @return the Future object. - */ - public static Future retrieveOQLDataTableAsync(IContext context, String oqlQuery) - { - return retrieveOQLDataTableAsync(context, oqlQuery, -1, -1); - } - - /** - * Retrieve raw data (IDataTable) using an IGetRequest object (asynchronously). - * @param context the context. - * @param request the request object. - * @return the Future object. - */ - public static Future retrieveOQLDataTableAsync(IContext context, IGetRequest request) - { - return component.core().retrieveOQLDataTableAsync(context, request); - } - - /** - * Retrieve raw data (IDataTable) using an OQL query (asynchronously). - * @param context the context. - * @param oqlQuery the OQL query to execute. - * @param amount maximum number of objects to retrieve. - * @param offset index of first object to retrieve. - * @return the Future object. - */ - public static Future retrieveOQLDataTableAsync(IContext context, String oqlQuery, int amount, int offset) - { - return component.core().retrieveOQLDataTableAsync(context, oqlQuery, amount, offset); - } - - /** - * Retrieve raw data (IDataTable) using an IGetRequest object (synchronously). - * @param context the context. - * @param request the request object. - * @return the data table containing the raw data. - */ - public static IDataTable retrieveOQLDataTable(IContext context, IGetRequest request) throws CoreException - { - return component.core().retrieveOQLDataTable(context, request); - } - - /** - * Retrieve raw data (IDataTable) using an IGetRequest object (synchronously). - * @param context the context. - * @param oqlQuery the OQL query to execute. - * @return the data table containing the raw data. - */ - public static IDataTable retrieveOQLDataTable(IContext context, String oqlQuery) throws CoreException - { - return retrieveOQLDataTable(context, oqlQuery, -1, -1); - } - - /** - * Retrieve raw data (IDataTable) using an OQL query (asynchronously). - * @param context the context. - * @param oqlQuery the OQL query to execute. - * @param amount maximum number of objects to retrieve. - * @param offset index of first object to retrieve. - * @return the data table containing the raw data. - */ - public static IDataTable retrieveOQLDataTable(IContext context, String oqlQuery, int amount, int offset) throws CoreException - { - return component.core().retrieveOQLDataTable(context, oqlQuery, amount, offset); - } - - /** - * Retrieves long aggregate value based on the given query (root element of the query should be an aggregate function) (asynchronously). - * @param context the context. - * @param xpathQuery the aggregate xpath query (e.g. "COUNT(//System.User)"). - * @return the Future object. - */ - public static Future retrieveXPathQueryAggregateAsync(IContext context, String xpathQuery) - { - return component.core().retrieveXPathQueryAggregateAsync(context, xpathQuery); - } - - /** - * Retrieves long aggregate value based on the given query (root element of the query should be an aggregate function) (synchronously). - * @param context the context. - * @param xpathQuery the aggregate xpath query (e.g. "COUNT(//System.User)"). - * @return the Future object. - */ - public static Long retrieveXPathQueryAggregate(IContext context, String xpathQuery) throws CoreException - { - return component.core().retrieveXPathQueryAggregate(context, xpathQuery); - } - - /** - * Retrieves long aggregate value based on the given query and schema (root element of the query should be an aggregate function) (asynchronously). - * @param context the context. - * @param xpathQuery the aggregate xpath query (e.g. "COUNT(//System.User)"). - * @param retrievalSchema the schema. - * @return the aggregate value. - */ - public static Long retrieveXPathQueryAggregateSchema(IContext context, String xpathQuery, IRetrievalSchema retrievalSchema) throws CoreException - { - return component.core().retrieveXPathQueryAggregateSchema(context, xpathQuery, retrievalSchema); - } - - /** - * Retrieves long aggregate value based on the given query and schema (root element of the query should be an aggregate function) (asynchronously). - * @param context the context. - * @param xpathQuery the aggregate xpath query (e.g. "COUNT(//System.User)"). - * @param retrievalSchema the schema. - * @param disableSecurity whether security should be applied for this retrieval. - * @return the aggregate value. - */ - public static Long retrieveXPathQueryAggregateSchema(IContext context, String xpathQuery, IRetrievalSchema retrievalSchema, boolean disableSecurity) throws CoreException - { - return component.core().retrieveXPathQueryAggregateSchema(context, xpathQuery, retrievalSchema, disableSecurity); - } - - /** - * Retrieves long value based on the given query (query should have an aggregate function as root element) - * @param context - * @param xpathQuery - * @return returns Future object for action control and return of action result - */ - public static Future retrieveXPathQueryAggregateAsyncDouble(IContext context, String xpathQuery) - { - return component.core().retrieveXPathQueryAggregateAsyncDouble(context, xpathQuery); - } - - /** - * Retrieves double aggregate value based on the given query (root element of the query should be an aggregate function) (synchronously). - * @param context the context. - * @param xpathQuery the aggregate xpath query (e.g. "COUNT(//System.User)"). - * @return the Future object. - */ - public static Double retrieveXPathQueryAggregateDouble(IContext context, String xpathQuery) throws CoreException - { - return component.core().retrieveXPathQueryAggregateDouble(context, xpathQuery); - } - - /** - * Returns contents of a file document as an input stream. - * @param context the context. - * @param fileDocument the file document from which the contents will be returned. - * @return the input stream of the file content of the given file document. - */ - public static InputStream getFileDocumentContent(IContext context, IMendixObject fileDocument) - { - return component.core().getFileDocumentContent(context, fileDocument); - } - - /** - * Physically stores a file using the given input stream and commits the file document. - * @param context the context. - * @param fileDocument the file document to which the file to store is linked to. - * @param fileName the original name of the file (will be stored in the Name attribute) - * @param inputStream the content of the file - */ - public static void storeFileDocumentContent(IContext context, IMendixObject fileDocument, String fileName, InputStream inputStream) - { - component.core().storeFileDocumentContent(context, fileDocument, fileName, inputStream); - } - - /** - * Physically stores a file using the given input stream and commits the file document. - * @param context the context. - * @param fileDocument the file document to which the file to store is linked to. - * @param inputStream the content of the file - */ - public static void storeFileDocumentContent(IContext context, IMendixObject fileDocument, InputStream inputStream) - { - component.core().storeFileDocumentContent(context, fileDocument, inputStream); - } - - /** - * Physically stores an image using the given input stream and commits the image document. - * @param context the context. - * @param imageDocument the image document to which the image to store is linked to. - * @param inputStream the content of the file - * @param thumbnailWidth the width of the thumbnail to create for this image. - * @param thumbnailHeight the width of the thumbnail to create for this image. - */ - public static void storeImageDocumentContent(IContext context, IMendixObject imageDocument, InputStream inputStream, int thumbnailWidth, int thumbnailHeight) - { - component.core().storeImageDocumentContent(context, imageDocument, inputStream, thumbnailWidth, thumbnailHeight); - } - - /** - * Retrieve contents of the given image document. - * @param context the context. - * @param imageDocument the image document for which its contents are retrieved. - * @param retrieveThumbnail indicates whether a thumbnail or the full image is retrieved. - * @return the image as an input stream. - */ - public static InputStream getImage(IContext context, IMendixObject imageDocument, boolean retrieveThumbnail) - { - return component.core().getImage(context, imageDocument, retrieveThumbnail); - } - - /** - * Checks whether a type is a subclass of or equal to a potential super class. - * @param superClass the name of the super class - * @param type the name of the type to check - * @return returns true if type is a subclass of superClass or if type equals superClass - */ - public static boolean isSubClassOf(String superClass, String type) - { - return component.core().isSubClassOf(superClass, type); - } - - /** - * Checks whether a type is a subclass of or equal to a potential super class. - * @param superObject the super object. - * @param type the name of the type to check. - * @return returns true if type is a subclass of superClass or if type equals superClass. - */ - public static boolean isSubClassOf(IMetaObject superObject, IMetaObject type) - { - return component.core().isSubClassOf(superObject, type); - } - - /** - * Checks whether a type is a subclass of or equal to a potential super class. - * @param superClass the name of the super class - * @param typeHash the hash of the name of the type to check - * @return returns true if type is a subclass of superClass or if type equals superClass - * @deprecated Use the method call with a short as parameter instead. - * @throws CoreException - */ - @Deprecated - public static boolean isSubClassOf(String superClass, int typeHash) - { - return isSubClassOf(superClass, (short) typeHash); - } - - /** - * Checks whether a type is a subclass of or equal to a potential super class. - * @param superClass the name of the super class - * @param typeHash the hash of the name of the type to check - * @return returns true if type is a subclass of superClass or if type equals superClass - * @throws CoreException - */ - public static boolean isSubClassOf(String superClass, short typeHash) - { - return component.core().isSubClassOf(superClass, typeHash); - } - - /** - * Get all IMendixObject types. - * @return returns a list with all IMendixObjects (one object for each existing type) - */ - public static Iterable getAllMendixObjects() - { - return component.core().getAllMendixObjects(); - } - - /** - * Get all subtypes for an object type (including subtypes of subtypes, etc.). - * @param objectType the object type. - * @return list of subtypes, in no particular order. - */ - public static List getSubtypesOf(String objectType) - { - return component.core().getSubtypesOf(objectType); - } - - /** - * Get the IMetaObject corresponding to the given meta object name. - * @param metaObjectName the meta object name. - * @return returns the IMetaObject for the given metaObjectName - */ - public static IMetaObject getMetaObject(String metaObjectName) - { - return component.core().getMetaObject(metaObjectName); - } - - /** - * Get the IMetaPrimtive based on a qualified attribute name (e.g. "System.User.Name"). - * @param qualifiedAttributeName the qualified attribute name. - * @return the IMetaPrimtive. - */ - public static IMetaPrimitive getMetaPrimitive(String qualifiedAttributeName) - { - return component.core().getMetaPrimitive(qualifiedAttributeName); - } - - /** - * Get all IMetaObjects. - * @return returns all IMetaObjects. - */ - public static Iterable getMetaObjects() - { - return component.core().getMetaObjects(); - } - - /** - * Get all IMetaAssociations. - * @return returns all IMetaAssociations. - */ - public static Iterable getMetaAssociations() - { - return component.core().getMetaAssociations(); - } - - /** - * Get the IMetaAssociation corresponding to the given association name. - * @param association the association name (e.g. "System.UserRoles"). - * @return returns the IMetaAssociation for the given association name. - */ - public static IMetaAssociation getMetaAssociation(String association) - { - return component.core().getMetaAssociation(association); - } - - /** - * @param iMetaObject the meta object to get the database table name for - * @return the name of the database table - */ - public static String getDatabaseTableName(IMetaObject iMetaObject) { - return component.core().getDatabaseTableName(iMetaObject); - } - - /** - * @param iMetaAssociation the meta association to get the database table name for - * @return the name of the database table - */ - public static String getDatabaseTableName(IMetaAssociation iMetaAssociation) { - return component.core().getDatabaseTableName(iMetaAssociation); - } - - /** - * @param iMetaPrimitive the meta primitive to get the database column name for - * @return the name of the database column - */ - public static String getDatabaseColumnName(IMetaPrimitive iMetaPrimitive) { - return component.core().getDatabaseColumnName(iMetaPrimitive); - } - - /** - * @param iMetaAssociation the meta association to get the database child column name for - * @return the name of the database child column name - */ - public static String getDatabaseChildColumnName(IMetaAssociation iMetaAssociation) { - return component.core().getDatabaseChildColumnName(iMetaAssociation); - } - - /** - * @param iMetaAssociation the meta association to get the database parent column name for - * @return the name of the database parent column name - */ - public static String getDatabaseParentColumnName(IMetaAssociation iMetaAssociation) { - return component.core().getDatabaseParentColumnName(iMetaAssociation); - } - - /** - * @deprecated use createSystemContext instead - */ - @Deprecated - public static IContext getSystemContext() - { - return component.core().createSystemContext(); - } - - /** - * Returns the context of the system session (this is always a sudo context). - * The system session has no associated user or user roles. - * @return returns the system session context. - */ - public static IContext createSystemContext() - { - return component.core().createSystemContext(); - } - - /** - * Creates a IMendixIdentifier for the given guid. - * @param guid the guid. - * @return returns the created MendixIdentifier. - */ - public static IMendixIdentifier createMendixIdentifier(String guid) - { - return component.core().createMendixIdentifier(guid); - } - - /** - * Creates a new IMendixIdentifier for the given guid. - * @param guid the guid. - * @return returns the created MendixIdentifier. - */ - public static IMendixIdentifier createMendixIdentifier(long guid) - { - return component.core().createMendixIdentifier(guid); - } - - /** - * Authenticate the given user with the given password. - * @param context - * @param user the user. - * @param password the password. - * @return returns true if authentication was successful. - */ - public static boolean authenticate(IContext context, IUser user, String password) throws CoreException - { - return component.core().authenticate(context, user, password); - } - - /** - * Generic login method (can be used in modules in combination with LoginAction replacement). - * @param params the params. - * @return the created session if login was successful. - */ - public static ISession login(Map params) throws CoreException - { - return component.core().login(params); - } - - /** - * Login user with the given user name and password. - * @param userName the user name. - * @param password the password. - * @return the created session if login is successful. - */ - public static ISession login(String userName, String password) throws CoreException - { - return component.core().login(userName, password); - } - - /** - * Login user with the given parameters. - * @param userName the user name. - * @param password the password. - * @param locale the locale. - * @param currentSessionId current session UUID. - * @return the created session if login is successful. - */ - @Deprecated - public static ISession login(String userName, String password, @SuppressWarnings("unused") String locale, String currentSessionId) throws CoreException - { - return Core.login(userName, password, currentSessionId); - } - - /** - * Login user with the given parameters. - * @param userName the user name. - * @param password the password. - * @param currentSessionId current session UUID. - * @return the created session if login is successful. - */ - public static ISession login(String userName, String password, String currentSessionId) throws CoreException - { - return component.core().login(userName, password, currentSessionId); - } - - @Deprecated - public static ISession login(String userName, String password, @SuppressWarnings("unused") String locale, IMxRuntimeRequest request) throws CoreException - { - return Core.login(userName, password, request); - } - - public static ISession login(String userName, String password, IMxRuntimeRequest request) throws CoreException - { - return component.core().login(userName, password, request); - } - - /** - * Logout the given session. When the session is persistent it will be removed from the database. - * If the session is not persistent it will removed from the session cache. - * @param session the session to logout. - */ - public static void logout(ISession session) - { - component.core().logout(session); - } - - /** - * Returns a user using the given user name. - * @param context the context. - * @param userName the user name to retrieve a user for. - * @return the retrieved user. - */ - public static IUser getUser(IContext context, String userName) throws CoreException - { - return component.core().getUser(context, userName); - } - - /** - * Initialize a new session for the given user. - * @deprecated use initializeSession(user, currentSessionId) instead. - * @param context the context. - * @param user the user for which the session should be initialized. - * @param currentSessionId id of the current session, will be used to transfer data when current session is associated with a guest user. - * @param locale determines the user's language. - * The existing language remains set if available. The default language is used when no language was set and locale is null or empty. - * @return the created session. - */ - @Deprecated - public static ISession initializeSession(@SuppressWarnings("unused") IContext context, IUser user, String currentSessionId, @SuppressWarnings("unused") String locale) throws CoreException - { - return Core.initializeSession(user, currentSessionId); - } - - /** - * Initialize a new session for the given user. - * @param user the user for which the session should be initialized. - * @param currentSessionId id of the current session, will be used to transfer data when current session is associated with a guest user. - * @return the created session. - */ - public static ISession initializeSession(IUser user, String currentSessionId) throws CoreException - { - return component.core().initializeSession(user, currentSessionId); - } - - /** - * Initialize a new session for a guest user - * @return the created session - * @throws CoreException - */ - public static ISession initializeGuestSession() throws CoreException - { - return component.core().initializeGuestSession(); - } - - /** - * Import an xml stream, map this stream to domain objects and store those object in the Mendix database. - * @param context the context. - * @param xmlStream the xml stream to map and store. - * @param xmlToDomainMappingName name of the mapping from xml to domain objects (as defined in the Mendix Business Modeler, e.g. "Orders.MyMapping"). - * @param mappingParameter parameter object used during the mapping (optional) - * @deprecated Don't use this, it will be removed in the future. Use the version that allows you to pass a shouldValidate boolean. - */ - @Deprecated - public static void importXmlStream(IContext context, InputStream xmlStream, String xmlToDomainMappingName, IMendixObject mappingParameter) - { - integration.importXmlStream(context, xmlStream, xmlToDomainMappingName, mappingParameter, false); - } - - /** - * Import an xml stream, map this stream to domain objects and store those object in the Mendix database. - * @param context the context. - * @param xmlStream the xml stream to map and store. - * @param xmlToDomainMappingName name of the mapping from xml to domain objects (as defined in the Mendix Business Modeler, e.g. "Orders.MyMapping"). - * @param mappingParameter parameter object used during the mapping (optional) - * @param shouldValidate whether the xml should be validated. - */ - public static void importXmlStream(IContext context, InputStream xmlStream, String xmlToDomainMappingName, IMendixObject mappingParameter, boolean shouldValidate) - { - integration.importXmlStream(context, xmlStream, xmlToDomainMappingName, mappingParameter, shouldValidate); - } - - /** - * Import an xml stream, map this stream to domain objects and store those object in the Mendix database. - * @param context the context. - * @param xmlStream the xml stream to map and store. - * @param xmlToDomainMappingName name of the mapping from xml to domain objects (as defined in the Mendix Business Modeler, e.g. "Orders.MyMapping"). - * @param mappingParameter parameter object used during the mapping (optional) - * @param storeResultInVariable whether to store the result of the xml mapping in variable which will be returned by this method. - * @param hasListReturnValue indicates whether the return value of the xml mapping is of type List. - * @deprecated Don't use this, it will be removed in the future. Use the version that allows you to pass a shouldValidate boolean. - */ - @Deprecated - public static Object importXmlStream(IContext context, InputStream xmlStream, String xmlToDomainMappingName, IMendixObject mappingParameter, - boolean storeResultInVariable, boolean hasListReturnValue) - { - return integration.importXmlStream(context, xmlStream, xmlToDomainMappingName, mappingParameter, storeResultInVariable, -1, hasListReturnValue, false); - } - - /** - * Import an xml stream, map this stream to domain objects and store those object in the Mendix database. - * @param context the context. - * @param xmlStream the xml stream to map and store. - * @param xmlToDomainMappingName name of the mapping from xml to domain objects (as defined in the Mendix Business Modeler, e.g. "Orders.MyMapping"). - * @param mappingParameter parameter object used during the mapping (optional) - * @param storeResultInVariable whether to store the result of the xml mapping in variable which will be returned by this method. - * @param hasListReturnValue indicates whether the return value of the xml mapping is of type List. - * @param shouldValidate whether the xml should be validated. - */ - public static Object importXmlStream(IContext context, InputStream xmlStream, String xmlToDomainMappingName, IMendixObject mappingParameter, - boolean storeResultInVariable, boolean hasListReturnValue, boolean shouldValidate) - { - return integration.importXmlStream(context, xmlStream, xmlToDomainMappingName, mappingParameter, storeResultInVariable, -1, hasListReturnValue, shouldValidate); - } - - /** - * Call a webservice - * Post method headers: - * - Content-Type: text/xml - * - Host: location host (e.g. www.w3schools.com) - * - SoapAction: soapAction (e.g. http://tempuri.com/FahrenheitToCelsius) - * @param location the webservice location url - * @param soapAction the webservice soap action - * @param soapRequestMessage - *
-	 * {@code
-	 * 
-	 *	
-	 *		
-	 *			
-	 *				 username 
-	 *				 password 
-	 *			
-	 *		
-     *		
-     *   		
-     *       		5
-     *       		5.0
-     *   		
-     *		
-	 * 
-	 * }
-	 * 
- * @return a soap envelope response stream, e.g.: - *
-	 * {@code
-	 * 
-	 * 
-  	 * 		
-     * 			
-     * 				string
-     * 			
-     * 		
-	 *	
-	 *}
-	 *
- * @throws WebserviceException - * @throws IOException - * @deprecated Don't use this, it will be removed in the future. If you want to build your own custom web - * service calls, you can fully implement this yourself. - */ - @Deprecated - public static IWebserviceResponse callWebservice(String location, String soapAction, String soapRequestMessage) - { - return integration.callWebservice(location, soapAction, soapRequestMessage); - } - - /** - * Call a webservice - * Post method headers: - * - Content-Type: text/xml - * - Host: location host (e.g. www.w3schools.com) - * - SoapAction: soapAction (e.g. http://tempuri.com/FahrenheitToCelsius) - * @param location the webservice location url - * @param soapAction the webservice soap action - * @param soapRequestMessage - *
-	 * {@code 
-	 * 
-	 *	
-	 *		
-	 *			
-	 *				 username 
-	 *				 password 
-	 *			
-	 *		
-     *		
-     *   		
-     *       		5
-     *       		5.0
-     *   		
-     *		
-	 * 
-	 * }
-	 * 
- * @return a soap envelope response stream, e.g.: - *
-	 * {@code
-	 * 
-	 * 
-  	 * 		
-     * 			
-     * 				string
-     * 			
-     * 		
-	 *	
-	 *}
-	 *
- * @throws WebserviceException - * @throws IOException - * @deprecated Don't use this, it will be removed in the future. If you want to build your own custom web - * service calls, you can fully implement this yourself. - */ - @Deprecated - public static IWebserviceResponse callWebservice(String location, String soapAction, InputStream soapRequestMessage) - { - return integration.callWebservice(location, soapAction, soapRequestMessage); - } - - /** - * Add a custom request handler to the Mendix Business Server. This request - * handler will process MxRuntimeRequests on the given path. Responses should be - * given by adding information to the MxRuntimeResponse. - * @param path the path for which request should be processed. - * @param requestHandler the custom request handler. - */ - public static void addRequestHandler(String path, RequestHandler requestHandler) - { - component.runtime().getConnector().addRequestHandler(path, requestHandler); - } - - public static ILogNode getLogger(String name) - { - return component.core().getLogger(name); - } - - /** - * Returns the current configuration. - * @return the configuration. - */ - public static Configuration getConfiguration() - { - return component.core().getConfiguration(); - } - - /** - * Resolve tokens in the given text. - * Possible tokens: - * - [%CurrentDateTime%] - * - [%CurrentUser%] - * - [%SecondLength%] - * - [%MinuteLength%] - * - [%HourLength%] - * - [%DayLength%] - * - [%WeekLength%] - * - [%MonthLength%] - * - [%YearLength%] - * - [%BeginOfCurrentMinute%] - * - [%EndOfCurrentMinute%] - * - [%BeginOfCurrentHour%] - * - [%BeginOfCurrentDay%] - * - [%EndOfCurrentDay%] - * - [%BeginOfCurrentWeek%] - * - [%EndOfCurrentWeek%] - * - [%BeginOfCurrentMonth%] - * - [%EndOfCurrentMonth%] - * - [%BeginOfCurrentYear%] - * - [%EndOfCurrentYear%] - * - [%UserRole_%Name%%] (e.g. [%UserRole_Administrator%]) - * @param text the text to resolve. - * @param context the context. - * @return the resolved object. - */ - public static Object resolveTokens(IContext context, String text) - { - return component.core().resolveTokens(context, text); - } - - /////////////// ActionManager statistics ////////////////////////////// - - /** - * Returns the current number of active actions. This number represents only the actions - * which were started asynchronously. - * @return number of current active actions. - */ - public static int getActiveActionCount() - { - return component.core().getActiveActionCount(); - } - - /** - * Returns the number of completed actions since server startup. This number represents - * only the actions which were started asynchronously. - * @return number of completed actions - */ - public static long getCompletedActionCount() - { - return component.core().getCompletedActionCount(); - } - - /** - * Returns the current action pool queue size. - * @return returns current queue size of action thread pool. - */ - public static int getActionQueueSize() - { - return component.core().getActionQueueSize(); - } - - /** - * Returns the current action pool size. - * @return the current size of the action thread pool. - */ - public static int getCurrentPoolSize() - { - return component.core().getCurrentPoolSize(); - } - - /** - * Returns the largest action pool size. - * @return the maximum number of threads the thread pool has ever ran. - */ - public static int getLargestPoolSize() - { - return component.core().getLargestPoolSize(); - } - - /** - * Returns the number of actions currently scheduled for future execution. - * @return the number of scheduled actions. - */ - public static int getScheduledActionCount() - { - return component.core().getScheduledActionCount(); - } - - /** - * Returns the maximum number of concurrent users since the server was started. - * @return maximum number of concurrent users. - */ - public static int getMaximumNumberConcurrentUsers() throws CoreException - { - return component.core().getMaximumNumberConcurrentUsers(); - } - - /** - * Returns current number of concurrent users (live sessions). - * @deprecated use getNumberConcurrentSessions instead. - */ - @Deprecated - public static long getNumberConcurrentUsers() - { - return Core.getNumberConcurrentSessions(); - } - - /** - * Returns current number of concurrent sessions. - */ - public static long getNumberConcurrentSessions() - { - return component.core().getNumberConcurrentSessions(); - } - - /** - * @return the active sessions. - */ - public static Collection getActiveSessions() - { - return component.core().getActiveSessions(); - } - - /** - * @param userName the user name associated with the session to search for. - * @return the session associated with the given user name if such a session exists, otherwise null. - */ - public static ISession getActiveSession(String userName) - { - return component.core().getActiveSession(userName); - } - - public static long getNamedUserCount() - { - return component.core().getNamedUserCount(); - } - - /** - * The current number of concurrent users. - * @param anonymous whether anonymous users should be included in the count. - * @return the number of concurrent users. - */ - public static long getConcurrentUserCount(boolean anonymous) - { - return component.core().getConcurrentUserCount(anonymous); - } - - /** - * Returns the translated string for a certain key and context. The context is used - * to retrieve the language of the current user. - * @param context the context. - * @param key the key referring to the translatable string. - * @param args the arguments which should be applied to translatable string template. - * @return the translated string. - */ - public static String getInternationalizedString(IContext context, String key, Object ...args) - { - return component.core().getInternationalizedString(context, key, args); - } - - /** - * Returns the translated string for a certain key and language code. - * @param languageCode the language code (ISO-639). - * @param key the key referring to the translatable string. - * @param args values which should replace possible templates in the translatable string ({1}, {2}, etc.). - * @return the translated string. - */ - public static String getInternationalizedString(String languageCode, String key, Object ... args) - { - return component.core().getInternationalizedString(languageCode, key, args); - } - - /** - * Returns the default language of the loaded project. - * @return the default langauge. - */ - public static ILanguage getDefaultLanguage() - { - return component.core().getDefaultLanguage(); - } - - /** - * Retrieve locale using the given context. - * @param context the context. - * @return the Locale. - */ - public static Locale getLocale(IContext context) - { - return component.core().getLocale(context); - } - - /** - * Retrieve locale using the given language code (e.g. en_US). - * @param languageCode the languageCode (ISO-639). - * @return the Locale. - */ - public static Locale getLocale(String languageCode) - { - return component.core().getLocale(languageCode); - } - - /** - * Returns the startup date time of the Mendix Business Server. - * @return the date time on which the Mendix Business Server was started. - */ - public static Date getStartupDateTime() - { - return component.core().getStartupDateTime(); - } - - public static void registerLogSubscriber(LogSubscriber subscriber) - { - component.core().registerLogSubscriber(subscriber); - } - - /** - * Prints the message and stacktrace of a Throwable and its cause(s). - * @param trace the StringBuilder the exception is printed to. - * @param e the Throwable to print. - */ - public static void buildException(StringBuilder trace, Throwable e) - { - component.core().buildException(trace, e); - } - - /** - * Add the action specified by the given action name to action registry. This enables calling - * Core.execute(actionName) for this action. - * @param actionName the fully qualified class name of the action (e.g. com.mendix.action.MyAction). - */ - public static void addUserAction(Class> userActionClass) - { - component.core().addUserAction(userActionClass); - } - - /** - * Creates a DataType based on a type.
- * Possible types:
- * - Boolean
- * - Integer
- * - Long
- * - Float
- * - String
- * - Datetime
- * - {code#id} (enumeration key)
- * - ModuleName.ObjectName (IMendixObject)
- * - [ModuleName.ObjectName] (List)
- * @param type the type to base the IDataType on. - * @return the resulting IDataType. - */ - public static IDataType createDataType(String type) - { - return component.core().createDataType(type); - } - - /** - * Creates a DataType based on an object type and a attribute name - * @param objectType the object type (format: "ModuleName.EntityName"). - * @param attributeName the attribute to create the IDataType for (should be a member of above object type) - * @return the resulting IDataType - */ - public static IDataType createDataType(String objectType, String attributeName) - { - return component.core().createDataType(objectType, attributeName); - } - - public static IProfiler getProfiler() - { - return component.core().getProfiler(); - } - - public static void registerProfiler(IProfiler profiler) throws MendixException - { - component.core().registerProfiler(profiler); - } - - public static void unregisterProfiler() - { - component.core().unregisterProfiler(); - } - - /** - * Removes the object with the given id from the database and server cache (asynchronously). - * @param context the context. - * @param id id of the object to remove. - * @return returns the Future object. - * @deprecated use Core.deleteAsync() instead. This new version does not allow passing an identifier but only objects, - * however within this deprecated method the object is simply retrieved using Core.retrieveId() as well. - * To make this perform better, you should gather ids and retrieve all objects with Core.retrieveIdList() and then use Core.deleteAsync using the list. - */ - @Deprecated - public static Future removeAsync(IContext context, IMendixIdentifier id, boolean useDeleteBehavior) throws CoreException - { - return component.core().removeAsync(context, id, useDeleteBehavior); - } -} +package com.mendix.core; + +import java.io.InputStream; +import java.io.IOException; +import java.util.Collection; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.Future; +import java.util.concurrent.RunnableScheduledFuture; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; + +import com.mendix.core.actionmanagement.ActionListener; +import com.mendix.core.actionmanagement.CoreAction; +import com.mendix.core.component.LocalComponent; +import com.mendix.core.component.InternalCore; +import com.mendix.core.conf.Configuration; +import com.mendix.externalinterface.connector.RequestHandler; +import com.mendix.integration.Integration; +import com.mendix.integration.WebserviceException; +import com.mendix.logging.ILogNode; +import com.mendix.logging.LogSubscriber; +import com.mendix.m2ee.api.IMxRuntimeRequest; +import com.mendix.systemwideinterfaces.MendixException; +import com.mendix.systemwideinterfaces.MendixRuntimeException; +import com.mendix.systemwideinterfaces.IWebserviceResponse; +import com.mendix.systemwideinterfaces.connectionbus.data.IDataTable; +import com.mendix.systemwideinterfaces.connectionbus.requests.IMetaAssociationSchema; +import com.mendix.systemwideinterfaces.connectionbus.requests.IRetrievalSchema; +import com.mendix.systemwideinterfaces.connectionbus.requests.types.IGetRequest; +import com.mendix.systemwideinterfaces.connectionbus.requests.types.IOQLTextGetRequest; +import com.mendix.systemwideinterfaces.connectionbus.requests.types.IXPathTextGetRequest; +import com.mendix.systemwideinterfaces.core.IContext; +import com.mendix.systemwideinterfaces.core.IDataType; +import com.mendix.systemwideinterfaces.core.ILanguage; +import com.mendix.systemwideinterfaces.core.IMendixIdentifier; +import com.mendix.systemwideinterfaces.core.IMendixObject; +import com.mendix.systemwideinterfaces.core.IProfiler; +import com.mendix.systemwideinterfaces.core.ISession; +import com.mendix.systemwideinterfaces.core.IUser; +import com.mendix.systemwideinterfaces.core.UserAction; +import com.mendix.systemwideinterfaces.core.meta.IMetaAssociation; +import com.mendix.systemwideinterfaces.core.meta.IMetaObject; +import com.mendix.systemwideinterfaces.core.meta.IMetaPrimitive; + +public final class Core +{ + public Core() {} + + private static LocalComponent component; + private static Integration integration; + + public static void initialize(LocalComponent localComponent, Integration i) + { + component = localComponent; + integration = i; + } + + /** + * @deprecated Will be removed in next major release. + */ + @Deprecated + public static LocalComponent getComponent() + { + return component; + } + + public static boolean isInDevelopment() + { + return component.configuration().isInDevelopment(); + } + + /** + * Returns the id of this server instance. + * @return the server id in UUID format. + */ + public static String getXASId() + { + return component.core().getXASId(); + } + + /** + * Returns the names of all modeled microflows. + * @return all microflow names (format "ModuleName.MicroflowName"). + */ + public static Set getMicroflowNames() + { + return component.core().getMicroflowNames(); + } + + /** + * Returns all input parameter data types the specified action by name. + * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). + * @return data types by input parameter name. + */ + public static Map getInputParameters(String actionName) + { + return component.core().getInputParameters(actionName); + } + + /** + * Returns the return type of the specified action. + * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). + * @return the return data type of the specified action. + */ + public static IDataType getReturnType(String actionName) + { + return component.core().getReturnType(actionName); + } + + /** + * Evaluate the given (microflow)expression. + * @param context the context + * @param variables name of variables referenced in the expression (without '$') and their values. + * @param expression the expression + * @return the evaluated value of the expression. + */ + public static Object evaluateExpression(IContext context, Map variables, String expression) + { + return component.core().evaluateExpression(context, variables, expression); + } + + /** + * Execute an action asynchronously, result is given and/or exceptions are raised when calling Future.get(). + * When calling Future.get() the result of the action will return immediately if the execution is done, + * otherwise the call is blocking. Exceptions raised while executing the action will not be thrown until + * Future.get() is called. + * @param action type, subclass of CoreAction. + * @param result type of the action, can be any object. + * @param action the action to execute. + * @return the Future object. + * + */ + public static ,R> Future execute(T action) + { + return component.core().execute(action); + } + + /** + * Execute an action synchronously. + * @param action type, subclass of CoreAction. + * @param result type of action, can be any object. + * @param action the action to execute. + * @return return value of the specified action. + */ + public static ,R> R executeSync(T action) throws CoreException + { + return component.core().executeSync(action); + } + + /** + * Execute the specified action (synchronously). + * @param context the context for this action. + * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). + * @param params for microflows: add IMendixObject, IMendixIdentifier or primitive parameters. + * for Java actions: add any object parameters. + * @return return value of the specified action. + */ + public static R execute(IContext context, String actionName, Object ... params) throws CoreException + { + return (R)component.core().execute(context, actionName, params); + } + + /** + * Execute the specified action (asynchronously). Use only to call other Java actions (not microflows)! + * When calling microflows use {@link #executeAsync(IContext, String, boolean, Map)} + * with a named parameter map instead. + * Result is given and/or exceptions are raised when calling Future.get(). + * When calling Future.get() the result of the action will return immediately if the execution is done, + * otherwise the call is blocking. Exceptions raised while executing the action will not be thrown until + * Future.get() is called. + * @param context the context for this action. + * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). + * @param params ordered params for the Java action. + * @return the Future object. + */ + public static Future executeAsync(IContext context, String actionName, Object ... params) throws CoreException + { + return component.core().executeAsync(context, actionName, params); + } + + /** + * Execute the specified microflow (asynchronously). + * + * @param context the context for this microflow. + * @param microflowName the name of the microflow (format "ModuleName.ActionName"). + * @param executeInTransaction defines whether the microflow should be executed in a transaction (enables rolling back changes when exceptions are raised). + * @param params microflow parameters by name. + * @return return value of the specified microflow. + */ + public static Future executeAsync( + IContext context, + String microflowName, + boolean executeInTransaction, + Map params) throws CoreException + { + return component.core().executeAsync(context, microflowName, -1, executeInTransaction, params); + } + + /** + * Execute the specified action (synchronously). + * @param context the context for this action. + * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). + * @param params action parameters by name. + * @return return value of the specified action. + */ + public static R execute(IContext context, String actionName, Map params) throws CoreException + { + return (R)component.core().execute(context, actionName, params); + } + + /** + * Execute the specified action (synchronously). + * @param context the context for this action. + * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). + * @param executeInTransaction defines whether the action should be execute in a transaction (enables rolling back changes when exceptions are raised). + * @param params action parameters by name. + * @return return value of the specified action. + */ + public static R execute(IContext context, String actionName, boolean executeInTransaction, Map params) throws CoreException + { + return (R)component.core().execute(context, actionName, executeInTransaction, params); + } + + /** + * Execute the specified action (asynchronously). + * @param result type of the action, can be any object. + * @param action type, subclass of CoreAction. + * @param action the action to execute. + */ + public static ,R> void executeVoid(T action) + { + component.core().executeVoid(action); + } + + /** + * Schedule an action on a certain date. + * @param actionName the name of a microflow or java action (format "ModuleName.ActionName") + * @param date the date and time on which the action should be executed + * @return the RunnableScheduledFuture object for keeping track of the result + */ + public static RunnableScheduledFuture schedule(String actionName, Date date) throws CoreException + { + return component.core().schedule(actionName, date); + } + + /** + * Schedule an action on a certain delay from now. + * @param action the action to execute. + * @param delay the delay after which the action should be executed. + * @param timeUnit time unit in which the delay is specified. + * @return returns RunnableScheduleFuture object for keeping track of the result. + */ + public static RunnableScheduledFuture schedule(CoreAction action, long delay, TimeUnit timeUnit) + { + return component.core().schedule(action, delay, timeUnit); + } + + /** + * Schedule a periodic action that runs for the first time after the given initial delay (first run), + * and subsequently with the given period; that is executions will commence after initialDelay then + * initialDelay+period, then initialDelay + 2 * period, and so on. + * No result will be returned. + * @param actionName the name of a microflow or java action (format "ModuleName.ActionName"). + * @param firstRun the date on which the action will be executed the first time. + * @param period the period between each start of the execution of the action. + * @param timeUnit the timeUnit in which the initialDelay and the period is specified. + * @param name the name of the scheduled event. + * @param description the description of the scheduled event. + */ + public static void scheduleAtFixedRate(String actionName, Date firstRun, long period, TimeUnit timeUnit, String name, String description) + { + component.core().scheduleAtFixedRate(actionName, firstRun, period, timeUnit, name, description); + } + + /** + * Schedule a periodic action that runs for the first time after the given initial delay, + * and subsequently with the given period; that is executions will commence after initialDelay then + * initialDelay+period, then initialDelay + 2 * period, and so on. + * No result will be returned. + * @param action the action to execute. + * @param initialDelay the delay after which the action will be executed the first time. + * @param period the period between each start of the execution of the action. + * @param timeUnit the timeUnit in which the initialDelay and the period is specified. + */ + public static void scheduleAtFixedRate(CoreAction action, long initialDelay, long period, TimeUnit timeUnit) + { + component.core().scheduleAtFixedRate(action, initialDelay, period, timeUnit); + } + + /** + * Schedule a periodic action that run for the first time on the given date/time, + * and subsequently with the given period; that is executions will commence on firstRun then + * initialDelay+period, then initialDelay + 2 * period, and so on.
+ * No result will be returned. + * @param action the action to execute + * @param firstRun the Date/time on which the action will be executed the first time + * @param period the period between each start of the execution of the action + * @param timeUnit the timeUnit in which the period is specified + */ + public static void scheduleAtFixedRate(CoreAction action, Date firstRun, long period, TimeUnit timeUnit) + { + component.core().scheduleAtFixedRate(action, firstRun, period, timeUnit); + } + + /** + * Schedule a periodic action that runs for the first time after the given initial delay, + * and subsequently with the given delay between the termination of one execution and the commencement of the next. + * No result will be returned. + * @param action the action to execute. + * @param initialDelay the delay after which the action will be executed the first time. + * @param delay the delay between the end of the execution of the action and the start of the next time the action will be executed. + * @param timeUnit the timeUnit in which the initialDelay and the delay is specified. + */ + public static void scheduleWithFixedDelay(CoreAction action, long initialDelay, long delay, TimeUnit timeUnit) + { + component.core().scheduleWithFixedDelay(action, initialDelay, delay, timeUnit); + } + + /** + * Remove scheduled future. + * @param scheduledFuture the RunnableScheduledFuture to remove. + * @return whether removing the RunnableScheduledFuture was successful. + */ + public static boolean removeScheduledFuture(RunnableScheduledFuture scheduledFuture) + { + return component.core().removeScheduledFuture(scheduledFuture); + } + + /** + * Reschedule an action with a new delay. + * @param scheduledFuture the scheduledFuture (old action) to remove from the queue. + * @param action the action to reschedule. + * @param newDelay the new delay. + * @param timeUnit time unit of the delay. + * @return scheduled future object. + */ + public static ScheduledFuture reschedule(RunnableScheduledFuture scheduledFuture, CoreAction action, long newDelay, TimeUnit timeUnit) + { + return component.core().reschedule(scheduledFuture, action, newDelay, timeUnit); + } + + /** + * Registers the given ActionListener to the ActionManager. + * @param al the ActionListener to add. + */ + public static > void addListener(ActionListener al) + { + component.core().addListener(al); + } + + /** + * Commits the given object (asynchronously). This will store the object in the database and remove it from the server cache. + * This action is not executed in a transaction. + * @param context the context. + * @param object the IMendixObject to commit. + * @return returns a list of future objects with committed object lists, one for each entity type. + */ + public static List>> commitAsync(IContext context, List objects) + { + return component.core().commitAsync(context, objects); + } + + /** + * Commits the given object. This will store the object in the database and remove it from the server cache. + * This action is executed in a transaction. + * @param context the context. + * @param object the IMendixObject to commit. + * @return returns committed object if commit was successful, otherwise null. + */ + public static IMendixObject commit(IContext context, IMendixObject object) throws CoreException + { + return component.core().commit(context, object); + } + + /** + * Commits the given objects. This will store the objects in the database and remove them from the server cache. + * Before events defined for these objects are executed before any object will be committed and after events will be + * executed after all objects have been committed. + * This action is executed in a transaction. + * @param context the context. + * @param objectsToCommit the objects to commit. + * @return returns committed objects if commits was successful, otherwise an empty list. + */ + public static List commit(IContext context, List objects) + { + return component.core().commit(context, objects); + } + + /** + * Commits the given object without events. This will store the object in the database and remove it from the server cache. + * This action is executed in a transaction. + * @param context the context. + * @param object the IMendixObject to commit. + * @return returns committed object if commit was successful, otherwise null. + */ + public static IMendixObject commitWithoutEvents(IContext context, IMendixObject object) + { + return component.core().commitWithoutEvents(context, object); + } + + /** + * Commit the given objects without events. This will store the objects in the database and remove it from the server cache. + * This action is executed in a transaction. + * @param context the context. + * @param objects the objects to commit. + * @return returns true if commit was successful, otherwise false. + */ + public static List commitWithoutEvents(IContext context, List objects) + { + return component.core().commitWithoutEvents(context, objects); + } + + /** + * Creates a new IMendixObject with the given object type (asynchronously). The object will NOT be stored in the + * database. This action is not executed in a transaction. + * @param context the context. + * @param objectType type of object to create (e.g. "System.User"). + * @return returns the Future object. + */ + public static Future instantiateAsync(IContext context, String objectType) + { + return component.core().instantiateAsync(context, objectType); + } + + /** + * Creates a new IMendixObject with the given object type (synchronously). The object will NOT be stored in the + * database. This action is executed in a transaction. + * @param context the context. + * @param objectType type of object to create (e.g. "System.User"). + * @return returns the newly created object. + */ + public static IMendixObject instantiate(IContext context, String objectType) + { + return component.core().instantiate(context, objectType); + } + + /** + * Changes the given object in cache (synchronously). When the object is not cache yet, + * the object will be retrieved from the database and put in the cache. + * This action is executed in a transaction. + * @param context the context. + * @param object the object to change. + * @param changes contains changes by member name (e.g. <"Name", "User1">). + * @return returns whether the change succeeded or not. + */ + public static boolean change(IContext context, IMendixObject object, Map changes) throws CoreException + { + return component.core().change(context, object, changes); + } + + /** + * Changes the object (asynchronously). Object will be stored in cache. + * This action is not executed in a transaction. + * @param context the context. + * @param obj the MendixObject to change + * @param changes contains changes by member name (e.g. <"Name", "User1">). + * @return returns the Future object. + */ + public static Future changeAsync(IContext context, IMendixObject obj, Map changes) + { + return component.core().changeAsync(context, obj, changes); + } + + /** + * Rollback changes of the object with the given id (asynchronously). + * When the object's state is NORMAL: Removes the object from the cache, all performed changes without commit will be lost. + * When the object's state is NEW: Removes the object from the database. + * This action is not executed in a transaction. + * @param context the context. + * @param id the identifier of the object to rollback. + * @return returns the Future object. + */ + public static Future rollbackAsync(IContext context, IMendixObject object) + { + return component.core().rollbackAsync(context, object); + } + + /** + * Rollback changes of the object with the given id (synchronously). + * When the object's state is NORMAL: Removes the object from the cache, all performed changes without commit will be lost. + * When the object's state is NEW: Removes the object from the database. + * This action is executed in a transaction. + * @param context the context. + * @param id the identifier of the object to rollback. + * @return returns the Future object. + */ + public static IMendixObject rollback(IContext context, IMendixObject object) throws CoreException + { + return component.core().rollback(context, object); + } + + /** + * Deletes the given objects from the database and server cache (synchronously). + * This action is executed in a transaction. + * @param context the context. + * @param objects the objects to delete. + * @return returns whether the delete succeeded. + */ + public static boolean delete(IContext context, IMendixObject... objects) + { + return component.core().delete(context, objects); + } + + /** + * Deletes the given objects from the database and server cache (synchronously). + * This action is executed in a transaction. + * @param context the context. + * @param objectList the objects to delete. + * @return returns whether the delete succeeded. + */ + public static boolean delete(IContext context, List objectList) + { + return component.core().delete(context, objectList); + } + + /** + * Deletes the given objects from the database and server cache (synchronously) without events + * This action is executed in a transaction. + * @param context the context. + * @param objects the objects to delete. + * @return returns whether the delete succeeded. + */ + public static boolean deleteWithoutEvents(IContext context, List objects, boolean useDeleteBehavior) + { + return component.core().deleteWithoutEvents(context, objects, useDeleteBehavior); + } + + /** + * Deletes the given object from the database and server cache (asynchronously). + * This action is not executed in a transaction. + * @param context the context. + * @param object the object to delete. + * @param useDeleteBehavior whether to use delete behavior. + * @return returns a list of future booleans, one for each entity type. + */ + public static List> deleteAsync(IContext context, IMendixObject object, boolean useDeleteBehavior) + { + return component.core().deleteAsync(context, object, useDeleteBehavior); + } + + /** + * Deletes the given object from the database and server cache (asynchronously). + * This action is not executed in a transaction. + * @param context the context. + * @param object the object to delete. + * @param useDeleteBehavior whether to use delete behavior. + * @return returns a list of future booleans, one for each entity type. + */ + public static List> deleteAsync(IContext context, List objects, boolean useDeleteBehavior) + { + return component.core().deleteAsync(context, objects, useDeleteBehavior); + } + + /** + * Retrieves objects with the given ids (asynchronously). First, objects are attempted to be retrieved from cache. + * When an object cannot be retrieve from the cache it will be retrieved from the database. + * When (amount > 0) || (offset > 0) || (sort.size() > 0), all objects will be retrieve from the database. + * @param context the context. + * @param ids ids of the objects to retrieve. + * @return returns the Future object. + */ + public static Future> retrieveIdListAsync(IContext context, List ids) + { + return component.core().retrieveIdListAsync(context, ids); + } + + /** + * Retrieves objects with the given ids (synchronously). First, objects are attempted to be retrieved from cache. + * When an object cannot be retrieve from the cache it will be retrieved from the database. + * When (amount > 0) || (offset > 0) || (sort.size() > 0), all objects will be retrieve from the database. + * @param context the context. + * @param ids ids of the objects to retrieve. + * @param amount the maximum number of objects to retrieve from the database. + * @param offset offset of returned objects when retrieved from the database. + * @param sort sorting of returned objects when retrieved from the database (e.g. <"Name", "ASC">, <"Age", "DESC">). + * @return returns the Future object. + */ + public static List retrieveIdList(IContext context, List ids, int amount, int offset, Map sort) throws CoreException + { + return component.core().retrieveIdList(context, ids, amount, offset, sort); + } + + /** + * Retrieves objects with the given ids (synchronously). First, objects are attempted to be retrieved from cache. + * When an object cannot be retrieved from the cache it will be retrieved from the database. + * When (amount > 0) || (offset > 0) || (sort.size() > 0), all objects will be retrieved from the database. + * @param context the context. + * @param ids ids of the objects to retrieve. + * @return returns the objects of the given ids. + */ + public static List retrieveIdList(IContext context, List ids) throws CoreException + { + return component.core().retrieveIdList(context, ids); + } + + /** + * Retrieves object with the given id (asynchronously). First, the object is attempted to be retrieved from the cache. + * When the object cannot be retrieve from the cache it will be retrieved from the database. + * @param context the context. + * @param id id of the object to retrieve. + * @return returns the Future object. + */ + public static Future retrieveIdAsync(IContext context, IMendixIdentifier id) + { + return component.core().retrieveIdAsync(context, id); + } + + /** + * Retrieves object with the given id (synchronously). First, the object is attempted to be retrieved from the cache. + * When the object cannot be retrieve from the cache it will be retrieved from the database. + * @param context the context. + * @param id id of the object to retrieve. + * @return returns the Future object. + */ + public static IMendixObject retrieveId(IContext context, IMendixIdentifier id) throws CoreException + { + return component.core().retrieveId(context, id); + } + + /** + * Retrieves objects using the given object and path. + * + * @param context the context. + * @param mxObject the start point of the path. + * @param path the path (association) to the objects to retrieve. + * @return the list of retrieved objects. + */ + public static List retrieveByPath(IContext context, IMendixObject mxObject, String path) + { + return component.core().retrieveByPath(context, mxObject, path); + } + + /** + * Retrieves objects using the given object and path. + * + * @param context the context. + * @param mxObject the start point of the path. + * @param path the path (association) to the objects to retrieve. + * @param isSelfAssociationChild defines whether the mxObject instance is the child of the path of a self association. + * @return the list of retrieved objects. + */ + public static List retrieveByPath(IContext context, IMendixObject mxObject, String path, boolean isSelfAssociationChild) + { + return component.core().retrieveByPath(context, mxObject, path, isSelfAssociationChild); + } + + /** + * Retrieves object list based on the given XPath query (asynchronously). + * @param context the context. + * @param xpathQuery the XPath query to execute. + * @param amount maximum number of objects to retrieve. If amount is 0, all objects will be retrieved. + * @param offset index of first object to retrieve. + * @param sort sorting of returned objects when retrieved from the database (e.g. <"Name", "ASC">, <"Age", "DESC">). + * @param depth indicates the level until which each reference (IMendixIdentifier) is also retrieved as an IMendixObject. + * @return the Future object. + */ + public static Future> retrieveXPathQueryAsync(IContext context, String xpathQuery, int amount, int offset, Map sort, int depth) + { + return component.core().retrieveXPathQueryAsync(context, xpathQuery, amount, offset, sort, depth); + } + + /** + * Retrieves object list based on the given XPath query (synchronously). + * @param context the context. + * @param xpathQuery the XPath query to execute. + * @param amount maximum number of objects to retrieve. If amount is 0, all objects will be retrieved. + * @param offset index of first object to retrieve. + * @param sort sorting of returned objects when retrieved from the database (e.g. <"Name", "ASC">, <"Age", "DESC">). + * @param depth indicates the level until which each reference (IMendixIdentifier) is also retrieved as an IMendixObject. + * @return the list of retrieved objects. + */ + public static List retrieveXPathQuery(IContext context, String xpathQuery, int amount, int offset, Map sort, int depth) throws CoreException + { + return component.core().retrieveXPathQuery(context, xpathQuery, amount, offset, sort, depth); + } + + /** + * Retrieves raw data (IDataTables) based on the given XPath query (synchronously). + * @param context the context. + * @param xpathQuery the XPath query to execute. + * @param amount maximum number of objects to retrieve. If amount is 0, all objects will be retrieved. + * @param offset index of first object to retrieve. + * @param sort sorting of returned objects when retrieved from the database (e.g. <"Name", "ASC">, <"Age", "DESC">). + * @param depth indicates the level until which each reference (IMendixIdentifier) is also retrieved as an IMendixObject. + * @return the data table containing the raw data. + */ + public static IDataTable retrieveXPathQueryRaw(IContext context, String xpathQuery, int amount, int offset, Map sort, int depth) throws CoreException + { + return component.core().retrieveXPathQueryRaw(context, xpathQuery, amount, offset, sort, depth); + } + + /** + * Retrieves raw data (IDataTables) based on the XPath query and given schema (synchronously). + * @param context the context. + * @param xpathQuery the XPath query to execute. + * @param shouldRetrieveCount indicates whether the total number object corresponding to the given schema should be included in the result. + * @param retrievalSchema the schema to apply. + * @return the data table containing the raw data. + */ + public static IDataTable retrieveXPathSchemaRaw(IContext context, String xpathQuery, boolean shouldRetrieveCount, IRetrievalSchema retrievalSchema) throws CoreException + { + return component.core().retrieveXPathSchemaRaw(context, xpathQuery, shouldRetrieveCount, retrievalSchema); + } + + /** + * Retrieves objects based on the XPath query and given schema (synchronously). + * @param context the context. + * @param xpathQuery the XPath query to execute. + * @param retrievalSchema the schema to apply. + * @param shouldRetrieveCount indicates whether the total number object corresponding to the given schema should be included in the result. + * @return the list of retrieved objects. + */ + public static List retrieveXPathSchema(IContext context, String xpathQuery, IRetrievalSchema retrievalSchema, boolean shouldRetrieveCount) throws CoreException + { + return component.core().retrieveXPathSchema(context, xpathQuery, retrievalSchema, shouldRetrieveCount, false); + } + + /** + * Retrieves objects based on the XPath query and given schema (synchronously). + * @param context the context. + * @param xpathQuery the XPath query to execute. + * @param retrievalSchema the schema to apply. + * @param shouldRetrieveCount indicates whether the total number object corresponding to the given schema should be included in the result. + * @param disableSecurity indicates whether security should be applied when this query is being executed. + * @return the list of retrieved objects. + */ + public static List retrieveXPathSchema(IContext context, String xpathQuery, IRetrievalSchema retrievalSchema, boolean shouldRetrieveCount, boolean disableSecurity) throws CoreException + { + return component.core().retrieveXPathSchema(context, xpathQuery, retrievalSchema, shouldRetrieveCount, disableSecurity); + } + + /** + * Retrieves object list based on the given XPath query (synchronously). + * @param context the context. + * @param xpathQuery the XPath query to execute. + * @param amount maximum number of objects to retrieve. If amount is 0, all objects will be retrieved. + * @param offset index of first object to retrieve. + * @param sort sorting of returned objects when retrieved from the database (e.g. <"Name", "ASC">, <"Age", "DESC">). + * @return the list of retrieved objects. + */ + public static List retrieveXPathQuery(IContext context, String xpathQuery, int amount, int offset, Map sort) throws CoreException + { + return Core.retrieveXPathQuery(context, xpathQuery, amount, offset, sort, 0); + } + + /** + * Retrieves object list based on the given XPath query (synchronously). + * @param context the context. + * @param xpathQuery the XPath query to execute. + * @param depth indicates the level until which each reference (IMendixIdentifier) is also retrieved as an IMendixObject. + * @return the list of retrieved objects. + */ + public static List retrieveXPathQuery(IContext context, String xpathQuery, int depth) throws CoreException + { + return Core.retrieveXPathQuery(context, xpathQuery, -1, -1, new LinkedHashMap(), depth); + } + + /** + * Retrieves object list based on the given XPath query (synchronously). + * @param context the context. + * @param xpathQuery the XPath query to execute. + * @return the list of retrieved objects. + */ + public static List retrieveXPathQuery(IContext context, String xpathQuery) throws CoreException + { + return Core.retrieveXPathQuery(context, xpathQuery, -1, -1, new LinkedHashMap(), 0); + } + + /** + * Retrieves object list based on the given XPath query (synchronously). + * @param context the context. + * @param xpathFormat the XPath query to execute with %s for each param to escape. + * @param amount maximum number of objects to retrieve. If amount is 0, all objects will be retrieved. + * @param offset index of first object to retrieve. + * @param sort sorting of returned objects when retrieved from the database (e.g. <"Name", "ASC">, <"Age", "DESC">). + * @param depth depth of the retrieval (0 is all attributes and association guids, 1 is also all attributes of 1-deep associations and 2-deep associaton guids etc.). + * @param params xpath arguments. + * @return the list of retrieved objects. + */ + public static List retrieveXPathQueryEscaped(IContext context, String xpathFormat, int amount, int offset, Map sort, int depth, String... params) throws CoreException + { + return component.core().retrieveXPathQueryEscaped(context, xpathFormat, amount, offset, sort, depth, params); + } + + /** + * Retrieves object list based on the given XPath query (synchronously). + * @param context the context. + * @param xpathFormat the XPath query to execute with %s for each param to escape. + * @param retrievalSchema the schema to apply. + * @param shouldRetrieveCount indicates whether the total number object corresponding to the given schema should be included in the result. + * @param params a collection of parameters for each %s in xpathFormat. + * @return the list of retrieved objects. + */ + public static List retrieveXPathSchemaEscaped(IContext context, String xpathFormat, IRetrievalSchema retrievalSchema, boolean shouldRetrieveCount, String... params) throws CoreException + { + return Core.retrieveXPathSchemaEscaped(context, xpathFormat, retrievalSchema, shouldRetrieveCount, false, params); + } + + /** + * Retrieves object list based on the given XPath query (synchronously). + * @param context the context. + * @param xpathFormat the XPath query to execute with %s for each param to escape. + * @param retrievalSchema the schema to apply. + * @param shouldRetrieveCount indicates whether the total number object corresponding to the given schema should be included in the result. + * @param disableSecurity indicates whether security should be disabled when executing this query. + * @param params a collection of parameters for each %s in xpathFormat. + * @return the list of retrieved objects. + */ + public static List retrieveXPathSchemaEscaped(IContext context, String xpathFormat, IRetrievalSchema retrievalSchema, boolean shouldRetrieveCount, boolean disableSecurity, String... params) throws CoreException + { + return component.core().retrieveXPathSchemaEscaped(context, xpathFormat, retrievalSchema, shouldRetrieveCount, disableSecurity, params); + } + + /** + * Retrieves object list based on the given XPath query (synchronously). + * @param context the context. + * @param xpathFormat the XPath query to execute with %s for each param to escape. + * @param params a collection of parameters for each %s in xpathFormat. + * @return the list of retrieved objects. + */ + public static List retrieveXPathQueryEscaped(IContext context, String xpathFormat, String... params) throws CoreException + { + return Core.retrieveXPathQueryEscaped(context, xpathFormat, -1, -1, new LinkedHashMap(), 0, params); + } + + /** + * Create a new IRetrievalSchema. + * @return an IRetrievalSchema. + */ + public static IRetrievalSchema createRetrievalSchema() + { + return component.core().createRetrievalSchema(); + } + + /** + * Create a new IMetaAssociationSchema to specify which associations must be retrieved. + * An IMetaAssociationSchema can be added to a request by the method IRetrievalSchema.addMetaAssociationSchema(..). + * + * @param metaAssociationName the name of the meta association of this schema + * @param retrievalSchema the retrieval schema of the associated meta object + * @return an IMetaAssociationSchema + */ + public static IMetaAssociationSchema createMetaAssociationSchema(String metaAssociationName, IRetrievalSchema retrievalSchema) { + return component.core().createMetaAssociationSchema(metaAssociationName, retrievalSchema); + } + + /** + * Create a new IXPathTextGetRequest. This class can be used to define an XPath retrieval query. The query must be set in textual form. + * @return an IXPathTextGetRequest. + */ + public static IXPathTextGetRequest createXPathTextGetRequest() + { + return component.core().createXPathTextGetRequest(); + } + + /** + * Create a new IOQLTextGetRequest. This class can be used to define a textual OQL retrieval query. + * @return an IOQLTextGetRequest. + */ + public static IOQLTextGetRequest createOQLTextGetRequest() + { + return component.core().createOQLTextGetRequest(); + } + + /** + * Retrieve raw data (IDataTable) using an OQL query (asynchronously). + * @param context the context. + * @param oqlQuery the OQL query to execute. + * @return the Future object. + */ + public static Future retrieveOQLDataTableAsync(IContext context, String oqlQuery) + { + return retrieveOQLDataTableAsync(context, oqlQuery, -1, -1); + } + + /** + * Retrieve raw data (IDataTable) using an IGetRequest object (asynchronously). + * @param context the context. + * @param request the request object. + * @return the Future object. + */ + public static Future retrieveOQLDataTableAsync(IContext context, IGetRequest request) + { + return component.core().retrieveOQLDataTableAsync(context, request); + } + + /** + * Retrieve raw data (IDataTable) using an OQL query (asynchronously). + * @param context the context. + * @param oqlQuery the OQL query to execute. + * @param amount maximum number of objects to retrieve. If amount is 0, all objects will be retrieved. + * @param offset index of first object to retrieve. + * @return the Future object. + */ + public static Future retrieveOQLDataTableAsync(IContext context, String oqlQuery, int amount, int offset) + { + return component.core().retrieveOQLDataTableAsync(context, oqlQuery, amount, offset); + } + + /** + * Retrieve raw data (IDataTable) using an IGetRequest object (synchronously). + * @param context the context. + * @param request the request object. + * @return the data table containing the raw data. + */ + public static IDataTable retrieveOQLDataTable(IContext context, IGetRequest request) throws CoreException + { + return component.core().retrieveOQLDataTable(context, request); + } + + /** + * Retrieve raw data (IDataTable) using an IGetRequest object (synchronously). + * @param context the context. + * @param oqlQuery the OQL query to execute. + * @return the data table containing the raw data. + */ + public static IDataTable retrieveOQLDataTable(IContext context, String oqlQuery) throws CoreException + { + return retrieveOQLDataTable(context, oqlQuery, -1, -1); + } + + /** + * Retrieve raw data (IDataTable) using an OQL query (asynchronously). + * @param context the context. + * @param oqlQuery the OQL query to execute. + * @param amount maximum number of objects to retrieve. If amount is 0, all objects will be retrieved. + * @param offset index of first object to retrieve. + * @return the data table containing the raw data. + */ + public static IDataTable retrieveOQLDataTable(IContext context, String oqlQuery, int amount, int offset) throws CoreException + { + return component.core().retrieveOQLDataTable(context, oqlQuery, amount, offset); + } + + /** + * Retrieves long aggregate value based on the given query (root element of the query should be an aggregate function) (asynchronously). + * @param context the context. + * @param xpathQuery the aggregate xpath query (e.g. "COUNT(//System.User)"). + * @return the Future object. + */ + public static Future retrieveXPathQueryAggregateAsync(IContext context, String xpathQuery) + { + return component.core().retrieveXPathQueryAggregateAsync(context, xpathQuery); + } + + /** + * Retrieves long aggregate value based on the given query (root element of the query should be an aggregate function) (synchronously). + * @param context the context. + * @param xpathQuery the aggregate xpath query (e.g. "COUNT(//System.User)"). + * @return the Future object. + */ + public static Long retrieveXPathQueryAggregate(IContext context, String xpathQuery) throws CoreException + { + return component.core().retrieveXPathQueryAggregate(context, xpathQuery); + } + + /** + * Retrieves long aggregate value based on the given query and schema (root element of the query should be an aggregate function) (asynchronously). + * @param context the context. + * @param xpathQuery the aggregate xpath query (e.g. "COUNT(//System.User)"). + * @param retrievalSchema the schema. + * @return the aggregate value. + */ + public static Long retrieveXPathQueryAggregateSchema(IContext context, String xpathQuery, IRetrievalSchema retrievalSchema) throws CoreException + { + return component.core().retrieveXPathQueryAggregateSchema(context, xpathQuery, retrievalSchema); + } + + /** + * Retrieves long aggregate value based on the given query and schema (root element of the query should be an aggregate function) (asynchronously). + * @param context the context. + * @param xpathQuery the aggregate xpath query (e.g. "COUNT(//System.User)"). + * @param retrievalSchema the schema. + * @param disableSecurity whether security should be applied for this retrieval. + * @return the aggregate value. + */ + public static Long retrieveXPathQueryAggregateSchema(IContext context, String xpathQuery, IRetrievalSchema retrievalSchema, boolean disableSecurity) throws CoreException + { + return component.core().retrieveXPathQueryAggregateSchema(context, xpathQuery, retrievalSchema, disableSecurity); + } + + /** + * Retrieves long value based on the given query (query should have an aggregate function as root element) + * @param context + * @param xpathQuery + * @return returns Future object for action control and return of action result + */ + public static Future retrieveXPathQueryAggregateAsyncDouble(IContext context, String xpathQuery) + { + return component.core().retrieveXPathQueryAggregateAsyncDouble(context, xpathQuery); + } + + /** + * Retrieves double aggregate value based on the given query (root element of the query should be an aggregate function) (synchronously). + * @param context the context. + * @param xpathQuery the aggregate xpath query (e.g. "COUNT(//System.User)"). + * @return the Future object. + */ + public static Double retrieveXPathQueryAggregateDouble(IContext context, String xpathQuery) throws CoreException + { + return component.core().retrieveXPathQueryAggregateDouble(context, xpathQuery); + } + + /** + * Returns contents of a file document as an input stream. + * @param context the context. + * @param fileDocument the file document from which the contents will be returned. + * @return the input stream of the file content of the given file document. + */ + public static InputStream getFileDocumentContent(IContext context, IMendixObject fileDocument) + { + return component.core().getFileDocumentContent(context, fileDocument); + } + + /** + * Physically stores a file using the given input stream and commits the file document. + * @param context the context. + * @param fileDocument the file document to which the file to store is linked to. + * @param fileName the original name of the file (will be stored in the Name attribute) + * @param inputStream the content of the file + */ + public static void storeFileDocumentContent(IContext context, IMendixObject fileDocument, String fileName, InputStream inputStream) + { + component.core().storeFileDocumentContent(context, fileDocument, fileName, inputStream); + } + + /** + * Physically stores a file using the given input stream and commits the file document. + * @param context the context. + * @param fileDocument the file document to which the file to store is linked to. + * @param inputStream the content of the file + */ + public static void storeFileDocumentContent(IContext context, IMendixObject fileDocument, InputStream inputStream) + { + component.core().storeFileDocumentContent(context, fileDocument, inputStream); + } + + /** + * Physically stores an image using the given input stream and commits the image document. + * @param context the context. + * @param imageDocument the image document to which the image to store is linked to. + * @param inputStream the content of the file + * @param thumbnailWidth the width of the thumbnail to create for this image. + * @param thumbnailHeight the width of the thumbnail to create for this image. + */ + public static void storeImageDocumentContent(IContext context, IMendixObject imageDocument, InputStream inputStream, int thumbnailWidth, int thumbnailHeight) + { + component.core().storeImageDocumentContent(context, imageDocument, inputStream, thumbnailWidth, thumbnailHeight); + } + + /** + * Retrieve contents of the given image document. + * @param context the context. + * @param imageDocument the image document for which its contents are retrieved. + * @param retrieveThumbnail indicates whether a thumbnail or the full image is retrieved. + * @return the image as an input stream. + */ + public static InputStream getImage(IContext context, IMendixObject imageDocument, boolean retrieveThumbnail) + { + return component.core().getImage(context, imageDocument, retrieveThumbnail); + } + + /** + * Checks whether a type is a subclass of or equal to a potential super class. + * @param superClass the name of the super class + * @param type the name of the type to check + * @return returns true if type is a subclass of superClass or if type equals superClass + */ + public static boolean isSubClassOf(String superClass, String type) + { + return component.core().isSubClassOf(superClass, type); + } + + /** + * Checks whether a type is a subclass of or equal to a potential super class. + * @param superObject the super object. + * @param type the name of the type to check. + * @return returns true if type is a subclass of superClass or if type equals superClass. + */ + public static boolean isSubClassOf(IMetaObject superObject, IMetaObject type) + { + return component.core().isSubClassOf(superObject, type); + } + + /** + * Checks whether a type is a subclass of or equal to a potential super class. + * @param superClass the name of the super class + * @param typeHash the hash of the name of the type to check + * @return returns true if type is a subclass of superClass or if type equals superClass + * @throws CoreException + */ + public static boolean isSubClassOf(String superClass, short typeHash) + { + return component.core().isSubClassOf(superClass, typeHash); + } + + /** + * Get all IMendixObject types. + * @return returns a list with all IMendixObjects (one object for each existing type) + */ + public static Iterable getAllMendixObjects() + { + return component.core().getAllMendixObjects(); + } + + /** + * Get all subtypes for an object type (including subtypes of subtypes, etc.). + * @param objectType the object type. + * @return list of subtypes, in no particular order. + */ + public static List getSubtypesOf(String objectType) + { + return component.core().getSubtypesOf(objectType); + } + + /** + * Get the IMetaObject corresponding to the given meta object name. + * @param metaObjectName the meta object name. + * @return returns the IMetaObject for the given metaObjectName + */ + public static IMetaObject getMetaObject(String metaObjectName) + { + return component.core().getMetaObject(metaObjectName); + } + + /** + * Get the IMetaPrimtive based on a qualified attribute name (e.g. "System.User.Name"). + * @param qualifiedAttributeName the qualified attribute name. + * @return the IMetaPrimtive. + */ + public static IMetaPrimitive getMetaPrimitive(String qualifiedAttributeName) + { + return component.core().getMetaPrimitive(qualifiedAttributeName); + } + + /** + * Get all IMetaObjects. + * @return returns all IMetaObjects. + */ + public static Iterable getMetaObjects() + { + return component.core().getMetaObjects(); + } + + /** + * Get all IMetaAssociations. + * @return returns all IMetaAssociations. + */ + public static Iterable getMetaAssociations() + { + return component.core().getMetaAssociations(); + } + + /** + * Get the IMetaAssociation corresponding to the given association name. + * @param association the association name (e.g. "System.UserRoles"). + * @return returns the IMetaAssociation for the given association name. + */ + public static IMetaAssociation getMetaAssociation(String association) + { + return component.core().getMetaAssociation(association); + } + + /** + * @param iMetaObject the meta object to get the database table name for + * @return the name of the database table + */ + public static String getDatabaseTableName(IMetaObject iMetaObject) { + return component.core().getDatabaseTableName(iMetaObject); + } + + /** + * @param iMetaAssociation the meta association to get the database table name for + * @return the name of the database table + */ + public static String getDatabaseTableName(IMetaAssociation iMetaAssociation) { + return component.core().getDatabaseTableName(iMetaAssociation); + } + + /** + * @param iMetaPrimitive the meta primitive to get the database column name for + * @return the name of the database column + */ + public static String getDatabaseColumnName(IMetaPrimitive iMetaPrimitive) { + return component.core().getDatabaseColumnName(iMetaPrimitive); + } + + /** + * @param iMetaAssociation the meta association to get the database child column name for + * @return the name of the database child column name + */ + public static String getDatabaseChildColumnName(IMetaAssociation iMetaAssociation) { + return component.core().getDatabaseChildColumnName(iMetaAssociation); + } + + /** + * @param iMetaAssociation the meta association to get the database parent column name for + * @return the name of the database parent column name + */ + public static String getDatabaseParentColumnName(IMetaAssociation iMetaAssociation) { + return component.core().getDatabaseParentColumnName(iMetaAssociation); + } + + /** + * Returns the context of the system session (this is always a sudo context). + * The system session has no associated user or user roles. + * @return returns the system session context. + */ + public static IContext createSystemContext() + { + return component.core().createSystemContext(); + } + + /** + * Creates a IMendixIdentifier for the given guid. + * @param guid the guid. + * @return returns the created MendixIdentifier. + */ + public static IMendixIdentifier createMendixIdentifier(String guid) + { + return component.core().createMendixIdentifier(guid); + } + + /** + * Creates a new IMendixIdentifier for the given guid. + * @param guid the guid. + * @return returns the created MendixIdentifier. + */ + public static IMendixIdentifier createMendixIdentifier(long guid) + { + return component.core().createMendixIdentifier(guid); + } + + /** + * Authenticate the given user with the given password. + * @param context + * @param user the user. + * @param password the password. + * @return returns true if authentication was successful. + */ + public static boolean authenticate(IContext context, IUser user, String password) throws CoreException + { + return component.core().authenticate(context, user, password); + } + + /** + * Generic login method (can be used in modules in combination with LoginAction replacement). + * @param params the params. + * @return the created session if login was successful. + */ + public static ISession login(Map params) throws CoreException + { + return component.core().login(params); + } + + /** + * Login user with the given user name and password. + * @param userName the user name. + * @param password the password. + * @return the created session if login is successful. + */ + public static ISession login(String userName, String password) throws CoreException + { + return component.core().login(userName, password); + } + + /** + * Login user with the given parameters. + * @param userName the user name. + * @param password the password. + * @param currentSessionId current session UUID. + * @return the created session if login is successful. + */ + public static ISession login(String userName, String password, String currentSessionId) throws CoreException + { + return component.core().login(userName, password, currentSessionId); + } + + public static ISession login(String userName, String password, IMxRuntimeRequest request) throws CoreException + { + return component.core().login(userName, password, request); + } + + /** + * Logout the given session. When the session is persistent it will be removed from the database. + * If the session is not persistent it will removed from the session cache. + * @param session the session to logout. + */ + public static void logout(ISession session) + { + component.core().logout(session); + } + + /** + * Returns a user using the given user name. + * @param context the context. + * @param userName the user name to retrieve a user for. + * @return the retrieved user. + */ + public static IUser getUser(IContext context, String userName) throws CoreException + { + return component.core().getUser(context, userName); + } + + /** + * Initialize a new session for the given user. + * @param user the user for which the session should be initialized. + * @param currentSessionId id of the current session, will be used to transfer data when current session is associated with a guest user. + * @return the created session. + */ + public static ISession initializeSession(IUser user, String currentSessionId) throws CoreException + { + return component.core().initializeSession(user, currentSessionId); + } + + /** + * Initialize a new session for a guest user + * @return the created session + * @throws CoreException + */ + public static ISession initializeGuestSession() throws CoreException + { + return component.core().initializeGuestSession(); + } + + /** + * Import an XML stream, map this stream to domain model objects and store those objects in the Mendix database. + * @param context the context. + * @param xmlStream the XML stream to map and store. + * @param importMappingName name of the mapping document, containing the mapping from XML to domain model objects (as defined in the Mendix Modeler, e.g. "Orders.MyMapping"). + * @param mappingParameter parameter object used during the mapping (optional) + * @param shouldValidate whether the XML should be validated. + * @deprecated Please use importStream instead. + */ + @Deprecated + public static void importXmlStream(IContext context, InputStream xmlStream, String importMappingName, IMendixObject mappingParameter, boolean shouldValidate) + { + integration.importStream(context, xmlStream, importMappingName, mappingParameter, -1, shouldValidate); + } + + /** + * Import an XML stream, map this stream to domain model objects and store those objects in the Mendix database. + * @param context the context. + * @param xmlStream the XML stream to map and store. + * @param importMappingName name of the mapping document, containing the mapping from XML to domain model objects (as defined in the Mendix Modeler, e.g. "Orders.MyMapping"). + * @param mappingParameter parameter object used during the mapping (optional) + * @param storeResultInVariable whether to store the result of the XML mapping in variable which will be returned by this method. + * @param hasListReturnValue indicates whether the return value of the XML mapping is of type List. + * @param shouldValidate whether the XML should be validated. + * @deprecated Please use importStream instead. + */ + @Deprecated + public static Object importXmlStream(IContext context, InputStream xmlStream, String importMappingName, IMendixObject mappingParameter, + boolean storeResultInVariable, boolean hasListReturnValue, boolean shouldValidate) + { + return integration.importXmlStream(context, xmlStream, importMappingName, mappingParameter, storeResultInVariable, -1, hasListReturnValue, shouldValidate); + } + + /** + * Import an XML or JSON stream, map this stream to domain model objects and store those objects in the Mendix database. + * @param context the context. + * @param stream the stream to map and store. + * @param importMappingName name of the mapping document, containing the mapping from XML or JSON to domain model objects (as defined in the Mendix Modeler, e.g. "Orders.MyMapping"). + * @param mappingParameter parameter object used during the mapping (optional). + * @param shouldValidate whether the input should be validated. Validation can only be applied to XML. + * @throws MendixRuntimeException this exception is thrown when an error occurs. + */ + public static List importStream(IContext context, InputStream stream, String importMappingName, IMendixObject mappingParameter, boolean shouldValidate) + { + return integration.importStream(context, stream, importMappingName, mappingParameter, -1, shouldValidate); + } + + /** + * Export domain object as XML or JSON stream. + * @param context the context. + * @param exportMappingName name of the mapping document, containing the mapping from domain model objects to XML or JSON (as defined in the Mendix Modeler, e.g. "Orders.MyMapping"). + * @param objectToExport object to export using the mapping. + * @param shouldValidate whether the output should be validated. Validation can only be applied to XML. + * @throws MendixRuntimeException this exception is thrown when an error occurs. + */ + public static InputStream exportStream(IContext context, String exportMappingName, IMendixObject objectToExport, boolean shouldValidate) + { + return integration.exportStream(context, exportMappingName, objectToExport, shouldValidate); + } + + /** + * Call a webservice + * Post method headers: + * - Content-Type: text/xml + * - Host: location host (e.g. www.w3schools.com) + * - SoapAction: soapAction (e.g. http://tempuri.com/FahrenheitToCelsius) + * @param location the webservice location url + * @param soapAction the webservice soap action + * @param soapRequestMessage + *
+	 * {@code
+	 * 
+	 *	
+	 *		
+	 *			
+	 *				 username 
+	 *				 password 
+	 *			
+	 *		
+     *		
+     *   		
+     *       		5
+     *       		5.0
+     *   		
+     *		
+	 * 
+	 * }
+	 * 
+ * @return a soap envelope response stream, e.g.: + *
+	 * {@code
+	 * 
+	 * 
+  	 * 		
+     * 			
+     * 				string
+     * 			
+     * 		
+	 *	
+	 *}
+	 *
+ * @throws WebserviceException + * @throws IOException + * @deprecated Don't use this, it will be removed in the future. If you want to build your own custom web + * service calls, you can fully implement this yourself. + */ + @Deprecated + public static IWebserviceResponse callWebservice(String location, String soapAction, String soapRequestMessage) + { + return integration.callWebservice(location, soapAction, soapRequestMessage); + } + + /** + * Call a webservice + * Post method headers: + * - Content-Type: text/xml + * - Host: location host (e.g. www.w3schools.com) + * - SoapAction: soapAction (e.g. http://tempuri.com/FahrenheitToCelsius) + * @param location the webservice location url + * @param soapAction the webservice soap action + * @param soapRequestMessage + *
+	 * {@code 
+	 * 
+	 *	
+	 *		
+	 *			
+	 *				 username 
+	 *				 password 
+	 *			
+	 *		
+     *		
+     *   		
+     *       		5
+     *       		5.0
+     *   		
+     *		
+	 * 
+	 * }
+	 * 
+ * @return a soap envelope response stream, e.g.: + *
+	 * {@code
+	 * 
+	 * 
+  	 * 		
+     * 			
+     * 				string
+     * 			
+     * 		
+	 *	
+	 *}
+	 *
+ * @throws WebserviceException + * @throws IOException + * @deprecated Don't use this, it will be removed in the future. If you want to build your own custom web + * service calls, you can fully implement this yourself. + */ + @Deprecated + public static IWebserviceResponse callWebservice(String location, String soapAction, InputStream soapRequestMessage) + { + return integration.callWebservice(location, soapAction, soapRequestMessage); + } + + /** + * Add a custom request handler to the Mendix Business Server. This request + * handler will process MxRuntimeRequests on the given path. Responses should be + * given by adding information to the MxRuntimeResponse. + * @param path the path for which request should be processed. + * @param requestHandler the custom request handler. + */ + public static void addRequestHandler(String path, RequestHandler requestHandler) + { + component.runtime().getConnector().addRequestHandler(path, requestHandler); + } + + public static ILogNode getLogger(String name) + { + return component.core().getLogger(name); + } + + /** + * Returns the current configuration. + * @return the configuration. + */ + public static Configuration getConfiguration() + { + return component.core().getConfiguration(); + } + + /** + * Resolve tokens in the given text. + * Possible tokens: + * - [%CurrentDateTime%] + * - [%CurrentUser%] + * - [%SecondLength%] + * - [%MinuteLength%] + * - [%HourLength%] + * - [%DayLength%] + * - [%WeekLength%] + * - [%MonthLength%] + * - [%YearLength%] + * - [%BeginOfCurrentMinute%] + * - [%EndOfCurrentMinute%] + * - [%BeginOfCurrentHour%] + * - [%BeginOfCurrentDay%] + * - [%EndOfCurrentDay%] + * - [%BeginOfCurrentWeek%] + * - [%EndOfCurrentWeek%] + * - [%BeginOfCurrentMonth%] + * - [%EndOfCurrentMonth%] + * - [%BeginOfCurrentYear%] + * - [%EndOfCurrentYear%] + * - [%UserRole_%Name%%] (e.g. [%UserRole_Administrator%]) + * @param text the text to resolve. + * @param context the context. + * @return the resolved object. + */ + public static Object resolveTokens(IContext context, String text) + { + return component.core().resolveTokens(context, text); + } + + /////////////// ActionManager statistics ////////////////////////////// + + /** + * Returns the current number of active actions. This number represents only the actions + * which were started asynchronously. + * @return number of current active actions. + */ + public static int getActiveActionCount() + { + return component.core().getActiveActionCount(); + } + + /** + * Returns the number of completed actions since server startup. This number represents + * only the actions which were started asynchronously. + * @return number of completed actions + */ + public static long getCompletedActionCount() + { + return component.core().getCompletedActionCount(); + } + + /** + * Returns the current action pool queue size. + * @return returns current queue size of action thread pool. + */ + public static int getActionQueueSize() + { + return component.core().getActionQueueSize(); + } + + /** + * Returns the current action pool size. + * @return the current size of the action thread pool. + */ + public static int getCurrentPoolSize() + { + return component.core().getCurrentPoolSize(); + } + + /** + * Returns the largest action pool size. + * @return the maximum number of threads the thread pool has ever ran. + */ + public static int getLargestPoolSize() + { + return component.core().getLargestPoolSize(); + } + + /** + * Returns the number of actions currently scheduled for future execution. + * @return the number of scheduled actions. + */ + public static int getScheduledActionCount() + { + return component.core().getScheduledActionCount(); + } + + /** + * Returns the maximum number of concurrent users since the server was started. + * @return maximum number of concurrent users. + */ + public static int getMaximumNumberConcurrentUsers() throws CoreException + { + return component.core().getMaximumNumberConcurrentUsers(); + } + + /** + * Returns current number of concurrent sessions. + */ + public static long getNumberConcurrentSessions() + { + return component.core().getNumberConcurrentSessions(); + } + + /** + * @return the active sessions. + */ + public static Collection getActiveSessions() + { + return component.core().getActiveSessions(); + } + + /** + * @param userName the user name associated with the session to search for. + * @return the session associated with the given user name if such a session exists, otherwise null. + */ + public static ISession getActiveSession(String userName) + { + return component.core().getActiveSession(userName); + } + + public static long getNamedUserCount() + { + return component.core().getNamedUserCount(); + } + + /** + * The current number of concurrent users. + * @param anonymous whether anonymous users should be included in the count. + * @return the number of concurrent users. + */ + public static long getConcurrentUserCount(boolean anonymous) + { + return component.core().getConcurrentUserCount(anonymous); + } + + /** + * Returns the translated string for a certain key and context. The context is used + * to retrieve the language of the current user. + * @param context the context. + * @param key the key referring to the translatable string. + * @param args the arguments which should be applied to translatable string template. + * @return the translated string. + */ + public static String getInternationalizedString(IContext context, String key, Object ...args) + { + return component.core().getInternationalizedString(context, key, args); + } + + /** + * Returns the translated string for a certain key and language code. + * @param languageCode the language code (ISO-639). + * @param key the key referring to the translatable string. + * @param args values which should replace possible templates in the translatable string ({1}, {2}, etc.). + * @return the translated string. + */ + public static String getInternationalizedString(String languageCode, String key, Object ... args) + { + return component.core().getInternationalizedString(languageCode, key, args); + } + + /** + * Returns the default language of the loaded project. + * @return the default langauge. + */ + public static ILanguage getDefaultLanguage() + { + return component.core().getDefaultLanguage(); + } + + /** + * Retrieve locale using the given context. + * @param context the context. + * @return the Locale. + */ + public static Locale getLocale(IContext context) + { + return component.core().getLocale(context); + } + + /** + * Retrieve locale using the given language code (e.g. en_US). + * @param languageCode the languageCode (ISO-639). + * @return the Locale. + */ + public static Locale getLocale(String languageCode) + { + return component.core().getLocale(languageCode); + } + + /** + * Returns the startup date time of the Mendix Business Server. + * @return the date time on which the Mendix Business Server was started. + */ + public static Date getStartupDateTime() + { + return component.core().getStartupDateTime(); + } + + public static void registerLogSubscriber(LogSubscriber subscriber) + { + component.core().registerLogSubscriber(subscriber); + } + + /** + * Prints the message and stacktrace of a Throwable and its cause(s). + * @param trace the StringBuilder the exception is printed to. + * @param e the Throwable to print. + */ + public static void buildException(StringBuilder trace, Throwable e) + { + component.core().buildException(trace, e); + } + + /** + * Add the action specified by the given action name to action registry. This enables calling + * Core.execute(actionName) for this action. + * @param actionName the fully qualified class name of the action (e.g. com.mendix.action.MyAction). + */ + public static void addUserAction(Class> userActionClass) + { + component.core().addUserAction(userActionClass); + } + + /** + * Creates a DataType based on a type.
+ * Possible types:
+ * - Boolean
+ * - Integer
+ * - Long
+ * - Float
+ * - String
+ * - Datetime
+ * - {code#id} (enumeration key)
+ * - ModuleName.ObjectName (IMendixObject)
+ * - [ModuleName.ObjectName] (List)
+ * @param type the type to base the IDataType on. + * @return the resulting IDataType. + */ + public static IDataType createDataType(String type) + { + return component.core().createDataType(type); + } + + /** + * Creates a DataType based on an object type and a attribute name + * @param objectType the object type (format: "ModuleName.EntityName"). + * @param attributeName the attribute to create the IDataType for (should be a member of above object type) + * @return the resulting IDataType + */ + public static IDataType createDataType(String objectType, String attributeName) + { + return component.core().createDataType(objectType, attributeName); + } + + public static IProfiler getProfiler() + { + return component.core().getProfiler(); + } + + public static void registerProfiler(IProfiler profiler) throws MendixException + { + component.core().registerProfiler(profiler); + } + + public static void unregisterProfiler() + { + component.core().unregisterProfiler(); + } +} diff --git a/test/javasource/communitycommons/ConversationLog.java b/test/javasource/communitycommons/ConversationLog.java deleted file mode 100644 index 1b5a936..0000000 --- a/test/javasource/communitycommons/ConversationLog.java +++ /dev/null @@ -1,471 +0,0 @@ -package communitycommons; - -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; - -import org.joda.time.format.DateTimeFormat; -import org.joda.time.format.DateTimeFormatter; - -import com.mendix.core.Core; -import com.mendix.logging.ILogNode; - -/** - * - * @author mwe - * @date 11-10-2012 - * - * This class can be used to allow more advanced logging, especially, to LOG short-running-conversations. - * - * This conversations leave the notions of INFO/DEBUG/TRACE and instead use notion of less details and more details. - * See @see section() and @see endSection() methods. See @see setBaseDetailVisibilityLevel about how much detail is visible - * - * Loglines are marked with the conversation id, so loglines of a single conversation can be aggregated together. - * - * The ConversationLog has a playback notion, for example, if an exception occurs, all loglines, even the detailed ones which would not be visible otherwise, are displayed. - * - * A typical logline will look like this: - * - * - * MxSync - [sDvX][Thu 08:56:00] starting module ... FAILED (in 20 ms. 3 hidden) - * ^ ^ ^ ^ ^ ^ ^ ^ - * | | | | | | | | - * lognode | timestamp | LOG message | | nr. of hidden details - * | | | | - * conversation ID | result | - * | | - * indent, indicates the level of detail timing behavior - * - * - * - */ -public class ConversationLog -{ - private final ILogNode log; - private final int id; - - private static final AtomicInteger conversationNumber = new AtomicInteger(); - - private enum LogType { SECTION_START, NORMAL, SECTION_END, WARNING, ERROR } - - private static final DateTimeFormatter dateFormat = DateTimeFormat.forPattern("HH:mm:ss"); //DateTimeFormat is thread safe, simpleDateFormat is not! - - private static class LogLine { - final LogType type; - final String msg; - final long time; - final int level; - int closed = -1; - boolean hasError; - int started; - final Throwable exception; - - LogLine(LogType type, String msg, int level, Throwable e) { - this.type = type; - this.msg = msg; - this.time = System.currentTimeMillis(); - this.level = level; - this.exception = e; - } - - public LogLine(LogType type, String msg, int level) - { - this(type, msg, level, null); - } - - @Override - public String toString() { - return msg == null ? "(empty)" : msg.toString(); - } - } - - private List messages = new ArrayList(); - private int currentlevel = 0; - private int flushedUntil = 0; - private int basevisiblelevel = 0; - private boolean closed = false; - - - - /** - * Create a new conversion - * @param M2ee loglevel to report to - */ - public ConversationLog(String lognode) { - this.log = Core.getLogger(lognode); - id = conversationNumber.incrementAndGet(); - - } - - /** - * Create a new conversion - * @param M2ee loglevel to report to - * @param Log message of the first section that will be created - */ - public ConversationLog(String lognode, String firstSection) { - this.log = Core.getLogger(lognode); - id = conversationNumber.incrementAndGet(); - - section(firstSection); - } - - /** - * @return the Id of this converstion - */ - public int getId() { - return id; - } - - /** - * Starts a section. That is, first print the provided then increase the level of detail. - * - * For each section, timing behavior and result status will be measured. - * - * Note that all sections should be ended! @see endSection - * - * If an exception is thrown, that ends the conversation entirely, this constraint can be dropped, - * but in all other cases (no- or catched exceptions) all sections should be ended, probably by using finally. - * - * @param message to print - * @param optional message arguments - * @return - */ - public ConversationLog section(String msg, Object... args) - { - messages.add(new LogLine(LogType.SECTION_START, String.format(msg + " ... ", args), currentlevel)); - currentlevel += 1; - - return this; - } - - public ConversationLog endSection() { - return endSection(null); - } - - /** - * Ends the current section, generates a report of the section (if visible). - * @see section() about when and how to end sections - * - * @param The result message of this section to be reported back. Defaults to "DONE". - * @return - */ - public ConversationLog endSection(String result) { - if (currentlevel < 1) - warn("(ConversationLog too many endsection invocations)"); - currentlevel -= 1; - - LogLine l = new LogLine(LogType.SECTION_END, result, currentlevel); - - for (int i = messages.size() - 1; i >= 0; i--) - if (messages.get(i).level == currentlevel && messages.get(i).type == LogType.SECTION_START) { - messages.get(i).closed = messages.size(); - l.started = i; - break; - } - - messages.add(l); - - flushIfLastLineVisible(); - - return this; - } - - - public void log(String msg, Object... args) { - messages.add(new LogLine(LogType.NORMAL, String.format(msg, args), currentlevel)); - - flushIfLastLineVisible(); - } - - public ConversationLog warn(String msg, Object... args) { - return warn(null, msg, args); - } - - public ConversationLog warn(Throwable e, String msg, Object... args) { - messages.add(new LogLine(LogType.WARNING, String.format(msg, args), currentlevel, e)); - - flushIfLastLineVisible(); - return this; - } - - public void error(Throwable e) { - error(e, e.getMessage()); - } - - public void error(String msg, Object... args) { - error(null, msg, args); - } - - public void error(Throwable e, String msg, Object... args) { - messages.add(new LogLine(LogType.ERROR, String.format(msg, args), currentlevel, e)); - - int minlevel = currentlevel; - - for (int i = messages.size() -1; i >= 0; i--) { - LogLine line = messages.get(i); - if (line.level <= minlevel) { - if (line.hasError) //been there, done that, appereantly there ar multiple errors.. - break; - line.hasError = true; - - minlevel = Math.min(minlevel, line.level); //once we seen a lower level, we do not want to go into higher levels anymor - } - } - - flush(); //always flush on exceptions - } - - - long lastResportedTime = 0; - final static int REPORT_INTERVAL = 10; - final static int PROGRESSBAR_WIDTH = 10; - - /** - * Reports progress about a batch. The total can default to zero if not provided. - * This function is state-less, so many calls to it will not result in heap issues. - * - * @param msg - * @param current - * @param total - */ - public void reportProgress(String msg, long current, long total) { - long currentReportTime = System.currentTimeMillis(); - - boolean report = (currentReportTime - lastResportedTime > REPORT_INTERVAL * 1000) || total == current; - - if (report) { - lastResportedTime = currentReportTime; - - if (total == 0 || total < current) - log.info(String.format("[%s| %d / ?] %s", - StringUtils.leftPad("", (long) (PROGRESSBAR_WIDTH + 1), "_"), - current, msg - )); - - else { - int chars = Math.round((current / total) * PROGRESSBAR_WIDTH); - - log.info(String.format("[%s%s| %d / %d] %s", - StringUtils.leftPad("|", (long) chars, "="), - StringUtils.leftPad("", (long) (PROGRESSBAR_WIDTH - chars), "_"), - current, total, msg - )); - } - } - } - - public void reportProgress(String msg, float progress) { - reportProgress(msg, Math.round(progress * 100), 100); - } - - /** - * Sets the detail level of the current conversation. This determines how deep sections can be nested before becoming invisible in the LOG - * - * If the detail level is for example 3, this means that the contents of the first 2 nested sections are visible. - * - * This holds only if the loglevel of the M2EE LOG is set to 'INFO'. - * If the loglevel is set to 'DEBUG', the effective detail level is always 2 higher than the assigned level. - * If the loglevel is set to 'TRACE', all loglines are always visible, regardless the assigned level. - * - * Use getDetailVisibilityLevel to get the effective visibility level. - * - * Furthermore, warnings and errors are always visible. - * - * @param detaillevel The detail level, defaults two 2. - */ - public ConversationLog setBaseDetailVisibilityLevel(int detaillevel) { - this.basevisiblelevel = detaillevel; - return this; - } - - /** - * Returns the ACTIVE visibility level of this conversation. This depends on the base detail visibility level and the loglevel of the - * M2ee node. @see setBaseDetailVisibilityLevel for more info. - * @return - */ - public int getVisibleLogLegel() { - return log.isTraceEnabled() ? 1000 : log.isDebugEnabled() ? this.basevisiblelevel + 1 : this.basevisiblelevel; - } - - private void flushIfLastLineVisible() - { - //flush if this is a visible section - if (currentlevel <= getVisibleLogLegel()) - flush(); - } - - /** - * Force all current known loglines to be written to the M2ee LOG. - * @return - */ - public ConversationLog flush() { - int hidden = 0; - int actuallevel = getVisibleLogLegel(); - - while (flushedUntil < messages.size()) { - LogLine line = messages.get(flushedUntil); - - switch (line.type) { - case ERROR: - writeToLog(line, (line.msg != null ? line.msg : line.exception != null ? line.exception.getMessage() : "")); - break; - - case WARNING: - writeToLog(line,(line.msg != null ? line.msg : line.exception != null ? line.exception.getMessage() : "")); - break; - - case NORMAL: - if (line.level <= actuallevel || line.hasError) - writeToLog(line); - else - hidden += 1; - break; - - case SECTION_START: - /** - * error INSIDE this section? - */ - if (line.hasError && flushedUntil + 1 < messages.size() /*avoid out of bounds*/) { - LogLine nextline = messages.get(flushedUntil + 1); - - //is the error ínside this section? - if (nextline.hasError && nextline.type != LogType.SECTION_END) - writeToLog(line); - } - - /** - * visible level and not ended yet. We are flushing so we want to display that the section did start - */ - else if (line.level <= actuallevel && line.closed == -1) - writeToLog(line); - - /** - * section is ended, but there are submessages and they are visible. Show begin - */ - else if (line.closed > flushedUntil + 1 && line.level < actuallevel) - writeToLog(line); - - - /** - * we are flushing a subsection of the current section, that is, there are visible messages inside this section, - * even if this section is not closed. Note that this only works because the following holds. - * - * - The SECTION is not closed yet (it would have been flushed earlier otherwise) - * - Something triggered a flush (ENDSECTION or ERROR) which is inside this section (it would have feen flushed earlier otherwise) - * - */ - else if (flushedUntil < messages.size() && line.level < actuallevel && line.closed == 0) - writeToLog(line); - - /** - * Not printing, report hidden - */ - else if (line.level >= actuallevel) - hidden += 1; - - //all other cases, this line is written by end_section - break; - - case SECTION_END: - LogLine begin = this.messages.get(line.started); - boolean outputline = false; - - /** - * begin section has error, generate report - */ - if (begin.hasError) - outputline = true; - - /** - * visible, but empty section, generate report - */ - else if (line.level <= actuallevel) - outputline = true; - - if (outputline) { - String hiddenmsg = hidden == 0 ? "": String.format("%d hidden", hidden); - String statusmsg = line.msg == null ? "DONE" : line.msg; - long delta = line.time - begin.time; - String msg = String.format("%s %s (in %d ms. %s)", begin.msg, statusmsg, delta, hiddenmsg); - writeToLog(line, msg); - } - - //reset hidden - if (line.level >= actuallevel) - hidden = 0; - - break; - - } - - flushedUntil += 1; - } - - return this; - } - - private void writeToLog(LogLine line) { - writeToLog(line, line.msg); - } - - private void writeToLog(LogLine line, String msg) - { - String base = String.format("[%04d][%s]%s %s", - this.getId(), - dateFormat.print(line.time), - StringUtils.leftPad("", line.level * 4L, " "), - msg - ); - - switch(line.type) { - case ERROR: - log.error(base, line.exception); - break; - case NORMAL: - case SECTION_END: - case SECTION_START: - log.info(base); - break; - case WARNING: - log.warn(base, line.exception); - break; - } - - if (closed) - log.warn(String.format("[%s] (Objection! Messages were added to the conversation after being closed!)", this.id)); - } - - /** - * Closes the conversation. This is a kind of assertion to see if your code properly ends all sections. Warnings are printed otherwise. - */ - public void close() { - - if (flushedUntil < messages.size()) { - flush(); - } - if (currentlevel > 0) - log.warn(String.format("[%04d] (Objection! Being destructed, but found %d unclosed sections. The conversation did not end normally?)", getId(), currentlevel)); - - this.closed = true; - } - - @Override - public String toString() { - return messages.toString(); - } - - @Override - protected void finalize() throws Throwable { - try { - close(); - } finally { - super.finalize(); - } -} - - public int getCurrentLevel() - { - return currentlevel; - } - -} diff --git a/test/javasource/communitycommons/DateTime.java b/test/javasource/communitycommons/DateTime.java deleted file mode 100644 index a823b80..0000000 --- a/test/javasource/communitycommons/DateTime.java +++ /dev/null @@ -1,68 +0,0 @@ -package communitycommons; - -import java.util.Calendar; -import java.util.Date; - -import communitycommons.proxies.DatePartSelector; - -public class DateTime -{ - /** - * @author mwe - * Berekent aantal jaar sinds een bepaalde datum. Als einddatum == null, het huidige tijdstip wordt gebruikt - * Code is gebaseerd op http://stackoverflow.com/questions/1116123/how-do-i-calculate-someones-age-in-java - */ - public static long yearsBetween(Date birthdate, Date comparedate) { - if (birthdate == null) - return -1L; - - Calendar now = Calendar.getInstance(); - if (comparedate != null) - now.setTime(comparedate); - Calendar dob = Calendar.getInstance(); - dob.setTime(birthdate); - if (dob.after(now)) - return -1L; - - int year1 = now.get(Calendar.YEAR); - int year2 = dob.get(Calendar.YEAR); - long age = year1 - year2; - int month1 = now.get(Calendar.MONTH); - int month2 = dob.get(Calendar.MONTH); - if (month2 > month1) { - age--; - } else if (month1 == month2) { - int day1 = now.get(Calendar.DAY_OF_MONTH); - int day2 = dob.get(Calendar.DAY_OF_MONTH); - if (day2 > day1) { - age--; - } - } - return age; - } - - public static long dateTimeToLong(Date date) - { - return date.getTime(); - } - - public static Date longToDateTime(Long value) - { - return new Date(value); - } - - public static long dateTimeToInteger(Date date, DatePartSelector selectorObj) - { - Calendar newDate = Calendar.getInstance(); - newDate.setTime(date); - int value = -1; - switch (selectorObj) { - case year : value = newDate.get(Calendar.YEAR); break; - case month : value = newDate.get(Calendar.MONTH)+1; break; // Return starts at 0 - case day : value = newDate.get(Calendar.DAY_OF_MONTH); break; - default : break; - } - return value; - } - -} diff --git a/test/javasource/communitycommons/ImmutablePair.java b/test/javasource/communitycommons/ImmutablePair.java deleted file mode 100644 index 7e8d502..0000000 --- a/test/javasource/communitycommons/ImmutablePair.java +++ /dev/null @@ -1,58 +0,0 @@ -package communitycommons; - -import org.apache.commons.lang3.builder.HashCodeBuilder; - - -public class ImmutablePair -{ - public static ImmutablePair of(T left, U right) { - return new ImmutablePair(left, right); - } - - private final T left; - private final U right; - - private ImmutablePair(T left, U right) { - if (left == null) - throw new IllegalArgumentException("Left is NULL"); - if (right == null) - throw new IllegalArgumentException("Right is NULL"); - - this.left = left; - this.right = right; - } - - public T getLeft() { - return left; - } - - public U getRight() { - return right; - } - - @Override - public String toString() { - return "<" + left.toString()+ "," + right.toString() + ">"; - } - - @Override - public boolean equals(Object other) { - if (!(other instanceof ImmutablePair)) - return false; - - if (this == other) - return true; - - ImmutablePair o = (ImmutablePair) other; - return left.equals(o.getLeft()) && right.equals(o.getRight()); - } - - @Override - public int hashCode() { - return new HashCodeBuilder(19, 85) - .append(left) - .append(right) - .toHashCode(); - } - -} diff --git a/test/javasource/communitycommons/Logging.java b/test/javasource/communitycommons/Logging.java deleted file mode 100644 index abdda65..0000000 --- a/test/javasource/communitycommons/Logging.java +++ /dev/null @@ -1,65 +0,0 @@ -package communitycommons; - -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -import com.mendix.core.Core; -import com.mendix.logging.ILogNode; -import communitycommons.proxies.LogLevel; - -public class Logging -{ - private static Map timers = new HashMap(); - - public static void log(String lognode, LogLevel loglevel, String message) - { - log(lognode, loglevel, message, null); - } - - public static void log(String lognode, LogLevel loglevel, String message, Throwable e) { - ILogNode logger = Core.getLogger(lognode); - switch (loglevel) { - case Critical: - logger.critical(message,e); - break; - case Warning: - logger.warn(message,e); - break; - case Debug: - logger.debug(message); - break; - case Error: - logger.error(message,e); - break; - case Info: - logger.info(message); - break; - case Trace: - logger.trace(message); - break; - } - } - - public static void simpleLog(String message) - { - Core.getLogger("Community_Commons").info(message); - } - - - public static Long measureEnd(String timerName, LogLevel loglevel, - String message) - { - Long cur = new Date().getTime(); - if (!timers.containsKey(timerName)) - throw new IllegalArgumentException(); - String time = String.format("%d", cur - timers.get(timerName)); - log("Utility_log", loglevel, "Timer " + timerName + " finished in " + time + " ms. " + message); - return timers.get(timerName); - } - - public static void measureStart(String timerName) - { - timers.put(timerName, new Date().getTime()); - } -} diff --git a/test/javasource/communitycommons/Misc.java b/test/javasource/communitycommons/Misc.java deleted file mode 100644 index 34f1b58..0000000 --- a/test/javasource/communitycommons/Misc.java +++ /dev/null @@ -1,672 +0,0 @@ -package communitycommons; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.net.URLConnection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.ThreadFactory; -import java.util.concurrent.atomic.AtomicLong; - -import org.apache.commons.fileupload.util.LimitedInputStream; -import org.apache.commons.io.IOUtils; -import org.apache.pdfbox.Overlay; -import org.apache.pdfbox.exceptions.COSVisitorException; -import org.apache.pdfbox.pdmodel.PDDocument; -import org.apache.pdfbox.pdmodel.PDPage; -import org.apache.pdfbox.util.PDFMergerUtility; - -import system.proxies.FileDocument; -import system.proxies.Language; - -import com.google.common.collect.ImmutableMap; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.core.conf.RuntimeVersion; -import com.mendix.core.objectmanagement.member.MendixBoolean; -import com.mendix.integration.WebserviceException; -import com.mendix.logging.ILogNode; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixObject; -import com.mendix.systemwideinterfaces.core.ISession; -import com.mendix.systemwideinterfaces.core.IUser; - - -public class Misc -{ - - public abstract static class IterateCallback - { - boolean start = false; - boolean stop = false; - private Iterator mapIter; - - public abstract void hit(T1 key, T2 value) throws Exception; - - public void exit() { - stop = true; - } - - public void remove() { - mapIter.remove(); - } - - synchronized void runOn(Map map) throws Exception { - if (start) - throw new IllegalMonitorStateException(); - start = true; - - try { - this.mapIter = map.keySet().iterator(); - - while ( mapIter.hasNext() ) - { - T1 key = mapIter.next(); - T2 value = map.get(key); - - hit(key, value); - - if (stop) - break; - } - } - - finally { - //reset state to allow reuse, even when exceptions occur - mapIter = null; - stop = false; - start = false; - } - } - } - - /** - * Because you cannot remove items from a map while iteration, this function is introduced. - * In the callback, you can use this.remove() or this.exit() to either remove or break the loop. Use return; to continue - * @throws Exception - */ - public static void iterateMap(Map map, IterateCallback callback) throws Exception { - //http://marxsoftware.blogspot.com/2008/04/removing-entry-from-java-map-during.html - if (map == null || callback == null) - throw new IllegalArgumentException(); - - callback.runOn(map); - } - - public static String getApplicationURL() - { - return Core.getConfiguration().getApplicationRootUrl(); - } - - public static String getRuntimeVersion() - { - RuntimeVersion runtimeVersion = RuntimeVersion.getInstance(); - return runtimeVersion.toString(); - } - - public static void throwException(String message) throws UserThrownException - { - throw new UserThrownException(message); - } - - public static void throwWebserviceException(String faultstring) throws WebserviceException { - throw new WebserviceException(WebserviceException.clientFaultCode, faultstring); - } - - public static String retrieveURL(String url, String postdata) throws Exception - { - // Send data, appname - URLConnection conn = new URL(url).openConnection(); - - conn.setDoInput(true); - conn.setDoOutput(true); - conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); - - if (postdata != null) { - IOUtils.copy(new ByteArrayInputStream(postdata.getBytes("UTF-8")), conn.getOutputStream()); - } - IOUtils.closeQuietly(conn.getOutputStream()); - - // Get the response - String result = new String(IOUtils.toString(conn.getInputStream())); - IOUtils.closeQuietly(conn.getInputStream()); - return result; - } - - public static Boolean duplicateFileDocument(IContext context, IMendixObject toClone, IMendixObject target) throws Exception - { - if (toClone == null || target == null) - throw new Exception("No file to clone or to clone into provided"); - - MendixBoolean hasContents = (MendixBoolean) toClone.getMember(context, FileDocument.MemberNames.HasContents.toString()); - if (!hasContents.getValue(context)) - return false; - - InputStream inputStream = Core.getFileDocumentContent(context, toClone); - - Core.storeFileDocumentContent(context, target, (String) toClone.getValue(context, system.proxies.FileDocument.MemberNames.Name.toString()), inputStream); - return true; - } - - public static Boolean duplicateImage(IContext context, IMendixObject toClone, IMendixObject target, int thumbWidth, int thumbHeight) throws Exception - { - if (toClone == null || target == null) - throw new Exception("No file to clone or to clone into provided"); - - MendixBoolean hasContents = (MendixBoolean) toClone.getMember(context, FileDocument.MemberNames.HasContents.toString()); - if (!hasContents.getValue(context)) - return false; - - InputStream inputStream = Core.getImage(context, toClone, false); - - Core.storeImageDocumentContent(context, target, inputStream, thumbWidth, thumbHeight); - - return true; - } - - public static Boolean storeURLToFileDocument(IContext context, String url, IMendixObject __document, String filename) throws Exception - { - if (__document == null || url == null || filename == null) - throw new Exception("No document, filename or URL provided"); - - final int MAX_REMOTE_FILESIZE = 1024 * 1024 * 200; //maxium of 200 MB - URL imageUrl = new URL(url); - URLConnection connection = imageUrl.openConnection(); - //we connect in 20 seconds or not at all - connection.setConnectTimeout(20000); - connection.setReadTimeout(20000); - connection.connect(); - - //check on forehand the size of the remote file, we don't want to kill the server by providing a 3 terabyte image. - if (connection.getContentLength() > MAX_REMOTE_FILESIZE) { //maximum of 200 mb - throw new IllegalArgumentException("MxID: importing image, wrong filesize of remote url: " + connection.getContentLength()+ " (max: " + String.valueOf(MAX_REMOTE_FILESIZE)+ ")"); - } else if (connection.getContentLength() < 0) { - // connection has not specified content length, wrap stream in a LimitedInputStream - LimitedInputStream limitStream = new LimitedInputStream(connection.getInputStream(), MAX_REMOTE_FILESIZE) { - @Override - protected void raiseError(long pSizeMax, long pCount) throws IOException { - throw new IllegalArgumentException("MxID: importing image, wrong filesize of remote url (max: " + String.valueOf(MAX_REMOTE_FILESIZE)+ ")"); - } - }; - Core.storeFileDocumentContent(context, __document, filename, limitStream); - } else { - // connection has specified correct content length, read the stream normally - //NB; stream is closed by the core - Core.storeFileDocumentContent(context, __document, filename, connection.getInputStream()); - } - - return true; - } - - public static Long getFileSize(IContext context, IMendixObject document) - { - final int BUFFER_SIZE = 4096; - long size = 0; - - if (context != null) { - InputStream inputStream = null; - byte[] buffer = new byte[BUFFER_SIZE]; - - try { - inputStream = Core.getFileDocumentContent(context, document); - int i; - while ((i = inputStream.read(buffer)) != -1) - size += i; - } catch (IOException e) { - Core.getLogger("FileUtil").error( - "Couldn't determine filesize of FileDocument '" + document.getId()); - } finally { - IOUtils.closeQuietly(inputStream); - } - } - - return size; - } - - public static void delay(long delaytime) throws InterruptedException - { - Thread.sleep(delaytime); - } - - public static IContext getContextFor(IContext context, String username, boolean sudoContext) { - if (username == null || username.isEmpty()) { - throw new RuntimeException("Assertion: No username provided"); - } - - ISession session = getSessionFor(context, username); - - IContext c = session.createContext(); - if (sudoContext) { - return c.getSudoContext(); - } - - return c; - } - - private static ISession getSessionFor(IContext context, String username) { - ISession session = Core.getActiveSession(username); - - if (session == null) { - IContext newContext = context.getSession().createContext().getSudoContext(); - newContext.startTransaction(); - try { - session = initializeSessionForUser(newContext, username); - } catch (CoreException e) { - newContext.rollbackTransAction(); - - throw new RuntimeException("Failed to initialize session for user: " + username + ": " + e.getMessage(), e); - } finally { - newContext.endTransaction(); - } - } - - return session; - } - - private static ISession initializeSessionForUser(IContext context, String username) throws CoreException { - IUser user = Core.getUser(context, username); - - if (user == null) { - throw new RuntimeException("Assertion: user with username '" + username + "' does not exist"); - } - - return Core.initializeSession(user, null); - } - - public static Object executeMicroflowAsUser(IContext context, - String microflowName, String username, Boolean sudoContext, Object... args) throws Exception - { - - if (context == null) - throw new Exception("Assertion: No context provided"); - if (microflowName == null || microflowName.isEmpty()) - throw new Exception("Assertion: No context provided"); - if (!Core.getMicroflowNames().contains(microflowName)) - throw new Exception("Assertion: microflow not found: " + microflowName); - if (args.length % 2 != 0) - throw new Exception("Assertion: odd number of dynamic arguments provided, please name every argument: " + args.length); - - Map params = new LinkedHashMap(); - for(int i = 0; i < args.length; i+= 2) if (args[i] != null) - params.put(args[i].toString(), args[i + 1]); - - IContext c = getContextFor(context, username, sudoContext); - - return Core.execute(c, microflowName, params); - } - - //MWE: based on: http://download.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html - - static class MFSerialExecutor { - private static final ILogNode LOG = Core.getLogger("communitycommons"); - - private static MFSerialExecutor _instance = new MFSerialExecutor(); - - private final AtomicLong tasknr = new AtomicLong(); - private final ExecutorService executor; - - public static MFSerialExecutor instance() { - return _instance; - } - - private MFSerialExecutor() { - executor = Executors.newSingleThreadExecutor(new ThreadFactory() { - - //Default thread factory takes care of setting the proper thread context - private final ThreadFactory defaultFactory = Executors.defaultThreadFactory(); - - @Override - public Thread newThread(Runnable runnable) { - Thread t = defaultFactory.newThread(runnable); - t.setPriority(Thread.MIN_PRIORITY); - t.setName("CommunityCommons background pool executor thread"); - return t; - } - - }); - } - - public void execute(final Runnable command) - { - if (command == null) { - throw new NullPointerException("command"); - } - - final long currenttasknr = tasknr.incrementAndGet(); - LOG.info("[RunMicroflowAsyncInQueue] Scheduling task #" + currenttasknr); - - executor.submit(new Runnable() { - @Override - public void run() { - LOG.info("[RunMicroflowAsyncInQueue] Running task #" + currenttasknr); - try { - command.run(); - } catch(RuntimeException e) { - LOG.error("[RunMicroflowAsyncInQueue] Execution of task #" + currenttasknr + " failed: " + e.getMessage(), e); - throw e; //single thread executor will continue, even if an exception is thrown. - } - LOG.info("[RunMicroflowAsyncInQueue] Completed task #" + currenttasknr + ". Tasks left: " + (tasknr.get() - currenttasknr)); - } - }); - } - } - - public static Boolean runMicroflowAsyncInQueue(final String microflowName) - { - MFSerialExecutor.instance().execute(new Runnable() { - @Override - public void run() - { - try - { - Future future = Core.executeAsync(Core.createSystemContext(), microflowName, true, new HashMap()); //MWE: somehow, it only works with system context... well thats OK for now. - future.get(); - } - catch (Exception e) - { - throw new RuntimeException("Failed to run Async: "+ microflowName + ": " + e.getMessage(), e); - } - } - }); - return true; - } - - public static Boolean runMicroflowInBackground(final IContext context, final String microflowName, - final IMendixObject paramObject) - { - final ISession session = context.getSession(); - - if (paramObject != null) - session.retain(paramObject); - - MFSerialExecutor.instance().execute(new Runnable() { - - @Override - public void run() - { - try - { - IContext c = Core.createSystemContext(); - if (paramObject != null) { - Core.executeAsync(c, microflowName, true, paramObject).get(); //MWE: somehow, it only works with system context... well thats OK for now. - } - else - Core.executeAsync(c, microflowName, true, new HashMap()).get(); //MWE: somehow, it only works with system context... well thats OK for now. - } - catch (Exception e) - { - throw new RuntimeException("Failed to run Async: "+ microflowName + ": " + e.getMessage(), e); - } - - finally { - if (paramObject != null) - session.release(paramObject.getId()); - } - } - - }); - return true; - } - - private interface IBatchItemHandler - { - - void exec(IContext context, IMendixObject obj) throws Exception; - - } - - private static class BatchState { - private int state = 0; //-1 = error, 1 = done. - private final IBatchItemHandler callback; - - public BatchState(IBatchItemHandler callback) { - this.callback = callback; - } - - public void setState(int state) - { - this.state = state; - } - - public int getState() - { - return state; - } - - public void handle(IContext context, IMendixObject obj) throws Exception { - callback.exec(context, obj); - } - } - - public static Boolean executeMicroflowInBatches(String xpath, final String microflow, int batchsize, boolean waitUntilFinished, boolean asc) throws CoreException, InterruptedException { - Core.getLogger("communitycommons").info("[ExecuteInBatches] Starting microflow batch '" + microflow + "..."); - - return executeInBatches(xpath, new BatchState(new IBatchItemHandler() { - - @Override - public void exec(IContext context, IMendixObject obj) throws Exception - { - Core.executeAsync(context, microflow, true, obj).get(); - } - - }), batchsize, waitUntilFinished, asc); - } - - public static Boolean recommitInBatches(String xpath, int batchsize, - boolean waitUntilFinished, Boolean asc) throws CoreException, InterruptedException - { - Core.getLogger("communitycommons").info("[ExecuteInBatches] Starting recommit batch..."); - - return executeInBatches(xpath, new BatchState(new IBatchItemHandler() { - - @Override - public void exec(IContext context, IMendixObject obj) throws Exception - { - Core.commit(context, obj); - } - - }), batchsize, waitUntilFinished, asc); - } - - public static Boolean executeInBatches(String xpathRaw, BatchState batchState, int batchsize, boolean waitUntilFinished, boolean asc) throws CoreException, InterruptedException - { - String xpath = xpathRaw.startsWith("//") ? xpathRaw : "//" + xpathRaw; - - long count = Core.retrieveXPathQueryAggregate(Core.createSystemContext(), "count(" + xpath + ")"); - int loop = (int) Math.ceil(((float)count) / ((float)batchsize)); - - - Core.getLogger("communitycommons").info( - "[ExecuteInBatches] Starting batch on ~ " + count + " objects divided over ~ " + loop + " batches. " - + (waitUntilFinished ? "Waiting until the batch has finished..." : "") - ); - - executeInBatchesHelper(xpath, batchsize, 0, batchState, count, asc); - - if (waitUntilFinished) { - while (batchState.getState() == 0) { - Thread.sleep(5000); - } - if (batchState.getState() == 1) { - Core.getLogger("communitycommons").debug("[ExecuteInBatches] Successfully finished batch"); - return true; - } - Core.getLogger("communitycommons").error("[ExecuteInBatches] Failed to finish batch. Please check the application log for more details."); - return false; - } - - return true; - } - - static void executeInBatchesHelper(final String xpath, final int batchsize, final long last, final BatchState batchState, final long count, final boolean asc) { - MFSerialExecutor.instance().execute(new Runnable() { - - @Override - public void run() - { - try - { - Thread.sleep(200); - IContext c = Core.createSystemContext(); - - List objects = Core.retrieveXPathQuery(c, xpath + (last > 0 ? "[id " + (asc ? "> " : "< ") + last + "]" : ""), batchsize, 0, ImmutableMap.of("id", asc ? "asc" : "desc")); - - //no new objects found :) - if (objects.size() == 0) { - Core.getLogger("communitycommons").info("[ExecuteInBatches] Succesfully finished batch on ~" + count + " objects."); - batchState.setState(1); - } - else { - - //process objects - for(IMendixObject obj: objects) - batchState.handle(c, obj); - - //invoke next batch - executeInBatchesHelper(xpath, batchsize, objects.get(objects.size() - 1).getId().toLong(), batchState, count, asc); - } - } - catch (Exception e) - { - batchState.setState(-1); - throw new RuntimeException("[ExecuteInBatches] Failed to run in batch: " + e.getMessage(), e); - } - } - - }); - } - - /** - * Tests if two objects are equal with throwing unecessary null pointer exceptions. - * - * This is almost the most stupid function ever, since it should be part of Java itself. - * - * In java 7 it will finally be available as static method Object.equals() - * @param left - * @param right - * @return - */ - public static boolean objectsAreEqual(Object left, Object right) { - if (left == null && right == null) - return true; - if (left == null || right == null) - return false; - return left.equals(right); - } - - /** - * Get the default language - * @param context - * @return The default language - * @throws CoreException - */ - public static Language getDefaultLanguage(IContext context) throws CoreException { - String languageCode = Core.getDefaultLanguage().getCode(); - List languageList = Language.load(context, "[Code = '" + languageCode + "']"); - if (languageList == null || languageList.isEmpty()) { - throw new RuntimeException("No language found for default language constant value " + languageCode); - } - return languageList.get(0); - } - - public static boolean mergePDF(IContext context,List documents, IMendixObject mergedDocument ){ - - int i = 0; - PDFMergerUtility mergePdf = new PDFMergerUtility(); - for(i=0; i < documents.size(); i++) - { - FileDocument file = documents.get(i); - InputStream content = Core.getFileDocumentContent(context, file.getMendixObject()); - mergePdf.addSource(content); - } - ByteArrayOutputStream out = new ByteArrayOutputStream(); - mergePdf.setDestinationStream(out); - try { - mergePdf.mergeDocuments(); - } catch (COSVisitorException e) { - throw new RuntimeException("Failed to merge documents" + e.getMessage(), e); - - } catch (IOException e) { - throw new RuntimeException("Failed to merge documents" + e.getMessage(), e); - - } - - Core.storeFileDocumentContent(context, mergedDocument, new ByteArrayInputStream(out.toByteArray())); - - out.reset(); - documents.clear(); - - return true; - } - - - /** - * Overlay a generated PDF document with another PDF (containing the company stationary for example) - * @param context - * @param generatedDocumentMendixObject The document to overlay - * @param overlayMendixObject The document containing the overlay - * @return boolean - * @throws IOException - * @throws COSVisitorException - */ - public static boolean overlayPdf(IContext context, IMendixObject generatedDocumentMendixObject, IMendixObject overlayMendixObject) throws IOException, COSVisitorException { - - ILogNode logger = Core.getLogger("OverlayPdf"); - logger.trace("Overlay PDF start, retrieve overlay PDF"); - PDDocument overlayDoc = PDDocument.load(Core.getFileDocumentContent(context, overlayMendixObject)); - int overlayPageCount = overlayDoc.getNumberOfPages(); - PDPage lastOverlayPage = (PDPage)overlayDoc.getDocumentCatalog().getAllPages().get(overlayPageCount - 1); - - logger.trace("Retrieve generated document"); - PDDocument offerteDoc = PDDocument.load(Core.getFileDocumentContent(context, generatedDocumentMendixObject)); - - int pageCount = offerteDoc.getNumberOfPages(); - if (logger.isTraceEnabled()) { - logger.trace("Number of pages in overlay: " + overlayPageCount + ", in generated document: " + pageCount); - } - if (pageCount > overlayPageCount) { - logger.trace("Duplicate last overlay page to match number of pages"); - for (int i = overlayPageCount; i < pageCount; i++) { - overlayDoc.importPage(lastOverlayPage); - } - } else if (overlayPageCount > pageCount) { - logger.trace("Delete unnecessary pages from the overlay to match number of pages"); - for (int i = pageCount; i < overlayPageCount; i++) { - overlayDoc.removePage(i); - } - } - - logger.trace("Perform overlay"); - Overlay overlay = new Overlay(); - overlay.overlay(offerteDoc,overlayDoc); - - logger.trace("Save result in output stream"); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - overlayDoc.save(baos); - - logger.trace("Duplicate result in input stream"); - InputStream overlayedContent = new ByteArrayInputStream(baos.toByteArray()); - - logger.trace("Store result in original document"); - Core.storeFileDocumentContent(context, generatedDocumentMendixObject, overlayedContent); - - logger.trace("Close PDFs"); - overlayDoc.close(); - offerteDoc.close(); - - logger.trace("Overlay PDF end"); - return true; - - } - - -} diff --git a/test/javasource/communitycommons/ORM.java b/test/javasource/communitycommons/ORM.java deleted file mode 100644 index aab52dd..0000000 --- a/test/javasource/communitycommons/ORM.java +++ /dev/null @@ -1,439 +0,0 @@ -package communitycommons; - -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.core.objectmanagement.member.MendixAutoNumber; -import com.mendix.core.objectmanagement.member.MendixDateTime; -import com.mendix.core.objectmanagement.member.MendixEnum; -import com.mendix.core.objectmanagement.member.MendixObjectReference; -import com.mendix.core.objectmanagement.member.MendixObjectReferenceSet; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; -import com.mendix.systemwideinterfaces.core.IMendixObject.ObjectState; -import com.mendix.systemwideinterfaces.core.IMendixObjectMember; -import com.mendix.systemwideinterfaces.core.IMendixObjectMember.MemberState; -import com.mendix.systemwideinterfaces.core.ISession; -import com.mendix.systemwideinterfaces.core.meta.IMetaAssociation; -import com.mendix.systemwideinterfaces.core.meta.IMetaAssociation.AssociationType; -import com.mendix.systemwideinterfaces.core.meta.IMetaEnumValue; -import com.mendix.systemwideinterfaces.core.meta.IMetaEnumeration; -import com.mendix.systemwideinterfaces.core.meta.IMetaObject; -import com.mendix.systemwideinterfaces.core.meta.IMetaPrimitive; -import com.mendix.systemwideinterfaces.core.meta.IMetaPrimitive.PrimitiveType; - -public class ORM -{ - - - - public static Long getGUID(IMendixObject item) - { - return item.getId().toLong(); - } - - public static String getOriginalValueAsString(IContext context, IMendixObject item, - String member) - { - return String.valueOf(item.getMember(context, member).getOriginalValue(context)); - } - - public static boolean objectHasChanged(IMendixObject anyobject) { - if (anyobject == null) - throw new IllegalArgumentException("The provided object is empty"); - return anyobject.isChanged(); - } - - /** - * checks whether a certain member of an object has changed. If the objects itself is still new, we consider to be changes as well. - * @param item - * @param member - * @param context - * @return - */ - public static boolean memberHasChanged(IContext context, IMendixObject item, String member) - { - if (item == null) - throw new IllegalArgumentException("The provided object is empty"); - if (!item.hasMember(member)) - throw new IllegalArgumentException("Unknown member: " + member); - return item.getMember(context, member).getState() == MemberState.CHANGED || item.getState() != ObjectState.NORMAL; - } - - public static void deepClone(IContext c, IMendixObject source, IMendixObject target, String membersToSkip, String membersToKeep, String reverseAssociations, String excludeEntities, String excludeModules) throws CoreException - { - List toskip = Arrays.asList((membersToSkip + ",createdDate,changedDate").split(",")); - List tokeep = Arrays.asList((membersToKeep + ",System.owner,System.changedBy").split(",")); - List revAssoc = Arrays.asList(reverseAssociations.split(",")); - List skipEntities = Arrays.asList(excludeEntities.split(",")); - List skipModules = Arrays.asList(excludeModules.split(",")); - Map mappedIDs = new HashMap(); - duplicate(c, source, target, toskip, tokeep, revAssoc, skipEntities, skipModules, mappedIDs); - } - - private static void duplicate(IContext ctx, IMendixObject src, IMendixObject tar, - List toskip, List tokeep, List revAssoc, - List skipEntities, List skipModules, - Map mappedObjects) throws CoreException - { - mappedObjects.put(src.getId(), tar.getId()); - - Map> members = src.getMembers(ctx); - String type = src.getType() + "/"; - - for(String key : members.keySet()) - if (!toskip.contains(key) && !toskip.contains(type + key)){ - IMendixObjectMember m = members.get(key); - if (m.isVirtual() || m instanceof MendixAutoNumber) - continue; - - boolean keep = tokeep.contains(key) || tokeep.contains(type + key); - - if (m instanceof MendixObjectReference && !keep && m.getValue(ctx) != null) { - IMendixObject o = Core.retrieveId(ctx, ((MendixObjectReference) m).getValue(ctx)); - IMendixIdentifier refObj = getCloneOfObject(ctx, o, toskip, tokeep, revAssoc, skipEntities, skipModules, mappedObjects); - tar.setValue(ctx, key, refObj); - } - - else if (m instanceof MendixObjectReferenceSet && !keep && m.getValue(ctx) != null) { - MendixObjectReferenceSet rs = (MendixObjectReferenceSet) m; - List res = new ArrayList(); - for(IMendixIdentifier item : rs.getValue(ctx)) { - IMendixObject o = Core.retrieveId(ctx, item); - IMendixIdentifier refObj = getCloneOfObject(ctx, o, toskip, tokeep, revAssoc, skipEntities, skipModules, mappedObjects); - res.add(refObj); - } - tar.setValue(ctx, key, res); - } - - else if (m instanceof MendixAutoNumber) //skip autonumbers! Ticket 14893 - continue; - - else { - tar.setValue(ctx, key, m.getValue(ctx)); - } - } - Core.commitWithoutEvents(ctx, tar); - duplicateReverseAssociations(ctx, src, tar, toskip, tokeep, revAssoc, skipEntities, skipModules, mappedObjects); - } - - private static IMendixIdentifier getCloneOfObject(IContext ctx, IMendixObject src, - List toskip, List tokeep, List revAssoc, - List skipEntities, List skipModules, - Map mappedObjects) throws CoreException - { - String objType = src.getMetaObject().getName(); - String modName = src.getMetaObject().getModuleName(); - - // if object is already being cloned, return ref to clone - if (mappedObjects.containsKey(src.getId())) { - return mappedObjects.get(src.getId()); - // if object should be skipped based on module or entity, return source object - } else if (skipEntities.contains(objType) || skipModules.contains(modName)) { - return src.getId(); - // if not already being cloned, create clone - } else { - IMendixObject clone = Core.instantiate(ctx, src.getType()); - duplicate(ctx, src, clone, toskip, tokeep, revAssoc, skipEntities, skipModules, mappedObjects); - return clone.getId(); - } - } - - private static void duplicateReverseAssociations(IContext ctx, IMendixObject src, IMendixObject tar, - List toskip, List tokeep, List revAssocs, - List skipEntities, List skipModules, - Map mappedObjects) throws CoreException - { - for(String fullAssocName : revAssocs) { - String[] parts = fullAssocName.split("/"); - - if (parts.length != 1 && parts.length != 3) //specifying entity has no meaning anymore, but remain backward compatible. - throw new IllegalArgumentException("Reverse association is not defined correctly, please mention the relation name only: '" + fullAssocName + "'"); - - String assocname = parts.length == 3 ? parts[1] : parts[0]; //support length 3 for backward compatibility - - IMetaAssociation massoc = src.getMetaObject().getDeclaredMetaAssociationChild(assocname); - - if (massoc != null) { - IMetaObject relationParent = massoc.getParent(); - // if the parent is in the exclude list, we can't clone the parent, and setting the - // references to the newly cloned target object will screw up the source data. - if (skipEntities.contains(relationParent.getName()) || skipModules.contains(relationParent.getModuleName())){ - throw new IllegalArgumentException("A reverse reference has been specified that starts at an entity in the exclude list, this is not possible to clone: '" + fullAssocName + "'"); - } - - //MWE: what to do with reverse reference sets? -> to avoid spam creating objects on - //reverse references, do not support referenceset (todo: we could keep a map of converted guids and reuse that!) - if (massoc.getType() == AssociationType.REFERENCESET) { - throw new IllegalArgumentException("It is not possible to clone reverse referencesets: '" + fullAssocName + "'"); - } - - List objs = Core.retrieveXPathQueryEscaped(ctx, "//%s[%s='%s']", - relationParent.getName(), assocname, String.valueOf(src.getId().toLong())); - - for(IMendixObject obj : objs) { - @SuppressWarnings("unused") // object is unused on purpose - IMendixIdentifier refObj = getCloneOfObject(ctx, obj, toskip, tokeep, revAssocs, skipEntities, skipModules, mappedObjects); - // setting reference explicitly is not necessary, this has been done in the - // duplicate() call. - } - } - } - } - - public static Boolean commitWithoutEvents(IContext context, IMendixObject subject) throws CoreException - { - Core.commitWithoutEvents(context, subject); - return true; - } - - public static String getValueOfPath(IContext context, IMendixObject substitute, String fullpath, String datetimeformat) throws Exception - { - String[] path = fullpath.split("/"); - if (path.length == 1) { - IMendixObjectMember member = substitute.getMember(context, path[0]); - - //special case, see ticket 9135, format datetime. - if (member instanceof MendixDateTime) { - Date time = ((MendixDateTime) member).getValue(context); - if (time == null) - return ""; - String f = datetimeformat != null && !datetimeformat.isEmpty() ? datetimeformat : "EEE dd MMM yyyy, HH:mm"; - return new SimpleDateFormat(f).format(time); - } - - if (member instanceof MendixEnum) { - String value = member.parseValueToString(context); - if (value == null || value.isEmpty()) - return ""; - - IMetaEnumeration enumeration = ((MendixEnum)member).getEnumeration(); - IMetaEnumValue evalue = enumeration.getEnumValues().get(value); - return Core.getInternationalizedString(context, evalue.getI18NCaptionKey()); - } - //default - return member.parseValueToString(context); - } - - else if (path.length == 0) - throw new Exception("communitycommons.ORM.getValueOfPath: Unexpected end of path."); - - else { - IMendixObjectMember member = substitute.getMember(context, path[0]); - if (member instanceof MendixObjectReference) { - MendixObjectReference ref = (MendixObjectReference) member; - IMendixIdentifier id = ref.getValue(context); - if (id == null) - return ""; - IMendixObject obj = Core.retrieveId(context, id); - if (obj == null) - return ""; - return getValueOfPath(context, obj, fullpath.substring(fullpath.indexOf("/") + 1), datetimeformat); - } - - else if (member instanceof MendixObjectReferenceSet) { - MendixObjectReferenceSet ref = (MendixObjectReferenceSet) member; - List ids = ref.getValue(context); - if (ids == null) - return ""; - StringBuilder res = new StringBuilder(); - for(IMendixIdentifier id : ids) { - if (id == null) - continue; - IMendixObject obj = Core.retrieveId(context, id); - if (obj == null) - continue; - res.append(", "); - res.append(getValueOfPath(context, obj, fullpath.substring(fullpath.indexOf("/") + 1), datetimeformat)); - } - return res.length() > 1 ? res.toString().substring(2) : ""; - } - else throw new Exception("communitycommons.ORM.getValueOfPath: Not a valid reference: '"+path[0]+"' in '"+ fullpath +"'"); - } - } - - public static Boolean cloneObject(IContext c, IMendixObject source, - IMendixObject target, Boolean withAssociations) - { - Map> members = source.getMembers(c); - - for(String key : members.keySet()) { - IMendixObjectMember m = members.get(key); - if (m.isVirtual()) - continue; - if (m instanceof MendixAutoNumber) - continue; - if (withAssociations || ((!(m instanceof MendixObjectReference) && !(m instanceof MendixObjectReferenceSet)&& !(m instanceof MendixAutoNumber)))) - target.setValue(c, key, m.getValue(c)); - } - return true; - } - - private static ConcurrentHashMap locks = new ConcurrentHashMap(); - - public static synchronized Boolean acquireLock(IContext context, IMendixObject item) - { - if (!isLocked(item)) { - if (!context.getSession().getUser().getName().equals(getLockOwner(item))) - locks.put(item.getId().toLong(), context.getSession()); - return true; - } - else if (locks.get(item.getId().toLong()).equals(context.getSession())) - return true; //lock owned by this session - return false; - } - - private static boolean isLocked(IMendixObject item) - { - if (item == null) - throw new IllegalArgumentException("No item provided"); - if (!locks.containsKey(item.getId().toLong())) - return false; - if (!sessionIsActive(locks.get(item.getId().toLong()))) { - locks.remove(item.getId().toLong()); //Remove locks which are nolonger active - return false; - } - return true; - } - - private static boolean sessionIsActive(ISession session) - { - for (ISession s : Core.getActiveSessions()) - if (s.equals(session)) - return true; - return false; - } - - public synchronized static Boolean releaseLock(IContext context, IMendixObject item, Boolean force) - { - if (locks.containsKey(item.getId().toLong())) { - if (force || locks.get(item.getId().toLong()).equals(context.getSession())) - locks.remove(item.getId().toLong()); - } - return true; - } - - public static Boolean waitForLock(IContext context, IMendixObject item, - Long timeOutSeconds) throws InterruptedException - { - boolean res = false; - long started = new Date().getTime(); - while (!res) { - res = acquireLock(context, item); - if (!res) - Thread.sleep(1000); - if (((new Date().getTime()) - started) > 1000 * timeOutSeconds) - break; - } - return res; - } - - public static String getLockOwner(IMendixObject item) - { - ISession session = locks.get(item.getId().toLong()); - return session == null ? null : session.getUser().getName(); - } - - public static IMendixObject firstWhere(IContext c, String entityName, - Object member, String value) throws CoreException - { - List items = Core.retrieveXPathQuery(c, String.format("//%s[%s = '%s']", entityName, member, value), 1, 0, new HashMap()); - if (items == null || items.size() == 0) - return null; - return items.get(0); - } - - public synchronized static void releaseOldLocks() - { - Set activeSessions = new HashSet(Core.getActiveSessions()); //Lookup with Ord(log(n)) instead of Ord(n). - - List tbrm = new ArrayList(); - for (Entry lock : locks.entrySet()) - if (!activeSessions.contains(lock.getValue())) - tbrm.add(lock.getKey()); - - for(Long key : tbrm) - locks.remove(key); - } - - public static IMendixObject getLastChangedByUser(IContext context, - IMendixObject thing) throws CoreException - { - if (thing == null || !thing.hasChangedByAttribute()) - return null; - - IMendixIdentifier itemId = thing.getChangedBy(context); - if (itemId == null) - return null; - - return Core.retrieveId(context, itemId); - } - - public static IMendixObject getCreatedByUser(IContext context, - IMendixObject thing) throws CoreException - { - if (thing == null || !thing.hasOwnerAttribute()) - return null; - - IMendixIdentifier itemId = thing.getOwner(context); - if (itemId == null) - return null; - - return Core.retrieveId(context, itemId); - } - - public static boolean encryptMemberIfChanged(IContext context, IMendixObject item, - String member, String key) throws Exception - { - if (memberHasChanged(context, item, member)) { - - if (item.getMetaObject().getMetaPrimitive(member).getType() != PrimitiveType.String) - throw new IllegalArgumentException("The member '" + member + "' is not a string attribute!"); - - item.setValue(context, member, StringUtils.encryptString(key, (String) item.getValue(context, member))); - return true; - } - return false; - } - - public static void commitSilent(IContext c, IMendixObject mendixObject) - { - try - { - Core.commit(c, mendixObject); - } - catch (CoreException e) - { - throw new RuntimeException(e); - } - } - - public static void copyAttributes(IContext context, IMendixObject source, IMendixObject target) - { - if (source == null) - throw new IllegalStateException("source is null"); - if (target == null) - throw new IllegalStateException("target is null"); - - for(IMetaPrimitive e : target.getMetaObject().getMetaPrimitives()) { - if (!source.hasMember(e.getName())) - continue; - if (e.isVirtual() || e.getType() == PrimitiveType.AutoNumber) - continue; - - target.setValue(context, e.getName(), source.getValue(context, e.getName())); - } - } -} diff --git a/test/javasource/communitycommons/StringUtils.java b/test/javasource/communitycommons/StringUtils.java deleted file mode 100644 index 0d3d7c3..0000000 --- a/test/javasource/communitycommons/StringUtils.java +++ /dev/null @@ -1,380 +0,0 @@ -package communitycommons; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.StringReader; -import java.security.DigestException; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import java.util.UUID; -import java.util.regex.MatchResult; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import javax.crypto.Cipher; -import javax.crypto.Mac; -import javax.crypto.spec.IvParameterSpec; -import javax.crypto.spec.SecretKeySpec; -import javax.swing.text.MutableAttributeSet; -import javax.swing.text.html.HTML; -import javax.swing.text.html.HTMLEditorKit; -import javax.swing.text.html.parser.ParserDelegator; - -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang3.RandomStringUtils; -import org.apache.commons.lang3.StringEscapeUtils; -import org.apache.commons.lang3.math.NumberUtils; -import org.owasp.validator.html.AntiSamy; -import org.owasp.validator.html.CleanResults; -import org.owasp.validator.html.Policy; - -import system.proxies.FileDocument; - -import com.google.common.base.Function; -import com.mendix.core.Core; -import com.mendix.systemwideinterfaces.MendixRuntimeException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -import communitycommons.proxies.XSSPolicy; - -public class StringUtils -{ - - public static final String HASH_ALGORITHM = "SHA-256"; - - public static String hash(String value, int length) throws NoSuchAlgorithmException, DigestException - { - return String.valueOf(MessageDigest.getInstance(HASH_ALGORITHM).digest(value.getBytes(), 0, length)); - } - - public static String regexReplaceAll(String haystack, String needleRegex, - String replacement) - { - Pattern pattern = Pattern.compile(needleRegex); - Matcher matcher = pattern.matcher(haystack); - return matcher.replaceAll(replacement); - } - - public static boolean regexTest(String value, String regex) - { - return Pattern.matches(regex, value); - } - - public static String leftPad(String value, Long amount, String fillCharacter) - { - if (fillCharacter == null || fillCharacter.length() == 0) { - return org.apache.commons.lang3.StringUtils.leftPad(value, amount.intValue(), " "); - } - return org.apache.commons.lang3.StringUtils.leftPad(value, amount.intValue(), fillCharacter); - } - - public static String rightPad(String value, Long amount, String fillCharacter) - { - if (fillCharacter == null || fillCharacter.length() == 0) { - return org.apache.commons.lang3.StringUtils.rightPad(value, amount.intValue(), " "); - } - return org.apache.commons.lang3.StringUtils.rightPad(value, amount.intValue(), fillCharacter); - } - - public static String randomString(int length) - { - return org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric(length); - } - - public static String substituteTemplate(final IContext context, String template, - final IMendixObject substitute, final boolean HTMLEncode, final String datetimeformat) { - return regexReplaceAll(template, "\\{(@)?([\\w./]+)\\}", new Function() { - - @Override - public String apply(MatchResult match) - { - String value; - String path = match.group(2); - if (match.group(1) != null) - value = String.valueOf(Core.getConfiguration().getConstantValue(path)); - else { - try - { - value = ORM.getValueOfPath(context, substitute, path, datetimeformat); - } - catch (Exception e) - { - throw new RuntimeException(e); - } - } - return HTMLEncode ? HTMLEncode(value) : value; - } - - }); - } - - public static String regexReplaceAll(String source, String regexString, Function replaceFunction) { - if (source == null || source.trim().isEmpty()) // avoid NPE's, save CPU - return ""; - - StringBuffer resultString = new StringBuffer(); - Pattern regex = Pattern.compile(regexString); - Matcher regexMatcher = regex.matcher(source); - - while (regexMatcher.find()) { - MatchResult match = regexMatcher.toMatchResult(); - String value = replaceFunction.apply(match); - regexMatcher.appendReplacement(resultString, Matcher.quoteReplacement(value)); - } - regexMatcher.appendTail(resultString); - - return resultString.toString(); - } - - public static String HTMLEncode(String value) - { - return StringEscapeUtils.escapeHtml4(value); - } - - public static String randomHash() - { - return UUID.randomUUID().toString(); - } - - public static String base64Decode(String encoded) - { - if (encoded == null) - return null; - return new String(Base64.decodeBase64(encoded.getBytes())); - } - - public static void base64DecodeToFile(IContext context, String encoded, FileDocument targetFile) throws Exception - { - if (targetFile == null) - throw new IllegalArgumentException("Source file is null"); - if (encoded == null) - throw new IllegalArgumentException("Source data is null"); - - byte [] decoded = Base64.decodeBase64(encoded.getBytes()); - Core.storeFileDocumentContent(context, targetFile.getMendixObject(), new ByteArrayInputStream(decoded)); - } - - public static String base64Encode(String value) - { - if (value == null) - return null; - return new String(Base64.encodeBase64(value.getBytes())); - } - - public static String base64EncodeFile(IContext context, FileDocument file) throws IOException - { - if (file == null) - throw new IllegalArgumentException("Source file is null"); - if (!file.getHasContents()) - throw new IllegalArgumentException("Source file has no contents!"); - InputStream f = Core.getFileDocumentContent(context, file.getMendixObject()); - return new String(Base64.encodeBase64(IOUtils.toByteArray(f))); - } - - public static String stringFromFile(IContext context, FileDocument source) throws IOException - { - if (source == null) - return null; - InputStream f = Core.getFileDocumentContent(context, source.getMendixObject()); - return org.apache.commons.io.IOUtils.toString(f); - } - - public static void stringToFile(IContext context, String value, FileDocument destination) - { - if (destination == null) - throw new IllegalArgumentException("Destination file is null"); - if (value == null) - throw new IllegalArgumentException("Value to write is null"); - Core.storeFileDocumentContent(context, destination.getMendixObject(), IOUtils.toInputStream(value)); - } - - public static String HTMLToPlainText(String html) throws IOException - { - if (html == null) - return ""; - final StringBuffer result = new StringBuffer(); - - HTMLEditorKit.ParserCallback callback = - new HTMLEditorKit.ParserCallback () { - @Override - public void handleText(char[] data, int pos) { - result.append(data); //TODO: needds to be html entity decode? - } - - @Override - public void handleComment(char[] data, int pos) { - //Do nothing - } - - @Override - public void handleError(String errorMsg, int pos) { - //Do nothing - } - - @Override - public void handleSimpleTag(HTML.Tag tag, MutableAttributeSet a, int pos) { - if (tag == HTML.Tag.BR) - result.append("\r\n"); - } - - @Override - public void handleEndTag(HTML.Tag tag, int pos){ - if (tag == HTML.Tag.P) - result.append("\r\n"); - } - }; - - new ParserDelegator().parse(new StringReader(html), callback, true); - - return result.toString(); - } - - public static String XSSSanitize(String html, XSSPolicy policy) - throws Exception { - if (html == null) - return ""; - // return HtmlSanitizer.sanitize(html); - String policyString = policy == null ? "tinymce" : policy.toString() - .toLowerCase(); - return XSSSanitize(html, policyString); - } - - public static String XSSSanitize(String html, String policyString) - throws Exception { - if (html == null) - return ""; - if (policyString == null) - throw new Exception("Unable to perform XSS sanitization: policyString is null"); - - String filename = Core.getConfiguration().getResourcesPath() + File.separator - + "communitycommons" + File.separator + "antisamy" - + File.separator + "antisamy-" + policyString + "-1.4.4.xml"; - - AntiSamy as = new AntiSamy(); // Create AntiSamy object - Policy p = Policy.getInstance(filename); - try { - CleanResults cr = as.scan(html, p, AntiSamy.SAX); - return cr.getCleanHTML(); - } catch (Exception e) { - throw new Exception("Unable to perform XSS sanitization: " - + e.getMessage(), e); - } - } - - private static final String ALPHA_CAPS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - private static final String ALPHA = "abcdefghijklmnopqrstuvwxyz"; - private static final String NUM = "0123456789"; - private static final String SPL_CHARS = "!@#$%^&*_=+-/"; - /** - * Returns a random strong password containing at least one number, lowercase character, uppercase character and strange character - * @param length - * @return - */ - public static String randomStrongPassword(int minLen, int maxLen, int noOfCAPSAlpha, - int noOfDigits, int noOfSplChars) { - if(minLen > maxLen) - throw new IllegalArgumentException("Min. Length > Max. Length!"); - if( (noOfCAPSAlpha + noOfDigits + noOfSplChars) > minLen ) - throw new IllegalArgumentException - ("Min. Length should be atleast sum of (CAPS, DIGITS, SPL CHARS) Length!"); - Random rnd = new Random(); - int len = rnd.nextInt(maxLen - minLen + 1) + minLen; - char[] pswd = new char[len]; - int index = 0; - for (int i = 0; i < noOfCAPSAlpha; i++) { - index = getNextIndex(rnd, len, pswd); - pswd[index] = ALPHA_CAPS.charAt(rnd.nextInt(ALPHA_CAPS.length())); - } - for (int i = 0; i < noOfDigits; i++) { - index = getNextIndex(rnd, len, pswd); - pswd[index] = NUM.charAt(rnd.nextInt(NUM.length())); - } - for (int i = 0; i < noOfSplChars; i++) { - index = getNextIndex(rnd, len, pswd); - pswd[index] = SPL_CHARS.charAt(rnd.nextInt(SPL_CHARS.length())); - } - for(int i = 0; i < len; i++) { - if(pswd[i] == 0) { - pswd[i] = ALPHA.charAt(rnd.nextInt(ALPHA.length())); - } - } - return String.valueOf(pswd); - } - private static int getNextIndex(Random rnd, int len, char[] pswd) { - int index = rnd.nextInt(len); - while(pswd[index = rnd.nextInt(len)] != 0); - return index; - } - - public static String encryptString(String key, String valueToEncrypt) throws Exception - { - if (valueToEncrypt == null) - return null; - if (key == null) - throw new MendixRuntimeException("Key should not be empty"); - if (key.length() != 16) - throw new MendixRuntimeException("Key length should be 16"); - Cipher c = Cipher.getInstance("AES/CBC/PKCS5PADDING"); - SecretKeySpec k = new SecretKeySpec(key.getBytes(), "AES"); - c.init(Cipher.ENCRYPT_MODE, k); - byte[] encryptedData = c.doFinal(valueToEncrypt.getBytes()); - byte[] iv = c.getIV(); - - return new String(Base64.encodeBase64(iv)) + ";" + new String(Base64.encodeBase64(encryptedData)); - } - - public static String decryptString(String key, String valueToDecrypt) throws Exception - { - if (valueToDecrypt == null) - return null; - if (key == null) - throw new MendixRuntimeException("Key should not be empty"); - if (key.length() != 16) - throw new MendixRuntimeException("Key length should be 16"); - Cipher c = Cipher.getInstance("AES/CBC/PKCS5PADDING"); - SecretKeySpec k = new SecretKeySpec(key.getBytes(), "AES"); - String[] s = valueToDecrypt.split(";"); - if (s.length < 2) //Not an encrypted string, just return the original value. - return valueToDecrypt; - byte[] iv = Base64.decodeBase64(s[0].getBytes()); - byte[] encryptedData = Base64.decodeBase64(s[1].getBytes()); - c.init(Cipher.DECRYPT_MODE, k, new IvParameterSpec(iv)); - return new String(c.doFinal(encryptedData)); - } - - public static String generateHmacSha256Hash(String key, String valueToEncrypt) - { - try { - SecretKeySpec secretKey = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256"); - Mac mac = Mac.getInstance("HmacSHA256"); - mac.init(secretKey); - mac.update(valueToEncrypt.getBytes("UTF-8")); - byte[] hmacData = mac.doFinal(); - - return new String(Base64.encodeBase64(hmacData)); - } - catch (Exception e) { - throw new RuntimeException("CommunityCommons::EncodeHmacSha256::Unable to encode: " + e.getMessage(), e); - } - } - - public static String escapeHTML(String input) { - return input.replace("\"", """) - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("'", "'");// notice this one: for xml "'" would be "'" (http://blogs.msdn.com/b/kirillosenkov/archive/2010/03/19/apos-is-in-xml-in-html-use-39.aspx) - // OWASP also advises to escape "/" but give no convincing reason why: https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet - } - - public static String regexQuote(String unquotedLiteral) { - return Pattern.quote(unquotedLiteral); - } -} diff --git a/test/javasource/communitycommons/UserThrownException.java b/test/javasource/communitycommons/UserThrownException.java deleted file mode 100644 index f15069f..0000000 --- a/test/javasource/communitycommons/UserThrownException.java +++ /dev/null @@ -1,15 +0,0 @@ -package communitycommons; - -public class UserThrownException extends Exception -{ - /** - * - */ - private static final long serialVersionUID = -55911261625752858L; - - public UserThrownException(String arg0) - { - super(arg0); - } - -} diff --git a/test/javasource/communitycommons/XPath.java b/test/javasource/communitycommons/XPath.java deleted file mode 100644 index ba57659..0000000 --- a/test/javasource/communitycommons/XPath.java +++ /dev/null @@ -1,822 +0,0 @@ -package communitycommons; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.text.NumberFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; - -import org.apache.commons.lang3.StringEscapeUtils; -import org.apache.commons.lang3.StringUtils; - -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -public class XPath -{ - /** Build in tokens, see: https://world.mendix.com/display/refguide3/XPath+Keywords+and+System+Variables - * - */ - - public static final String CurrentUser = "[%CurrentUser%]"; - public static final String CurrentObject = "[%CurrentObject%]"; - - public static final String CurrentDateTime = "[%CurrentDateTime%]"; - public static final String BeginOfCurrentDay = "[%BeginOfCurrentDay%]"; - public static final String EndOfCurrentDay = "[%EndOfCurrentDay%]"; - public static final String BeginOfCurrentHour = "[%BeginOfCurrentHour%]"; - public static final String EndOfCurrentHour = "[%EndOfCurrentHour%]"; - public static final String BeginOfCurrentMinute = "[%BeginOfCurrentMinute%]"; - public static final String EndOfCurrentMinute = "[%EndOfCurrentMinute%]"; - public static final String BeginOfCurrentMonth = "[%BeginOfCurrentMonth%]"; - public static final String EndOfCurrentMonth = "[%EndOfCurrentMonth%]"; - public static final String BeginOfCurrentWeek = "[%BeginOfCurrentWeek%]"; - public static final String EndOfCurrentWeek = "[%EndOfCurrentWeek%]"; - - public static final String DayLength = "[%DayLength%]"; - public static final String HourLength = "[%HourLength%]"; - public static final String MinuteLength = "[%MinuteLength%]"; - public static final String SecondLength = "[%SecondLength%]"; - public static final String WeekLength = "[%WeekLength%]"; - public static final String YearLength = "[%YearLength%]"; - public static final String ID = "id"; - - /** End builtin tokens */ - - private String entity; - private int offset = 0; - private int limit = -1; - private LinkedHashMap sorting = new LinkedHashMap(); //important, linked map! - private LinkedList closeStack = new LinkedList(); - private StringBuffer builder = new StringBuffer(); - private IContext context; - private Class proxyClass; - private boolean requiresBinOp = false; //state property, indicates whether and 'and' needs to be inserted before the next constraint - - public static XPath create(IContext c, String entityType) { - XPath res = new XPath(c, IMendixObject.class); - - res.entity = entityType; - - return res; - } - - public static XPath create(IContext c, Class proxyClass) { - return new XPath(c, proxyClass); - } - - private XPath(IContext c, Class proxyClass) { - try - { - if (proxyClass != IMendixObject.class) - this.entity = (String) proxyClass.getMethod("getType").invoke(null); - } - catch (Exception e) - { - throw new IllegalArgumentException("Failed to determine entity type of proxy class. Did you provide a valid proxy class? '" + proxyClass.getName() + "'"); - } - - this.proxyClass = proxyClass; - this.context = c; - } - - private XPath autoInsertAnd() { - if (requiresBinOp) - and(); - return this; - } - - private XPath requireBinOp(boolean requires) { - requiresBinOp = requires; - return this; - } - - public XPath offset(int offset2) { - if (offset2 < 0) - throw new IllegalArgumentException("Offset should not be negative"); - this.offset = offset2; - return this; - } - - public XPath limit(int limit2) { - if (limit2 < -1 || limit2 == 0) - throw new IllegalArgumentException("Limit should be larger than zero or -1. "); - - this.limit = limit2; - return this; - } - - public XPath addSortingAsc(Object... sortparts) { - assertOdd(sortparts); - sorting.put(StringUtils.join(sortparts, '/'), "asc"); - return this; - } - - public XPath addSortingDesc(Object... sortparts) { - sorting.put(StringUtils.join(sortparts, "/"), "desc"); - return this; - } - - public XPath eq(Object attr, Object valuecomparison) { - return compare(attr, "=", valuecomparison); - } - - public XPath eq(Object... pathAndValue) { - assertEven(pathAndValue); - return compare(Arrays.copyOfRange(pathAndValue, 0, pathAndValue.length -1), "=", pathAndValue[pathAndValue.length -1 ]); - } - - public XPath equalsIgnoreCase(Object attr, String value) { - //(contains(Name, $email) and length(Name) = length($email) - return - subconstraint() - .contains(attr, value) - .and() - .append(" length(" + attr + ") = ").append(value == null ? "0" : valueToXPathValue(value.length())) - .close(); - } - - public XPath notEq(Object attr, Object valuecomparison) { - return compare(attr, "!=", valuecomparison); - } - - public XPath notEq(Object... pathAndValue) { - assertEven(pathAndValue); - return compare(Arrays.copyOfRange(pathAndValue, 0, pathAndValue.length -1), "!=", pathAndValue[pathAndValue.length -1 ]); - } - - public XPath contains(Object attr, String value) - { - autoInsertAnd().append(" contains(").append(String.valueOf(attr)).append(",").append(valueToXPathValue(value)).append(") "); - return this.requireBinOp(true); - } - - public XPath compare(Object attr, String operator, Object value) { - return compare(new Object[] {attr}, operator, value); - } - - public XPath compare(Object[] path, String operator, Object value) { - assertOdd(path); - autoInsertAnd().append(StringUtils.join(path, '/')).append(" ").append(operator).append(" ").append(valueToXPathValue(value)); - return this.requireBinOp(true); - } - - public XPath hasReference(Object... path) - { - assertEven(path); //Reference + entity type - autoInsertAnd().append(StringUtils.join(path, '/')); - return this.requireBinOp(true); - } - - public XPath subconstraint(Object... path) { - assertEven(path); - autoInsertAnd().append(StringUtils.join(path, '/')).append("["); - closeStack.push("]"); - return this.requireBinOp(false); - } - - public XPath subconstraint() { - autoInsertAnd().append("("); - closeStack.push(")"); - return this.requireBinOp(false); - } - - public XPath addConstraint() - { - if (!closeStack.isEmpty() && !closeStack.peek().equals("]")) - throw new IllegalStateException("Cannot add a constraint while in the middle of something else.."); - - return append("][").requireBinOp(false); - } - - public XPath close() { - if (closeStack.isEmpty()) - throw new IllegalStateException("XPathbuilder close stack is empty!"); - append(closeStack.pop()); - return requireBinOp(true); - //MWE: note that a close does not necessary require a binary operator, for example with two subsequent block([bla][boe]) constraints, - //but openening a binary constraint reset the flag, so that should be no issue - } - - public XPath or() { - if (!requiresBinOp) - throw new IllegalStateException("Received 'or' but no binary operator was expected"); - return append(" or ").requireBinOp(false); - } - - public XPath and() { - if (!requiresBinOp) - throw new IllegalStateException("Received 'and' but no binary operator was expected"); - return append(" and ").requireBinOp(false); - } - - public XPath not() { - autoInsertAnd(); - closeStack.push(")"); - return append(" not(").requireBinOp(false); - } - - private void assertOdd(Object[] stuff) { - if (stuff == null || stuff.length == 0 || stuff.length % 2 == 0) - throw new IllegalArgumentException("Expected an odd number of xpath path parts"); - } - - private void assertEven(Object[] stuff) { - if (stuff == null || stuff.length == 0 || stuff.length % 2 == 1) - throw new IllegalArgumentException("Expected an even number of xpath path parts"); - } - - public XPath append(String s) { - builder.append(s); - return this; - } - - public String getXPath() { - - if (builder.length() > 0) - return "//" + this.entity + "[" + builder.toString() + "]"; - return "//" + this.entity; - } - - private void assertEmptyStack() throws IllegalStateException - { - if (!closeStack.isEmpty()) - throw new IllegalStateException("Invalid xpath expression, not all items where closed"); - } - - public long count( ) throws CoreException { - assertEmptyStack(); - - return Core.retrieveXPathQueryAggregate(context, "count(" + getXPath() +")"); - } - - - public IMendixObject firstMendixObject() throws CoreException { - assertEmptyStack(); - - List result = Core.retrieveXPathQuery(context, getXPath(), 1, offset, sorting); - if (result.isEmpty()) - return null; - return result.get(0); - } - - public T first() throws CoreException { - return createProxy(context, proxyClass, firstMendixObject()); - } - - - /** - * Given a set of attribute names and values, tries to find the first object that matches all conditions, or creates one - * - * @param autoCommit: whether the object should be committed once created (default: true) - * @param keysAndValues - * @return - * @throws CoreException - */ - public T findOrCreateNoCommit(Object... keysAndValues) throws CoreException - { - T res = findFirst(keysAndValues); - - return res != null ? res : constructInstance(false, keysAndValues); - } - - - public T findOrCreate(Object... keysAndValues) throws CoreException { - T res = findFirst(keysAndValues); - - return res != null ? res : constructInstance(true, keysAndValues); - - } - - public T findOrCreateSynchronized(Object... keysAndValues) throws CoreException, InterruptedException { - T res = findFirst(keysAndValues); - - if (res != null) { - return res; - } else { - synchronized (Core.getMetaObject(entity)) { - IContext synchronizedContext = context.getSession().createContext().getSudoContext(); - try { - synchronizedContext.startTransaction(); - res = createProxy(synchronizedContext, proxyClass, XPath.create(synchronizedContext, entity).findOrCreate(keysAndValues)); - synchronizedContext.endTransaction(); - return res; - } catch (CoreException e) { - if (synchronizedContext.isInTransaction()) { - synchronizedContext.rollbackTransAction(); - } - throw e; - } - } - } - } - - public T findFirst(Object... keysAndValues) - throws IllegalStateException, CoreException - { - if (builder.length() > 0) - throw new IllegalStateException("FindFirst can only be used on XPath which do not have constraints already"); - - assertEven(keysAndValues); - for(int i = 0; i < keysAndValues.length; i+= 2) - eq(keysAndValues[i], keysAndValues[i + 1]); - - T res = this.first(); - return res; - } - - - /** - * Creates one instance of the type of this XPath query, and initializes the provided attributes to the provided values. - * @param keysAndValues AttributeName, AttributeValue, AttributeName2, AttributeValue2... list. - * @return - * @throws CoreException - */ - public T constructInstance(boolean autoCommit, Object... keysAndValues) throws CoreException - { - assertEven(keysAndValues); - IMendixObject newObj = Core.instantiate(context, this.entity); - - for(int i = 0; i < keysAndValues.length; i+= 2) - newObj.setValue(context, String.valueOf(keysAndValues[i]), toMemberValue(keysAndValues[i + 1])); - - if (autoCommit) - Core.commit(context, newObj); - - return createProxy(context, proxyClass, newObj); - } - - /** - * Given a current collection of primitive values, checks if for each value in the collection an object in the database exists. - * It creates a new object if needed, and removes any superfluos objects in the database that are no longer in the collection. - * - * @param currentCollection The collection that act as reference for the objects that should be in this database in the end. - * @param comparisonAttribute The attribute that should store the value as decribed in the collection - * @param autoDelete Automatically remove any superfluous objects form the database - * @param keysAndValues Constraints that should hold for the set of objects that are deleted or created. Objects outside this constraint are not processed. - * - * @return A pair of lists. The first list contains the newly created objects, the second list contains the objects that (should be or are) removed. - * @throws CoreException - */ - public ImmutablePair, List> syncDatabaseWithCollection(Collection currentCollection, Object comparisonAttribute, boolean autoDelete, Object... keysAndValues) throws CoreException { - if (builder.length() > 0) - throw new IllegalStateException("syncDatabaseWithCollection can only be used on XPath which do not have constraints already"); - - - List added = new ArrayList(); - List removed = new ArrayList(); - - Set col = new HashSet(currentCollection); - - for(int i = 0; i < keysAndValues.length; i+= 2) - eq(keysAndValues[i], keysAndValues[i + 1]); - - for(IMendixObject existingItem : this.allMendixObjects()) { - //Item is still available - if (col.remove(existingItem.getValue(context, String.valueOf(comparisonAttribute)))) - continue; - - //No longer available - removed.add(createProxy(context, this.proxyClass, existingItem)); - if (autoDelete) - Core.delete(context, existingItem); - } - - //Some items where not found in the database - for(U value : col) { - - //In apache lang3, this would just be: ArrayUtils.addAll(keysAndValues, comparisonAttribute, value) - Object[] args = new Object[keysAndValues.length + 2]; - for(int i = 0; i < keysAndValues.length; i++) - args[i] = keysAndValues[i]; - args[keysAndValues.length] = comparisonAttribute; - args[keysAndValues.length + 1] = value; - - T newItem = constructInstance(true, args); - added.add(newItem); - } - - //Oké, stupid, Pair is also only available in apache lang3, so lets use a simple pair implementation for now - return ImmutablePair.of(added, removed); - } - - public T firstOrWait(long timeoutMSecs) throws CoreException, InterruptedException - { - IMendixObject result = null; - - long start = System.currentTimeMillis(); - int sleepamount = 200; - int loopcount = 0; - - while (result == null) { - loopcount += 1; - result = firstMendixObject(); - - long now = System.currentTimeMillis(); - - if (start + timeoutMSecs < now) //Time expired - break; - - if (loopcount % 5 == 0) - sleepamount *= 1.5; - - //not expired, wait a bit - if (result == null) - Thread.sleep(sleepamount); - } - - return createProxy(context, proxyClass, result); - } - - - public List allMendixObjects() throws CoreException { - assertEmptyStack(); - - return Core.retrieveXPathQuery(context, getXPath(), limit, offset, sorting); - } - - public List all() throws CoreException { - List res = new ArrayList(); - for(IMendixObject o : allMendixObjects()) - res.add(createProxy(context, proxyClass, o)); - - return res; - } - - @Override - public String toString() { - return getXPath(); - } - - - /** - * - * - * Static utility functions - * - * - */ - - //cache for proxy constructors. Reflection is slow, so reuse as much as possible - private static Map initializers = new HashMap(); - - public static List createProxyList(IContext c, Class proxieClass, List objects) { - List res = new ArrayList(); - if (objects == null || objects.size() == 0) - return res; - - for(IMendixObject o : objects) - res.add(createProxy(c, proxieClass, o)); - - return res; - } - - public static T createProxy(IContext c, Class proxieClass, IMendixObject object) { - //Borrowed from nl.mweststrate.pages.MxQ package - - if (object == null) - return null; - - if (c == null || proxieClass == null) - throw new IllegalArgumentException("[CreateProxy] No context or proxieClass provided. "); - - //jeuj, we expect IMendixObject's. Thats nice.. - if (proxieClass == IMendixObject.class) - return proxieClass.cast(object); //.. since we can do a direct cast - - try { - String entityType = object.getType(); - - if (!initializers.containsKey(entityType)) { - - String[] entType = object.getType().split("\\."); - Class realClass = Class.forName(entType[0].toLowerCase()+".proxies."+entType[1]); - - initializers.put(entityType, realClass.getMethod("initialize", IContext.class, IMendixObject.class)); - } - - //find constructor - Method m = initializers.get(entityType); - - //create proxy object - Object result = m.invoke(null, c, object); - - //cast, but check first is needed because the actual type might be a subclass of the requested type - if (!proxieClass.isAssignableFrom(result.getClass())) - throw new IllegalArgumentException("The type of the object ('" + object.getType() + "') is not (a subclass) of '" + proxieClass.getName()+"'"); - - T proxie = proxieClass.cast(result); - return proxie; - } - catch (Exception e) { - throw new RuntimeException("Unable to instantiate proxie: " + e.getMessage(), e); - } - } - - public static String valueToXPathValue(Object value) - { - if (value == null) - return "NULL"; - - //Complex objects - if (value instanceof IMendixIdentifier) - return "'" + String.valueOf(((IMendixIdentifier) value).toLong()) + "'"; - if (value instanceof IMendixObject) - return valueToXPathValue(((IMendixObject)value).getId()); - if (value instanceof List) - throw new IllegalArgumentException("List based values are not supported!"); - - //Primitives - if (value instanceof Date) - return String.valueOf(((Date) value).getTime()); - if (value instanceof Long || value instanceof Integer) - return String.valueOf(value); - if (value instanceof Double || value instanceof Float) { - //make sure xpath understands our number formatting - NumberFormat format = NumberFormat.getNumberInstance(Locale.ENGLISH); - format.setMaximumFractionDigits(10); - format.setGroupingUsed(false); - return format.format(value); - } - if (value instanceof Boolean) { - return value.toString() + "()"; //xpath boolean, you know.. - } - if (value instanceof String) { - return "'" + StringEscapeUtils.escapeXml(String.valueOf(value)) + "'"; - } - - //Object, assume its a proxy and deproxiefy - try - { - IMendixObject mo = proxyToMendixObject(value); - return valueToXPathValue(mo); - } - catch (NoSuchMethodException e) - { - //This is O.K. just not a proxy object... - } - catch (Exception e) { - throw new RuntimeException("Failed to retrieve MendixObject from proxy: " + e.getMessage(), e); - } - - //assume some string representation - return "'" + StringEscapeUtils.escapeXml(String.valueOf(value)) + "'"; - } - - public static IMendixObject proxyToMendixObject(Object value) - throws NoSuchMethodException, SecurityException, IllegalAccessException, - IllegalArgumentException, InvocationTargetException - { - Method m = value.getClass().getMethod("getMendixObject"); - IMendixObject mo = (IMendixObject) m.invoke(value); - return mo; - } - - public static List proxyListToMendixObjectList( - List objects) throws SecurityException, IllegalArgumentException, NoSuchMethodException, IllegalAccessException, InvocationTargetException - { - ArrayList res = new ArrayList(objects.size()); - for(T i : objects) - res.add(proxyToMendixObject(i)); - return res; - } - - public static Object toMemberValue(Object value) - { - if (value == null) - return null; - - //Complex objects - if (value instanceof IMendixIdentifier) - return value; - if (value instanceof IMendixObject) - return ((IMendixObject)value).getId(); - - if (value instanceof List) - throw new IllegalArgumentException("List based values are not supported!"); - - //Primitives - if ( value instanceof Date - || value instanceof Long - || value instanceof Integer - || value instanceof Double - || value instanceof Float - || value instanceof Boolean - || value instanceof String) { - return value; - } - - if (value.getClass().isEnum()) - return value.toString(); - - //Object, assume its a proxy and deproxiefy - try - { - Method m = value.getClass().getMethod("getMendixObject"); - IMendixObject mo = (IMendixObject) m.invoke(value); - return toMemberValue(mo); - } - catch (NoSuchMethodException e) - { - //This is O.K. just not a proxy object... - } - catch (Exception e) { - throw new RuntimeException("Failed to convert object to IMendixMember compatible value '" + value + "': " + e.getMessage(), e); - } - - throw new RuntimeException("Failed to convert object to IMendixMember compatible value: " + value); - } - - public static interface IBatchProcessor { - public void onItem(T item, long offset, long total) throws Exception; - } - - private static final class ParallelJobRunner implements Callable - { - private final XPath self; - private final IBatchProcessor batchProcessor; - private final IMendixObject item; - private long index; - private long count; - - ParallelJobRunner(XPath self, IBatchProcessor batchProcessor, IMendixObject item, long index, long count) - { - this.self = self; - this.batchProcessor = batchProcessor; - this.item = item; - this.index = index; - this.count = count; - } - - @Override - public Boolean call() - { - try - { - batchProcessor.onItem(XPath.createProxy(Core.createSystemContext(), self.proxyClass, item), index, count); //mwe: hmm, many contexts.. - return true; - } - catch (Exception e) - { - throw new RuntimeException(String.format("Failed to execute batch on '%s' offset %d: %s", self.toString(), self.offset, e.getMessage()), e); - } - } - } - - - /** - * Retreives all items in this xpath query in batches of a limited size. - * Not that this function does not start a new transaction for all the batches, - * rather, it just limits the number of objects being retrieved and kept in memory at the same time. - * - * So it only batches the retrieve process, not the optional manipulations done in the onItem method. - * @param batchsize - * @param batchProcessor - * @throws CoreException - */ - public void batch(int batchsize, IBatchProcessor batchProcessor) throws CoreException - { - if (this.sorting.isEmpty()) - this.addSortingAsc(XPath.ID); - - long count = this.count(); - - int baseoffset = this.offset; - int baselimit = this.limit; - - boolean useBaseLimit = baselimit > -1; - - this.offset(baseoffset); - List data; - - long i = 0; - - do { - int newlimit = useBaseLimit ? Math.min(batchsize, baseoffset + baselimit - this.offset) : batchsize; - if (newlimit == 0) - break; //where done, no more data is needed - - this.limit(newlimit); - data = this.all(); - - for(T item : data) { - i += 1; - try - { - batchProcessor.onItem(item, i, Math.max(i, count)); - } - catch (Exception e) - { - throw new RuntimeException(String.format("Failed to execute batch on '%s' offset %d: %s", this.toString(), this.offset, e.getMessage()), e); - } - } - - this.offset(this.offset + data.size()); - } while(data.size() > 0); - } - - /** - * Batch with parallelization. - * - * IMPORTANT NOTE: DO NOT USE THE CONTEXT OF THE XPATH OBJECT ITSELF INSIDE THE BATCH PROCESSOR! - * - * Instead, use: Item.getContext(); !! - * - * - * @param batchsize - * @param threads - * @param batchProcessor - * @throws CoreException - * @throws InterruptedException - * @throws ExecutionException - */ - public void batch(int batchsize, int threads, final IBatchProcessor batchProcessor) - throws CoreException, InterruptedException, ExecutionException - { - if (this.sorting.isEmpty()) - this.addSortingAsc(XPath.ID); - - ExecutorService pool = Executors.newFixedThreadPool(threads); - - final long count = this.count(); - - final XPath self = this; - - int progress = 0; - List> futures = new ArrayList>(batchsize); //no need to synchronize - - this.offset(0); - this.limit(batchsize); - - List data = this.allMendixObjects(); - - while (data.size() > 0) - { - - for (final IMendixObject item : data) - { - futures.add(pool.submit(new ParallelJobRunner(self, batchProcessor, item, progress, count))); - progress += 1; - } - - while (!futures.isEmpty()) - futures.remove(0).get(); //wait for all futures before proceeding to next iteration - - this.offset(this.offset + data.size()); - data = this.allMendixObjects(); - } - - if (pool.shutdownNow().size() > 0) - throw new IllegalStateException("Not all tasks where finished!"); - - } - - public static Class getProxyClassForEntityName(String entityname) - { - { - String [] parts = entityname.split("\\."); - try - { - return Class.forName(parts[0].toLowerCase() + ".proxies." + parts[1]); - } - catch (ClassNotFoundException e) - { - throw new RuntimeException("Cannot find class for entity: " + entityname + ": " + e.getMessage(), e); - } - } - } - - public boolean deleteAll() throws CoreException - { - this.limit(1000); - List objs = allMendixObjects(); - while (!objs.isEmpty()) { - if (!Core.delete(context, objs.toArray(new IMendixObject[objs.size()]))) - return false; //TODO: throw? - - objs = allMendixObjects(); - } - return true; - } - - - -} diff --git a/test/javasource/communitycommons/actions/Base64Decode.java b/test/javasource/communitycommons/actions/Base64Decode.java deleted file mode 100644 index a582e01..0000000 --- a/test/javasource/communitycommons/actions/Base64Decode.java +++ /dev/null @@ -1,48 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Converts a base64 encoded string to the plain, original string - */ -public class Base64Decode extends CustomJavaAction -{ - private String encoded; - - public Base64Decode(IContext context, String encoded) - { - super(context); - this.encoded = encoded; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.base64Decode(encoded); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "Base64Decode"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/Base64DecodeToFile.java b/test/javasource/communitycommons/actions/Base64DecodeToFile.java deleted file mode 100644 index e7b6ce5..0000000 --- a/test/javasource/communitycommons/actions/Base64DecodeToFile.java +++ /dev/null @@ -1,57 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Stores an base 64 encoded string plain in the provided target file document - * - * Note that targetFile will be committed. - */ -public class Base64DecodeToFile extends CustomJavaAction -{ - private String encoded; - private IMendixObject __targetFile; - private system.proxies.FileDocument targetFile; - - public Base64DecodeToFile(IContext context, String encoded, IMendixObject targetFile) - { - super(context); - this.encoded = encoded; - this.__targetFile = targetFile; - } - - @Override - public Boolean executeAction() throws Exception - { - this.targetFile = __targetFile == null ? null : system.proxies.FileDocument.initialize(getContext(), __targetFile); - - // BEGIN USER CODE - StringUtils.base64DecodeToFile(getContext(), encoded, targetFile); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "Base64DecodeToFile"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/Base64Encode.java b/test/javasource/communitycommons/actions/Base64Encode.java deleted file mode 100644 index cc7f4f1..0000000 --- a/test/javasource/communitycommons/actions/Base64Encode.java +++ /dev/null @@ -1,48 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Converts a plain string to a base64 encoded string - */ -public class Base64Encode extends CustomJavaAction -{ - private String value; - - public Base64Encode(IContext context, String value) - { - super(context); - this.value = value; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.base64Encode(value); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "Base64Encode"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/Base64EncodeFile.java b/test/javasource/communitycommons/actions/Base64EncodeFile.java deleted file mode 100644 index 7ceca79..0000000 --- a/test/javasource/communitycommons/actions/Base64EncodeFile.java +++ /dev/null @@ -1,52 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Converts an unencoded file to a base 64 encoded string. - */ -public class Base64EncodeFile extends CustomJavaAction -{ - private IMendixObject __file; - private system.proxies.FileDocument file; - - public Base64EncodeFile(IContext context, IMendixObject file) - { - super(context); - this.__file = file; - } - - @Override - public String executeAction() throws Exception - { - this.file = __file == null ? null : system.proxies.FileDocument.initialize(getContext(), __file); - - // BEGIN USER CODE - return StringUtils.base64EncodeFile(getContext(), file); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "Base64EncodeFile"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/Clone.java b/test/javasource/communitycommons/actions/Clone.java deleted file mode 100644 index c56fde5..0000000 --- a/test/javasource/communitycommons/actions/Clone.java +++ /dev/null @@ -1,59 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Clones objects - * - * - Source: the original object to copy - * - Target: the object to copy it into (should be of the same type, or a specialization) - * - includeAssociations: whether to clone associations. - * - * If associated objects need to be cloned as well, use deepClone, this function only copies the references, not the reffered objects. Target is not committed automatically. - */ -public class Clone extends CustomJavaAction -{ - private IMendixObject source; - private IMendixObject target; - private Boolean withAssociations; - - public Clone(IContext context, IMendixObject source, IMendixObject target, Boolean withAssociations) - { - super(context); - this.source = source; - this.target = target; - this.withAssociations = withAssociations; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return ORM.cloneObject(this.getContext(), source, target, withAssociations); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "Clone"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/DateTimeToLong.java b/test/javasource/communitycommons/actions/DateTimeToLong.java deleted file mode 100644 index ab26e4e..0000000 --- a/test/javasource/communitycommons/actions/DateTimeToLong.java +++ /dev/null @@ -1,48 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import communitycommons.DateTime; - -/** - * Converts a DateTime to a Unix timestamps. (Milliseconds since 1-1-1970) - */ -public class DateTimeToLong extends CustomJavaAction -{ - private java.util.Date dateObject; - - public DateTimeToLong(IContext context, java.util.Date dateObject) - { - super(context); - this.dateObject = dateObject; - } - - @Override - public Long executeAction() throws Exception - { - // BEGIN USER CODE - return DateTime.dateTimeToLong(dateObject); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "DateTimeToLong"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/DecryptString.java b/test/javasource/communitycommons/actions/DecryptString.java deleted file mode 100644 index 9bc1b92..0000000 --- a/test/javasource/communitycommons/actions/DecryptString.java +++ /dev/null @@ -1,51 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Applies AES encryption to the value string using a symmetric key. - * The keylength should exactly be 16 characters (128 bit). - */ -public class DecryptString extends CustomJavaAction -{ - private String valueToDecrypt; - private String key; - - public DecryptString(IContext context, String valueToDecrypt, String key) - { - super(context); - this.valueToDecrypt = valueToDecrypt; - this.key = key; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.decryptString(key, valueToDecrypt); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "DecryptString"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/DeepClone.java b/test/javasource/communitycommons/actions/DeepClone.java deleted file mode 100644 index 6084def..0000000 --- a/test/javasource/communitycommons/actions/DeepClone.java +++ /dev/null @@ -1,86 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Clones objects, their associations and even referred objects. - * - * - Source: the original object to copy - * - Target: the object to copy it into (should be of the same type, or a specialization) - * - MembersToSkip: members which should not be set at all - * - MembersToKeep: references which should be set, but not cloned. (so source and target will refer to exactly the same object). If an association is not part of this property, it will be cloned. - * - ReverseAssociations: 1 - 0 assications which refer to target, which will be cloned as well. Only the reference name itself needs to be mentioned. - * - excludeEntities: entities that will not be cloned. references to these entities will refer to the same object as the source did. - * - excludeModules: modules that will have none of their enities cloned. Behaves similar to excludeEntities. - * - * members format: or or , where objecttype is the concrete type of the object being cloned. - * - * reverseAssociation: - * - * - * membersToSkip by automatically contains createdDate and changedDate. - * membersToKeep by automatically contains System.owner and System.changedBy - * - * Note that DeepClone does commit all objects, where Clone does not. - */ -public class DeepClone extends CustomJavaAction -{ - private IMendixObject source; - private IMendixObject target; - private String membersToSkip; - private String membersToKeep; - private String reverseAssociations; - private String excludeEntities; - private String excludeModules; - - public DeepClone(IContext context, IMendixObject source, IMendixObject target, String membersToSkip, String membersToKeep, String reverseAssociations, String excludeEntities, String excludeModules) - { - super(context); - this.source = source; - this.target = target; - this.membersToSkip = membersToSkip; - this.membersToKeep = membersToKeep; - this.reverseAssociations = reverseAssociations; - this.excludeEntities = excludeEntities; - this.excludeModules = excludeModules; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - this.membersToSkip = this.membersToSkip == null ? "" : this.membersToSkip; - this.membersToKeep = this.membersToKeep == null ? "" : this.membersToKeep; - this.reverseAssociations = this.reverseAssociations == null ? "" : this.reverseAssociations; - this.excludeEntities = this.excludeEntities == null ? "" : this.excludeEntities; - this.excludeModules = this.excludeModules == null ? "" : this.excludeModules; - - ORM.deepClone(getContext(), source, target, membersToSkip, membersToKeep, reverseAssociations, excludeEntities, excludeModules); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "DeepClone"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/Delay.java b/test/javasource/communitycommons/actions/Delay.java deleted file mode 100644 index 8adf965..0000000 --- a/test/javasource/communitycommons/actions/Delay.java +++ /dev/null @@ -1,51 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Causes this request to sleep for a while. Useful to prevent brute force attacks or to simulate latency delays. - * - * Delaytime : time in ms - */ -public class Delay extends CustomJavaAction -{ - private Long delaytime; - - public Delay(IContext context, Long delaytime) - { - super(context); - this.delaytime = delaytime; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - Misc.delay(delaytime); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "Delay"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/DuplicateFileDocument.java b/test/javasource/communitycommons/actions/DuplicateFileDocument.java deleted file mode 100644 index 50385ee..0000000 --- a/test/javasource/communitycommons/actions/DuplicateFileDocument.java +++ /dev/null @@ -1,62 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Clones the contents of one file document into another. - * - fileToClone : the source file - * - cloneTarget : an initialized file document, in which the file will be stored. - * - * Returns true if copied, returns file if the source had no contents, throws exception in any other case. - * Pre condition: HasContents of the 'fileToClone' need to be set to true, otherwise the action will not copy anything. - */ -public class DuplicateFileDocument extends CustomJavaAction -{ - private IMendixObject __fileToClone; - private system.proxies.FileDocument fileToClone; - private IMendixObject __cloneTarget; - private system.proxies.FileDocument cloneTarget; - - public DuplicateFileDocument(IContext context, IMendixObject fileToClone, IMendixObject cloneTarget) - { - super(context); - this.__fileToClone = fileToClone; - this.__cloneTarget = cloneTarget; - } - - @Override - public Boolean executeAction() throws Exception - { - this.fileToClone = __fileToClone == null ? null : system.proxies.FileDocument.initialize(getContext(), __fileToClone); - - this.cloneTarget = __cloneTarget == null ? null : system.proxies.FileDocument.initialize(getContext(), __cloneTarget); - - // BEGIN USER CODE - return Misc.duplicateFileDocument(this.getContext(), fileToClone.getMendixObject(), cloneTarget.getMendixObject()); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "DuplicateFileDocument"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/DuplicateImageDocument.java b/test/javasource/communitycommons/actions/DuplicateImageDocument.java deleted file mode 100644 index 8e7a13e..0000000 --- a/test/javasource/communitycommons/actions/DuplicateImageDocument.java +++ /dev/null @@ -1,66 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Clones the contents of one image document into another, and generates a thumbnail as well. - * - fileToClone : the source file - * - cloneTarget : an initialized file document, in which the file will be stored. - * - * Returns true if copied, returns file if the source had no contents, throws exception in any other case. - * Pre condition: HasContents of the 'fileToClone' need to be set to true, otherwise the action will not copy anything. - */ -public class DuplicateImageDocument extends CustomJavaAction -{ - private IMendixObject __fileToClone; - private system.proxies.Image fileToClone; - private IMendixObject __cloneTarget; - private system.proxies.Image cloneTarget; - private Long thumbWidth; - private Long thumbHeight; - - public DuplicateImageDocument(IContext context, IMendixObject fileToClone, IMendixObject cloneTarget, Long thumbWidth, Long thumbHeight) - { - super(context); - this.__fileToClone = fileToClone; - this.__cloneTarget = cloneTarget; - this.thumbWidth = thumbWidth; - this.thumbHeight = thumbHeight; - } - - @Override - public Boolean executeAction() throws Exception - { - this.fileToClone = __fileToClone == null ? null : system.proxies.Image.initialize(getContext(), __fileToClone); - - this.cloneTarget = __cloneTarget == null ? null : system.proxies.Image.initialize(getContext(), __cloneTarget); - - // BEGIN USER CODE - return Misc.duplicateImage(this.getContext(), fileToClone.getMendixObject(), cloneTarget.getMendixObject(), thumbWidth.intValue(), thumbHeight.intValue()); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "DuplicateImageDocument"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/EncryptString.java b/test/javasource/communitycommons/actions/EncryptString.java deleted file mode 100644 index 989213c..0000000 --- a/test/javasource/communitycommons/actions/EncryptString.java +++ /dev/null @@ -1,51 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Decrypts an AES encrypted string. - * The keylength should exactly be 16 characters (128 bit). - */ -public class EncryptString extends CustomJavaAction -{ - private String valueToEncrypt; - private String key; - - public EncryptString(IContext context, String valueToEncrypt, String key) - { - super(context); - this.valueToEncrypt = valueToEncrypt; - this.key = key; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.encryptString(key, valueToEncrypt); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "EncryptString"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/EscapeHTML.java b/test/javasource/communitycommons/actions/EscapeHTML.java deleted file mode 100644 index cb4da59..0000000 --- a/test/javasource/communitycommons/actions/EscapeHTML.java +++ /dev/null @@ -1,51 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import communitycommons.StringUtils; - -/** - * Given a, escapes it to html codes, for example - * - * "< Joe & John >" will be converted to - * "< Joe & John >" - */ -public class EscapeHTML extends CustomJavaAction -{ - private String rawString; - - public EscapeHTML(IContext context, String rawString) - { - super(context); - this.rawString = rawString; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.escapeHTML(rawString); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "EscapeHTML"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/FileDocumentFromFile.java b/test/javasource/communitycommons/actions/FileDocumentFromFile.java deleted file mode 100644 index f048898..0000000 --- a/test/javasource/communitycommons/actions/FileDocumentFromFile.java +++ /dev/null @@ -1,60 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import java.io.File; -import java.io.FileInputStream; -import com.mendix.core.Core; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * Loads a file from the local (server) storage and stores it inside a FileDocument. - */ -public class FileDocumentFromFile extends CustomJavaAction -{ - private String file; - private IMendixObject __fileDocument; - private system.proxies.FileDocument fileDocument; - - public FileDocumentFromFile(IContext context, String file, IMendixObject fileDocument) - { - super(context); - this.file = file; - this.__fileDocument = fileDocument; - } - - @Override - public Boolean executeAction() throws Exception - { - this.fileDocument = __fileDocument == null ? null : system.proxies.FileDocument.initialize(getContext(), __fileDocument); - - // BEGIN USER CODE - FileInputStream fis = new FileInputStream(new File(this.file)); - Core.storeFileDocumentContent(getContext(), fileDocument.getMendixObject(), - this.file, fis); - fis.close(); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "FileDocumentFromFile"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/FileFromFileDocument.java b/test/javasource/communitycommons/actions/FileFromFileDocument.java deleted file mode 100644 index 3a00368..0000000 --- a/test/javasource/communitycommons/actions/FileFromFileDocument.java +++ /dev/null @@ -1,65 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.InputStream; -import org.apache.commons.io.IOUtils; -import com.mendix.core.Core; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * Reads contents from a FileDocument and stores it in a file on the local (server) storage. - */ -public class FileFromFileDocument extends CustomJavaAction -{ - private String targetFile; - private IMendixObject __fileDocument; - private system.proxies.FileDocument fileDocument; - - public FileFromFileDocument(IContext context, String targetFile, IMendixObject fileDocument) - { - super(context); - this.targetFile = targetFile; - this.__fileDocument = fileDocument; - } - - @Override - public Boolean executeAction() throws Exception - { - this.fileDocument = __fileDocument == null ? null : system.proxies.FileDocument.initialize(getContext(), __fileDocument); - - // BEGIN USER CODE - File output = new File(targetFile); - FileOutputStream fos = new FileOutputStream(output); - InputStream is = Core.getFileDocumentContent(getContext(), - fileDocument.getMendixObject()); - IOUtils.copy(is, fos); - fos.close(); - is.close(); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "FileFromFileDocument"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/GenerateHMAC_SHA256_hash.java b/test/javasource/communitycommons/actions/GenerateHMAC_SHA256_hash.java deleted file mode 100644 index b66a2cd..0000000 --- a/test/javasource/communitycommons/actions/GenerateHMAC_SHA256_hash.java +++ /dev/null @@ -1,50 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Generates and asymmetric hash using the HMAC_SHA256 hash algorithm - */ -public class GenerateHMAC_SHA256_hash extends CustomJavaAction -{ - private String key; - private String valueToEncrypt; - - public GenerateHMAC_SHA256_hash(IContext context, String key, String valueToEncrypt) - { - super(context); - this.key = key; - this.valueToEncrypt = valueToEncrypt; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.generateHmacSha256Hash(key, valueToEncrypt); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "GenerateHMAC_SHA256_hash"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/GetApplicationUrl.java b/test/javasource/communitycommons/actions/GetApplicationUrl.java deleted file mode 100644 index bdd7fe2..0000000 --- a/test/javasource/communitycommons/actions/GetApplicationUrl.java +++ /dev/null @@ -1,45 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns the runtime URL of this application. - */ -public class GetApplicationUrl extends CustomJavaAction -{ - public GetApplicationUrl(IContext context) - { - super(context); - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return Misc.getApplicationURL(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "GetApplicationUrl"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/GetDefaultLanguage.java b/test/javasource/communitycommons/actions/GetDefaultLanguage.java deleted file mode 100644 index fe4f51e..0000000 --- a/test/javasource/communitycommons/actions/GetDefaultLanguage.java +++ /dev/null @@ -1,48 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import system.proxies.Language; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.Misc; - -/** - * Get default language - */ -public class GetDefaultLanguage extends CustomJavaAction -{ - public GetDefaultLanguage(IContext context) - { - super(context); - } - - @Override - public IMendixObject executeAction() throws Exception - { - // BEGIN USER CODE - Language defaultLanguage = Misc.getDefaultLanguage(getContext()); - return defaultLanguage.getMendixObject(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "GetDefaultLanguage"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/GetFileContentsFromResource.java b/test/javasource/communitycommons/actions/GetFileContentsFromResource.java deleted file mode 100644 index b5412bb..0000000 --- a/test/javasource/communitycommons/actions/GetFileContentsFromResource.java +++ /dev/null @@ -1,63 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import java.io.File; -import java.io.FileInputStream; -import com.mendix.core.Core; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * Set the contents of a FileDocument with the contents of a file which is a resource. - */ -public class GetFileContentsFromResource extends CustomJavaAction -{ - private String filename; - private IMendixObject __fileDocument; - private system.proxies.FileDocument fileDocument; - - public GetFileContentsFromResource(IContext context, String filename, IMendixObject fileDocument) - { - super(context); - this.filename = filename; - this.__fileDocument = fileDocument; - } - - @Override - public Boolean executeAction() throws Exception - { - this.fileDocument = __fileDocument == null ? null : system.proxies.FileDocument.initialize(getContext(), __fileDocument); - - // BEGIN USER CODE - File myFile = new File(Core.getConfiguration().getResourcesPath() + - File.separator + filename); - - FileInputStream fis = new FileInputStream(myFile); - Core.storeFileDocumentContent(getContext(), fileDocument.getMendixObject(), - filename, fis); - - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "GetFileContentsFromResource"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/GetIntFromDateTime.java b/test/javasource/communitycommons/actions/GetIntFromDateTime.java deleted file mode 100644 index 5319696..0000000 --- a/test/javasource/communitycommons/actions/GetIntFromDateTime.java +++ /dev/null @@ -1,55 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import communitycommons.DateTime; - -/** - * Converts a datetime to an integer based on the selector used. - * - * Selectors available are: - * - year (returns f. ex. 1980) - * - month (returns 1-12) - * - day (returns 1-31) - */ -public class GetIntFromDateTime extends CustomJavaAction -{ - private java.util.Date dateObj; - private communitycommons.proxies.DatePartSelector selectorObj; - - public GetIntFromDateTime(IContext context, java.util.Date dateObj, String selectorObj) - { - super(context); - this.dateObj = dateObj; - this.selectorObj = selectorObj == null ? null : communitycommons.proxies.DatePartSelector.valueOf(selectorObj); - } - - @Override - public Long executeAction() throws Exception - { - // BEGIN USER CODE - return DateTime.dateTimeToInteger(dateObj, selectorObj); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "GetIntFromDateTime"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/GetRuntimeVersion.java b/test/javasource/communitycommons/actions/GetRuntimeVersion.java deleted file mode 100644 index 15ef681..0000000 --- a/test/javasource/communitycommons/actions/GetRuntimeVersion.java +++ /dev/null @@ -1,45 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns the runtime version of this application. - */ -public class GetRuntimeVersion extends CustomJavaAction -{ - public GetRuntimeVersion(IContext context) - { - super(context); - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return Misc.getRuntimeVersion(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "GetRuntimeVersion"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/HTMLEncode.java b/test/javasource/communitycommons/actions/HTMLEncode.java deleted file mode 100644 index 242f5af..0000000 --- a/test/javasource/communitycommons/actions/HTMLEncode.java +++ /dev/null @@ -1,53 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Encodes a string to HTML Entities, so that they can be displayed in the browser without breaking any layout. - * - * This is useful for special widgets which allow HTML to be rendered properly, including special characters as '<' and '&'. - * For example '<' will be encoded as '<' and '&' will be encoded as '&' - * - * Returns the encoded string. - */ -public class HTMLEncode extends CustomJavaAction -{ - private String value; - - public HTMLEncode(IContext context, String value) - { - super(context); - this.value = value; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.HTMLEncode(value); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "HTMLEncode"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/HTMLToPlainText.java b/test/javasource/communitycommons/actions/HTMLToPlainText.java deleted file mode 100644 index e608613..0000000 --- a/test/javasource/communitycommons/actions/HTMLToPlainText.java +++ /dev/null @@ -1,49 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Use this function to convert HTML text to plain text. - * It will preserve linebreaks but strip all other markup. including html entity decoding. - */ -public class HTMLToPlainText extends CustomJavaAction -{ - private String html; - - public HTMLToPlainText(IContext context, String html) - { - super(context); - this.html = html; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.HTMLToPlainText(html); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "HTMLToPlainText"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/Hash.java b/test/javasource/communitycommons/actions/Hash.java deleted file mode 100644 index 91d58af..0000000 --- a/test/javasource/communitycommons/actions/Hash.java +++ /dev/null @@ -1,55 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Hashes a value using the SHA-256 hash algorithm. - * - * - value : the value to hash - * - length : the desired length of the hash. - * - * Returns a SHA-256 hash of 'value', with length 'length' - */ -public class Hash extends CustomJavaAction -{ - private String value; - private Long length; - - public Hash(IContext context, String value, Long length) - { - super(context); - this.value = value; - this.length = length; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.hash(value, length.intValue()); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "Hash"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/IsInDevelopment.java b/test/javasource/communitycommons/actions/IsInDevelopment.java deleted file mode 100644 index 37ba119..0000000 --- a/test/javasource/communitycommons/actions/IsInDevelopment.java +++ /dev/null @@ -1,45 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.core.Core; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns true if the environment is a development environment. Calls Core.getConfiguration().isInDevelopment(). - */ -public class IsInDevelopment extends CustomJavaAction -{ - public IsInDevelopment(IContext context) - { - super(context); - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return Core.getConfiguration().isInDevelopment(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "IsInDevelopment"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/Log.java b/test/javasource/communitycommons/actions/Log.java deleted file mode 100644 index 3df3f51..0000000 --- a/test/javasource/communitycommons/actions/Log.java +++ /dev/null @@ -1,58 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Logging; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Prints a message to the Mendix log. - * - Lognode: the lognode to print to - * - Loglevel: the loglevel to use (such as Info, Warning, Error etc) - * - Message: the message to print. - * - * DEPRECATED: From Mendix 2.5.3, you can use the Microflow Log activity as well. - */ -public class Log extends CustomJavaAction -{ - private String lognode; - private communitycommons.proxies.LogLevel loglevel; - private String message; - - public Log(IContext context, String lognode, String loglevel, String message) - { - super(context); - this.lognode = lognode; - this.loglevel = loglevel == null ? null : communitycommons.proxies.LogLevel.valueOf(loglevel); - this.message = message; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - Logging.log(lognode, loglevel, message); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "Log"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/LongToDateTime.java b/test/javasource/communitycommons/actions/LongToDateTime.java deleted file mode 100644 index 33fb1bf..0000000 --- a/test/javasource/communitycommons/actions/LongToDateTime.java +++ /dev/null @@ -1,48 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import communitycommons.DateTime; - -/** - * Converts a Unix timestamp to a dateTime object - */ -public class LongToDateTime extends CustomJavaAction -{ - private Long value; - - public LongToDateTime(IContext context, Long value) - { - super(context); - this.value = value; - } - - @Override - public java.util.Date executeAction() throws Exception - { - // BEGIN USER CODE - return DateTime.longToDateTime(value); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "LongToDateTime"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/MergeMultiplePdfs.java b/test/javasource/communitycommons/actions/MergeMultiplePdfs.java deleted file mode 100644 index 7d5404f..0000000 --- a/test/javasource/communitycommons/actions/MergeMultiplePdfs.java +++ /dev/null @@ -1,60 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.Misc; - -/** - * - */ -public class MergeMultiplePdfs extends CustomJavaAction -{ - private java.util.List __FilesToMerge; - private java.util.List FilesToMerge; - private IMendixObject __MergedDocument; - private system.proxies.FileDocument MergedDocument; - - public MergeMultiplePdfs(IContext context, java.util.List FilesToMerge, IMendixObject MergedDocument) - { - super(context); - this.__FilesToMerge = FilesToMerge; - this.__MergedDocument = MergedDocument; - } - - @Override - public Boolean executeAction() throws Exception - { - this.FilesToMerge = new java.util.ArrayList(); - if (__FilesToMerge != null) - for (IMendixObject __FilesToMergeElement : __FilesToMerge) - this.FilesToMerge.add(system.proxies.FileDocument.initialize(getContext(), __FilesToMergeElement)); - - this.MergedDocument = __MergedDocument == null ? null : system.proxies.FileDocument.initialize(getContext(), __MergedDocument); - - // BEGIN USER CODE - return Misc.mergePDF(this.getContext(), this.FilesToMerge, __MergedDocument); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "MergeMultiplePdfs"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/OverlayPdfDocument.java b/test/javasource/communitycommons/actions/OverlayPdfDocument.java deleted file mode 100644 index 300ab95..0000000 --- a/test/javasource/communitycommons/actions/OverlayPdfDocument.java +++ /dev/null @@ -1,57 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.Misc; - -/** - * Overlay a generated PDF document with another PDF (containing the company stationary for example) - */ -public class OverlayPdfDocument extends CustomJavaAction -{ - private IMendixObject __generatedDocument; - private system.proxies.FileDocument generatedDocument; - private IMendixObject __overlay; - private system.proxies.FileDocument overlay; - - public OverlayPdfDocument(IContext context, IMendixObject generatedDocument, IMendixObject overlay) - { - super(context); - this.__generatedDocument = generatedDocument; - this.__overlay = overlay; - } - - @Override - public Boolean executeAction() throws Exception - { - this.generatedDocument = __generatedDocument == null ? null : system.proxies.FileDocument.initialize(getContext(), __generatedDocument); - - this.overlay = __overlay == null ? null : system.proxies.FileDocument.initialize(getContext(), __overlay); - - // BEGIN USER CODE - return Misc.overlayPdf(getContext(), __generatedDocument, __overlay); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "OverlayPdfDocument"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/ParseDateTimeWithTimezone.java b/test/javasource/communitycommons/actions/ParseDateTimeWithTimezone.java deleted file mode 100644 index cd4fec1..0000000 --- a/test/javasource/communitycommons/actions/ParseDateTimeWithTimezone.java +++ /dev/null @@ -1,68 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import java.text.SimpleDateFormat; -import java.util.TimeZone; -import com.mendix.core.Core; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * This method parses a date from a string with a given pattern according to a specific timezone. - * The timezone has to be a valid timezone id http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html (e.g. one of https://garygregory.wordpress.com/2013/06/18/what-are-the-java-timezone-ids/) - */ -public class ParseDateTimeWithTimezone extends CustomJavaAction -{ - private String date; - private String pattern; - private String timeZone; - private java.util.Date defaultValue; - - public ParseDateTimeWithTimezone(IContext context, String date, String pattern, String timeZone, java.util.Date defaultValue) - { - super(context); - this.date = date; - this.pattern = pattern; - this.timeZone = timeZone; - this.defaultValue = defaultValue; - } - - @Override - public java.util.Date executeAction() throws Exception - { - // BEGIN USER CODE - if (date == null || date.trim().equals("")) { - return defaultValue; - } - - try { - SimpleDateFormat sdf = new SimpleDateFormat(pattern); - sdf.setTimeZone(TimeZone.getTimeZone(timeZone)); - return sdf.parse(date); - } catch (Exception e) { - Core.getLogger(this.getClass().getSimpleName()).warn("Unable to parse date " + date, e); - return defaultValue; - } - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "ParseDateTimeWithTimezone"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/RandomHash.java b/test/javasource/communitycommons/actions/RandomHash.java deleted file mode 100644 index 6193807..0000000 --- a/test/javasource/communitycommons/actions/RandomHash.java +++ /dev/null @@ -1,45 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Generates a random hash, perfectly to use as random but unique identifier - */ -public class RandomHash extends CustomJavaAction -{ - public RandomHash(IContext context) - { - super(context); - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.randomHash(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "RandomHash"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/RandomString.java b/test/javasource/communitycommons/actions/RandomString.java deleted file mode 100644 index d54ead5..0000000 --- a/test/javasource/communitycommons/actions/RandomString.java +++ /dev/null @@ -1,48 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Generates a random alphanumeric string of the desired length. - */ -public class RandomString extends CustomJavaAction -{ - private Long length; - - public RandomString(IContext context, Long length) - { - super(context); - this.length = length; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.randomString(length.intValue()); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "RandomString"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/RandomStrongPassword.java b/test/javasource/communitycommons/actions/RandomStrongPassword.java deleted file mode 100644 index 69bbbf4..0000000 --- a/test/javasource/communitycommons/actions/RandomStrongPassword.java +++ /dev/null @@ -1,65 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns a random strong password containing a specified number of digits, uppercase and special characters. - * - * Note:Minimumlength should be equal or larger than NrOfCapitalizedCharacters, NrOfDigits and NrOfSpecialCharacters - */ -public class RandomStrongPassword extends CustomJavaAction -{ - private Long MinLength; - private Long MaxLength; - private Long NrOfCapitalizedCharacters; - private Long NrOfDigits; - private Long NrOfSpecialCharacters; - - public RandomStrongPassword(IContext context, Long MinLength, Long MaxLength, Long NrOfCapitalizedCharacters, Long NrOfDigits, Long NrOfSpecialCharacters) - { - super(context); - this.MinLength = MinLength; - this.MaxLength = MaxLength; - this.NrOfCapitalizedCharacters = NrOfCapitalizedCharacters; - this.NrOfDigits = NrOfDigits; - this.NrOfSpecialCharacters = NrOfSpecialCharacters; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.randomStrongPassword(safeLongToInt(this.MinLength), safeLongToInt(this.MaxLength),safeLongToInt(this.NrOfCapitalizedCharacters), safeLongToInt(NrOfDigits), safeLongToInt(NrOfSpecialCharacters)); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "RandomStrongPassword"; - } - - // BEGIN EXTRA CODE - public static int safeLongToInt(long l) { - if (l < Integer.MIN_VALUE || l > Integer.MAX_VALUE) { - throw new IllegalArgumentException - (l + " cannot be cast to int without changing its value."); - } - return (int) l; - } - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/RegexQuote.java b/test/javasource/communitycommons/actions/RegexQuote.java deleted file mode 100644 index 0976875..0000000 --- a/test/javasource/communitycommons/actions/RegexQuote.java +++ /dev/null @@ -1,48 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import communitycommons.StringUtils; - -/** - * Escapes a string value so that it can be used literally with Mendix build-in regex replacement functions. (Otherwise the dollar sign would be interpreted as back reference to a match for example). - */ -public class RegexQuote extends CustomJavaAction -{ - private String unquotedLiteral; - - public RegexQuote(IContext context, String unquotedLiteral) - { - super(context); - this.unquotedLiteral = unquotedLiteral; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.regexQuote(unquotedLiteral); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "RegexQuote"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/RegexReplaceAll.java b/test/javasource/communitycommons/actions/RegexReplaceAll.java deleted file mode 100644 index 452aac4..0000000 --- a/test/javasource/communitycommons/actions/RegexReplaceAll.java +++ /dev/null @@ -1,57 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Performs a regular expression. Identical to the microflow expression funciton 'replaceAll'. Useful to be used from java, or in older Mendix versions. - * For the regexp specification see: - * http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html - * - * A decent regexp tester can be found at: - * http://www.fileformat.info/tool/regex.htm - */ -public class RegexReplaceAll extends CustomJavaAction -{ - private String haystack; - private String needleRegex; - private String replacement; - - public RegexReplaceAll(IContext context, String haystack, String needleRegex, String replacement) - { - super(context); - this.haystack = haystack; - this.needleRegex = needleRegex; - this.replacement = replacement; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.regexReplaceAll(haystack, needleRegex, replacement); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "RegexReplaceAll"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/RegexTest.java b/test/javasource/communitycommons/actions/RegexTest.java deleted file mode 100644 index 64c69ed..0000000 --- a/test/javasource/communitycommons/actions/RegexTest.java +++ /dev/null @@ -1,54 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns true if a value matches a regular expression. Matches the behavior of a Regexp validation rule. - * - * For the regexp specification see: - * http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html - * A decent regexp tester can be found at: - */ -public class RegexTest extends CustomJavaAction -{ - private String value; - private String regex; - - public RegexTest(IContext context, String value, String regex) - { - super(context); - this.value = value; - this.regex = regex; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.regexTest(value, regex); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "RegexTest"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/RunMicroflowAsyncInQueue.java b/test/javasource/communitycommons/actions/RunMicroflowAsyncInQueue.java deleted file mode 100644 index 78c2a66..0000000 --- a/test/javasource/communitycommons/actions/RunMicroflowAsyncInQueue.java +++ /dev/null @@ -1,50 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Runs a microflow asynchronous, that is, this action immediately returns but schedules the microflow to be run in the near future. The queue guarantees a first come first serve order of the microflows, and only one action is served at a time. - * - * The microflow is run with system rights in its own transaction, and is very useful to run heavy microflows on the background. - */ -public class RunMicroflowAsyncInQueue extends CustomJavaAction -{ - private String microflowName; - - public RunMicroflowAsyncInQueue(IContext context, String microflowName) - { - super(context); - this.microflowName = microflowName; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return Misc.runMicroflowAsyncInQueue(microflowName); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "RunMicroflowAsyncInQueue"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/SimpleLog.java b/test/javasource/communitycommons/actions/SimpleLog.java deleted file mode 100644 index 8bb61e1..0000000 --- a/test/javasource/communitycommons/actions/SimpleLog.java +++ /dev/null @@ -1,50 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Logging; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Logs a message to 'Community Commons' with loglevel 'Info'. - * - message: the message to log - */ -public class SimpleLog extends CustomJavaAction -{ - private String message; - - public SimpleLog(IContext context, String message) - { - super(context); - this.message = message; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - Logging.simpleLog(message); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "SimpleLog"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/StartTransaction.java b/test/javasource/communitycommons/actions/StartTransaction.java deleted file mode 100644 index 91d5afe..0000000 --- a/test/javasource/communitycommons/actions/StartTransaction.java +++ /dev/null @@ -1,45 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Starts a new transaction. - */ -public class StartTransaction extends CustomJavaAction -{ - public StartTransaction(IContext context) - { - super(context); - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - getContext().startTransaction(); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "StartTransaction"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/StringFromFile.java b/test/javasource/communitycommons/actions/StringFromFile.java deleted file mode 100644 index ab352f2..0000000 --- a/test/javasource/communitycommons/actions/StringFromFile.java +++ /dev/null @@ -1,54 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Reads the contents form the provided file document and return it as string - * - * Note that this might give strange results when using with binary files. In that case, use the Base64 functions. - */ -public class StringFromFile extends CustomJavaAction -{ - private IMendixObject __source; - private system.proxies.FileDocument source; - - public StringFromFile(IContext context, IMendixObject source) - { - super(context); - this.__source = source; - } - - @Override - public String executeAction() throws Exception - { - this.source = __source == null ? null : system.proxies.FileDocument.initialize(getContext(), __source); - - // BEGIN USER CODE - return StringUtils.stringFromFile(getContext(), source); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "StringFromFile"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/StringLeftPad.java b/test/javasource/communitycommons/actions/StringLeftPad.java deleted file mode 100644 index 2336135..0000000 --- a/test/javasource/communitycommons/actions/StringLeftPad.java +++ /dev/null @@ -1,58 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Pads a string on the left to a certain length. - * value : the original value - * amount: the desired length of the resulting string. - * fillCharacter: the character to pad with. (or space if empty) - * - * For example - * StringLeftPad("hello", 8, "-") returns "---hello" - * StringLeftPad("hello", 2, "-") returns "hello" - */ -public class StringLeftPad extends CustomJavaAction -{ - private String value; - private Long amount; - private String fillCharacter; - - public StringLeftPad(IContext context, String value, Long amount, String fillCharacter) - { - super(context); - this.value = value; - this.amount = amount; - this.fillCharacter = fillCharacter; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return communitycommons.StringUtils.leftPad(value, amount, fillCharacter); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "StringLeftPad"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/StringLength.java b/test/javasource/communitycommons/actions/StringLength.java deleted file mode 100644 index 5f9d810..0000000 --- a/test/javasource/communitycommons/actions/StringLength.java +++ /dev/null @@ -1,51 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns -1 if the value is empty, the length otherwise. - * - * DEPRECATED: The length() function is preferred. (See: https://world.mendix.com/display/NRG/String+function+calls) - */ -public class StringLength extends CustomJavaAction -{ - private String value; - - public StringLength(IContext context, String value) - { - super(context); - this.value = value; - } - - @Override - public Long executeAction() throws Exception - { - // BEGIN USER CODE - if (this.value == null) - return -1L; - return Long.valueOf(this.value.length()); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "StringLength"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/StringRightPad.java b/test/javasource/communitycommons/actions/StringRightPad.java deleted file mode 100644 index 765e051..0000000 --- a/test/javasource/communitycommons/actions/StringRightPad.java +++ /dev/null @@ -1,58 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Pads a string on the right to a certain length. - * value : the original value - * amount: the desired length of the resulting string. - * fillCharacter: the character to pad with. (or space if empty) - * - * For example - * StringRightPad("hello", 8, "-") returns "hello---" - * StringLeftpad("hello", 2, "-") returns "hello" - */ -public class StringRightPad extends CustomJavaAction -{ - private String value; - private Long amount; - private String fillCharacter; - - public StringRightPad(IContext context, String value, Long amount, String fillCharacter) - { - super(context); - this.value = value; - this.amount = amount; - this.fillCharacter = fillCharacter; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return communitycommons.StringUtils.rightPad(value, amount, fillCharacter); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "StringRightPad"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/StringToFile.java b/test/javasource/communitycommons/actions/StringToFile.java deleted file mode 100644 index 004c700..0000000 --- a/test/javasource/communitycommons/actions/StringToFile.java +++ /dev/null @@ -1,57 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Stores a string into the provides filedocument - * - * Note that destination will be committed. - */ -public class StringToFile extends CustomJavaAction -{ - private String value; - private IMendixObject __destination; - private system.proxies.FileDocument destination; - - public StringToFile(IContext context, String value, IMendixObject destination) - { - super(context); - this.value = value; - this.__destination = destination; - } - - @Override - public Boolean executeAction() throws Exception - { - this.destination = __destination == null ? null : system.proxies.FileDocument.initialize(getContext(), __destination); - - // BEGIN USER CODE - StringUtils.stringToFile(getContext(), value, destination); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "StringToFile"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/StringTrim.java b/test/javasource/communitycommons/actions/StringTrim.java deleted file mode 100644 index d0c9c8c..0000000 --- a/test/javasource/communitycommons/actions/StringTrim.java +++ /dev/null @@ -1,50 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Left and right trims a string (that is; removes all surrounding whitespace characters such as tabs, spaces and returns). - * Returns the empty string if value is the empty value. Returns the trimmed string otherwise. - */ -public class StringTrim extends CustomJavaAction -{ - private String value; - - public StringTrim(IContext context, String value) - { - super(context); - this.value = value; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - if (this.value == null) - return ""; - return this.value.trim(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "StringTrim"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/SubstituteTemplate.java b/test/javasource/communitycommons/actions/SubstituteTemplate.java deleted file mode 100644 index 0b3ee37..0000000 --- a/test/javasource/communitycommons/actions/SubstituteTemplate.java +++ /dev/null @@ -1,68 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Given an object and a template, substitutes all fields in the template. Supports attributes, references, referencesets and constants. - * - * The general field syntax is '{fieldname}'. - * - * Fieldname can be a member of the example object, an attribute which need to be retrieved over an reference(set) or a project constant. All paths are relative from the provided substitute obect. An example template: - * ------------------ - * Dear {EmailOrName}, - * - * {System.changedBy/FullName} has invited you to join the project {Module.MemberShip_Project/Name}. - * Sign up is free and can be done here: - * {@Module.PublicURL}link/Signup - * ------------------------- - * - * useHTMLEncoding identifies whether HTMLEncode is applied to the values before substituting. - * - * datetimeformat identifies a format string which is applied to date/time based attributes. Can be left empty. Defaults to "EEE dd MMM yyyy, HH:mm" - */ -public class SubstituteTemplate extends CustomJavaAction -{ - private String template; - private IMendixObject substitute; - private Boolean useHTMLEncoding; - - public SubstituteTemplate(IContext context, String template, IMendixObject substitute, Boolean useHTMLEncoding) - { - super(context); - this.template = template; - this.substitute = substitute; - this.useHTMLEncoding = useHTMLEncoding; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.substituteTemplate(this.getContext(), template, substitute, useHTMLEncoding, null); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "SubstituteTemplate"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/SubstituteTemplate2.java b/test/javasource/communitycommons/actions/SubstituteTemplate2.java deleted file mode 100644 index 2bc4af0..0000000 --- a/test/javasource/communitycommons/actions/SubstituteTemplate2.java +++ /dev/null @@ -1,57 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Identical to SubstituteTemplate, but adds an datetimeformat argument - * - * DateTimeFormat identifies a format string which is applied to date/time based attributes. Can be left empty. Defaults to "EEE dd MMM yyyy, HH:mm" - */ -public class SubstituteTemplate2 extends CustomJavaAction -{ - private String template; - private IMendixObject substitute; - private Boolean useHTMLEncoding; - private String datetimeformat; - - public SubstituteTemplate2(IContext context, String template, IMendixObject substitute, Boolean useHTMLEncoding, String datetimeformat) - { - super(context); - this.template = template; - this.substitute = substitute; - this.useHTMLEncoding = useHTMLEncoding; - this.datetimeformat = datetimeformat; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.substituteTemplate(this.getContext(), template, substitute, useHTMLEncoding, this.datetimeformat); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "SubstituteTemplate2"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/ThrowException.java b/test/javasource/communitycommons/actions/ThrowException.java deleted file mode 100644 index ad54808..0000000 --- a/test/javasource/communitycommons/actions/ThrowException.java +++ /dev/null @@ -1,53 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * This action always throws an exception (of type communityutils.UserThrownError), which is, in combination with custom error handling, quite useful to end a microflow prematurely or to bail out to the calling action/ microflow. - * - * The message of the last thrown error can be inspected by using the variable $lasterrormessage - * - * Example usuage: In general, if an Event (before commit especially) returns false, it should call this action and then return true instead. If an Before commit returns false, the object will not be committed, but there is no easy way for the calling Microflow/ action to detect this! An exception on the other hand, will be noticed. - */ -public class ThrowException extends CustomJavaAction -{ - private String message; - - public ThrowException(IContext context, String message) - { - super(context); - this.message = message; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - Misc.throwException(message); - return null; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "ThrowException"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/ThrowWebserviceException.java b/test/javasource/communitycommons/actions/ThrowWebserviceException.java deleted file mode 100644 index e9f411e..0000000 --- a/test/javasource/communitycommons/actions/ThrowWebserviceException.java +++ /dev/null @@ -1,53 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * (Behavior has changed since version 3.2. The exception is now properly propagated to the cient). - * - * Throws an exception. This is very useful if the microflow is called by a webservice. If you throw this kind of exceptions, an fault message will be generated in the output, instead of an '501 Internal server' error. - * - * If debug level of community commons is set to 'debug' the errors will be locally visible as well, otherwise not. Throwing a webservice exception states that the webservice invocation was incorrect, not the webservice implementation. - */ -public class ThrowWebserviceException extends CustomJavaAction -{ - private String faultstring; - - public ThrowWebserviceException(IContext context, String faultstring) - { - super(context); - this.faultstring = faultstring; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - Misc.throwWebserviceException(faultstring); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "ThrowWebserviceException"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/TimeMeasureEnd.java b/test/javasource/communitycommons/actions/TimeMeasureEnd.java deleted file mode 100644 index d3b242e..0000000 --- a/test/javasource/communitycommons/actions/TimeMeasureEnd.java +++ /dev/null @@ -1,55 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Logging; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * End timing something, and print the result to the log. - * - TimerName. Should correspond to the TimerName used with TimeMeasureStart. - * - LogLevel. The loglevel used to print the result. - * - The message to be printed in the log. - */ -public class TimeMeasureEnd extends CustomJavaAction -{ - private String TimerName; - private communitycommons.proxies.LogLevel Loglevel; - private String message; - - public TimeMeasureEnd(IContext context, String TimerName, String Loglevel, String message) - { - super(context); - this.TimerName = TimerName; - this.Loglevel = Loglevel == null ? null : communitycommons.proxies.LogLevel.valueOf(Loglevel); - this.message = message; - } - - @Override - public Long executeAction() throws Exception - { - // BEGIN USER CODE - return Logging.measureEnd(TimerName, Loglevel, message); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "TimeMeasureEnd"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/TimeMeasureStart.java b/test/javasource/communitycommons/actions/TimeMeasureStart.java deleted file mode 100644 index 9080fa8..0000000 --- a/test/javasource/communitycommons/actions/TimeMeasureStart.java +++ /dev/null @@ -1,52 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Logging; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Start timing something, and print the result to the log. - * - TimerName. Should correspond to the TimerName used in TimeMeasureEnd. - * - * Note that multiple timers can run at once. Existing timers can be restarted using this function as well. - */ -public class TimeMeasureStart extends CustomJavaAction -{ - private String TimerName; - - public TimeMeasureStart(IContext context, String TimerName) - { - super(context); - this.TimerName = TimerName; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - Logging.measureStart(TimerName); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "TimeMeasureStart"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/XSSSanitize.java b/test/javasource/communitycommons/actions/XSSSanitize.java deleted file mode 100644 index 41435f1..0000000 --- a/test/javasource/communitycommons/actions/XSSSanitize.java +++ /dev/null @@ -1,69 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.StringUtils; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Removes all potiential dangerous HTML from a string so that it can be safely displayed in a browser. - * - * This function should be applied to all HTML which is displayed in the browser, and can be entered by (untrusted) users. - * - * - HTML: The html to sanitize - * - policy: The policy that defines the allowed HTML tags a user is allowd to use: - * - * (see the developers guide in the resources folder for more details about the policies) - * - * TinyMCE: Based on the HTML WYSIWYG editor, relatively safe. This policy file only allows text formatting, and may be a good choice if users are submitting HTML to be used in a blog post. - * - * Allow anything: A very dangerous policy file, this will allow all HTML, CSS and JavaScript. You shouldn't use this in production. - * - * Ebay: Based on the content filtering for the popular electronic auction website, relatively safe. This policy file gives the user a little bit of freedom, and may be a good choice if users are submitting HTML for a large portion of a page. - * - * MySpace: Based on the content filtering for the popular social networking site, relatively dangerous. This policy file gives the user a lot of freedom, and may be a good choice if users are submitting HTML for an entire page. - * - * Slashdot: Based on the comment filtering on the popular news site, but not quite as strict. This policy file only allows strict text formatting, and may be a good choice if users are submitting HTML in a comment thread. - * - * BootstrapRTE: Based on TinyMCE and allows hyperlinks and embedded images. Basically allows what the Bootstrap Rich Text widget provides. - */ -public class XSSSanitize extends CustomJavaAction -{ - private String html; - private communitycommons.proxies.XSSPolicy policy; - - public XSSSanitize(IContext context, String html, String policy) - { - super(context); - this.html = html; - this.policy = policy == null ? null : communitycommons.proxies.XSSPolicy.valueOf(policy); - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return StringUtils.XSSSanitize(html, policy); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "XSSSanitize"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/YearsBetween.java b/test/javasource/communitycommons/actions/YearsBetween.java deleted file mode 100644 index 5ea32a5..0000000 --- a/test/javasource/communitycommons/actions/YearsBetween.java +++ /dev/null @@ -1,58 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import java.util.Date; -import communitycommons.DateTime; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Calculates the number of years between two dates. - * - dateTime : the original (oldest) dateTime - * - compareDate: the second date. If EMPTY, the current datetime will be used. Effectively this means that the age of the dateTime is calculated. - */ -public class YearsBetween extends CustomJavaAction -{ - private java.util.Date dateTime; - private java.util.Date compareDate; - - public YearsBetween(IContext context, java.util.Date dateTime, java.util.Date compareDate) - { - super(context); - this.dateTime = dateTime; - this.compareDate = compareDate; - } - - @Override - public Long executeAction() throws Exception - { - // BEGIN USER CODE - try { - return DateTime.yearsBetween(this.dateTime, compareDate == null ? new Date() : compareDate); - } catch (Exception e) { - return -1L; - } - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "YearsBetween"; - } - - // BEGIN EXTRA CODE - - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/acquireLock.java b/test/javasource/communitycommons/actions/acquireLock.java deleted file mode 100644 index 2638115..0000000 --- a/test/javasource/communitycommons/actions/acquireLock.java +++ /dev/null @@ -1,50 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Tries to acquire a lock. Returns true if granted, or if already locked by this session. - * Invoking this action multiple times is safe. - */ -public class acquireLock extends CustomJavaAction -{ - private IMendixObject item; - - public acquireLock(IContext context, IMendixObject item) - { - super(context); - this.item = item; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return ORM.acquireLock(this.getContext(), item); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "acquireLock"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/commitInSeparateDatabaseTransaction.java b/test/javasource/communitycommons/actions/commitInSeparateDatabaseTransaction.java deleted file mode 100644 index 54bbe71..0000000 --- a/test/javasource/communitycommons/actions/commitInSeparateDatabaseTransaction.java +++ /dev/null @@ -1,54 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.core.Core; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.ISession; -import com.mendix.webui.CustomJavaAction; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * This function commits an object in a seperate context and transaction, making sure it gets persisted in the database (regarding which exception happens after invocation). - */ -public class commitInSeparateDatabaseTransaction extends CustomJavaAction -{ - private IMendixObject mxObject; - - public commitInSeparateDatabaseTransaction(IContext context, IMendixObject mxObject) - { - super(context); - this.mxObject = mxObject; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - ISession session = getContext().getSession(); - IContext newContext = session.createContext(); - Core.commit(newContext, mxObject); - newContext.endTransaction(); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "commitInSeparateDatabaseTransaction"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/commitWithoutEvents.java b/test/javasource/communitycommons/actions/commitWithoutEvents.java deleted file mode 100644 index bd84597..0000000 --- a/test/javasource/communitycommons/actions/commitWithoutEvents.java +++ /dev/null @@ -1,51 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Commits an object, but without events. - * - * N.B. This function is not very useful when called from the model, but it is useful when called from custom Java code. - */ -public class commitWithoutEvents extends CustomJavaAction -{ - private IMendixObject subject; - - public commitWithoutEvents(IContext context, IMendixObject subject) - { - super(context); - this.subject = subject; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return ORM.commitWithoutEvents(this.getContext(), subject); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "commitWithoutEvents"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/copyAttributes.java b/test/javasource/communitycommons/actions/copyAttributes.java deleted file mode 100644 index 6c5ca3a..0000000 --- a/test/javasource/communitycommons/actions/copyAttributes.java +++ /dev/null @@ -1,54 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; - -/** - * Copies all common primitive attributes from source to target, which are not necessarily of the same type. This is useful to, for example, translate database object into view objects. - * - * Note that no automatic type conversion is done. - */ -public class copyAttributes extends CustomJavaAction -{ - private IMendixObject source; - private IMendixObject target; - - public copyAttributes(IContext context, IMendixObject source, IMendixObject target) - { - super(context); - this.source = source; - this.target = target; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - ORM.copyAttributes(getContext(), source, target); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "copyAttributes"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/deleteAll.java b/test/javasource/communitycommons/actions/deleteAll.java deleted file mode 100644 index 651e4b5..0000000 --- a/test/javasource/communitycommons/actions/deleteAll.java +++ /dev/null @@ -1,48 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import communitycommons.XPath; - -/** - * Removes ALL instances of a certain domain object type using batches. - */ -public class deleteAll extends CustomJavaAction -{ - private String entityType; - - public deleteAll(IContext context, String entityType) - { - super(context); - this.entityType = entityType; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return XPath.create(this.getContext(), entityType).deleteAll(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "deleteAll"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/encryptMemberIfChanged.java b/test/javasource/communitycommons/actions/encryptMemberIfChanged.java deleted file mode 100644 index 4906551..0000000 --- a/test/javasource/communitycommons/actions/encryptMemberIfChanged.java +++ /dev/null @@ -1,69 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixObject; -import com.mendix.webui.CustomJavaAction; -import com.mendix.webui.FeedbackHelper; -import communitycommons.ORM; - -/** - * Use this function to automatically encrypt attributes of an object during (for example) before commit. - * - * The function assumes that if the provided attributeName is in 'changed' status, a new plain text value has been assigned which needs to be encrypted. Leaves the value as-is otherwise. - * - * - item : the owner of the specified attribute - * - attributeName : the attribute which should be encrypted - * - key : the encryption key (zie encrypt string) - * - refreshItem: whether the object should be refreshed in the client. If true, the users sees the encrypted value, if false, the user still sees the unencrypted value, although the database already contains an encrypted value - * - * returns: true if the value was changed and has been re-encrypted. False otherwise - */ -public class encryptMemberIfChanged extends CustomJavaAction -{ - private IMendixObject item; - private String attributeName; - private String key; - private Boolean refreshItem; - - public encryptMemberIfChanged(IContext context, IMendixObject item, String attributeName, String key, Boolean refreshItem) - { - super(context); - this.item = item; - this.attributeName = attributeName; - this.key = key; - this.refreshItem = refreshItem; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - if (refreshItem && item != null) { - FeedbackHelper.addRefreshObjectFeedback(this.getContext(), item.getId()); - } - - return ORM.encryptMemberIfChanged(getContext(), item, attributeName, key); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "encryptMemberIfChanged"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/executeMicroflowAsUser.java b/test/javasource/communitycommons/actions/executeMicroflowAsUser.java deleted file mode 100644 index 5e7a486..0000000 --- a/test/javasource/communitycommons/actions/executeMicroflowAsUser.java +++ /dev/null @@ -1,57 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Executes the given microflow as if the $currentuser is the provided user (delegation). Use sudoContext to determine if 'apply entity access' should be used - * - * - microflowName: the fully qualified microflow name, 'CommunityCommons.CreateUserIfNotExists' - * - username: The user that should be used to execute the microflow - * - sudoContext: whether entity access should be applied. - */ -public class executeMicroflowAsUser extends CustomJavaAction -{ - private String microflowName; - private String username; - private Boolean sudoContext; - - public executeMicroflowAsUser(IContext context, String microflowName, String username, Boolean sudoContext) - { - super(context); - this.microflowName = microflowName; - this.username = username; - this.sudoContext = sudoContext; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - Object res = Misc.executeMicroflowAsUser(getContext(), microflowName, username, sudoContext); - return res == null ? null : res.toString(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "executeMicroflowAsUser"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/executeMicroflowAsUser_1.java b/test/javasource/communitycommons/actions/executeMicroflowAsUser_1.java deleted file mode 100644 index ecc0011..0000000 --- a/test/javasource/communitycommons/actions/executeMicroflowAsUser_1.java +++ /dev/null @@ -1,58 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Identical to executeMicroflowAsUser, but takes 1 argument - */ -public class executeMicroflowAsUser_1 extends CustomJavaAction -{ - private String microflowName; - private String username; - private Boolean sudoContext; - private String arg1name; - private IMendixObject arg1value; - - public executeMicroflowAsUser_1(IContext context, String microflowName, String username, Boolean sudoContext, String arg1name, IMendixObject arg1value) - { - super(context); - this.microflowName = microflowName; - this.username = username; - this.sudoContext = sudoContext; - this.arg1name = arg1name; - this.arg1value = arg1value; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - Object res = Misc.executeMicroflowAsUser(getContext(), microflowName, username, sudoContext, arg1name, arg1value); - return res == null ? null : res.toString(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "executeMicroflowAsUser_1"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/executeMicroflowAsUser_2.java b/test/javasource/communitycommons/actions/executeMicroflowAsUser_2.java deleted file mode 100644 index 70a1583..0000000 --- a/test/javasource/communitycommons/actions/executeMicroflowAsUser_2.java +++ /dev/null @@ -1,62 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Identical to executeMicroflowAsUser, but takes 2 arguments - */ -public class executeMicroflowAsUser_2 extends CustomJavaAction -{ - private String microflowName; - private String username; - private Boolean sudoContext; - private String arg1name; - private IMendixObject arg1value; - private String arg2name; - private IMendixObject arg2value; - - public executeMicroflowAsUser_2(IContext context, String microflowName, String username, Boolean sudoContext, String arg1name, IMendixObject arg1value, String arg2name, IMendixObject arg2value) - { - super(context); - this.microflowName = microflowName; - this.username = username; - this.sudoContext = sudoContext; - this.arg1name = arg1name; - this.arg1value = arg1value; - this.arg2name = arg2name; - this.arg2value = arg2value; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - Object res = Misc.executeMicroflowAsUser(getContext(), microflowName, username, sudoContext, arg1name, arg1value, arg2name, arg2value); - return res == null ? null : res.toString(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "executeMicroflowAsUser_2"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/executeMicroflowInBackground.java b/test/javasource/communitycommons/actions/executeMicroflowInBackground.java deleted file mode 100644 index c20a3e6..0000000 --- a/test/javasource/communitycommons/actions/executeMicroflowInBackground.java +++ /dev/null @@ -1,63 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * This action allows an microflow to be executed independently from this microflow. - * This function is identical to "RunMicroflowAsyncInQueue", except that it takes one argument which will be passed to the microflow being called. - * - * This might be useful to model for example your own batching system, or to run a microflow in its own (system) transaction. The microflow is delayed for at least 200ms and then run with low priority in a system context. Since the microflow run in its own transaction, it is not affected with rollbacks (due to exceptions) or commits in this microflow. - * - * Invocations to this method are guaranteed to be run in FIFO order, only one microflow is run at a time. - * - * Note that since the microflow is run as system transaction, $currentUser is not available and no security restrictions are applied. - * - * - The microflowname specifies the fully qualified name of the microflow (case sensitive) e.g.: 'MyFirstModule.MyFirstMicroflow'. - * - The context object specifies an argument that should be passed to the microflow if applicable. Currently only zero or one argument are supported. Note that editing this object in both microflows might lead to unexpected behavior. - * - * Returns true if scheduled successfully. - */ -public class executeMicroflowInBackground extends CustomJavaAction -{ - private String microflowName; - private IMendixObject contextObject; - - public executeMicroflowInBackground(IContext context, String microflowName, IMendixObject contextObject) - { - super(context); - this.microflowName = microflowName; - this.contextObject = contextObject; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return Misc.runMicroflowInBackground(getContext(), microflowName, contextObject); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "executeMicroflowInBackground"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/executeMicroflowInBatches.java b/test/javasource/communitycommons/actions/executeMicroflowInBatches.java deleted file mode 100644 index 8eb39cb..0000000 --- a/test/javasource/communitycommons/actions/executeMicroflowInBatches.java +++ /dev/null @@ -1,71 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Invokes a microflow in batches. The microflow is invoked for each individual item returned by the xpath query. - * - * The objects will be processed in small batches (based on the batchsize), which makes this function very useful to process large amounts of objects without using much memory. All defaut behavior such as commit events are applied as defined in your microflow. - * - * Parameters: - * - xpath: Fully qualified xpath query that indicates the set of objects the microflow should be invoked on. For example: - * '//System.User[Active = true()]' - * - microflow: The microflow that should be invoked. Should accept one argument of the same type as the xpath. For example: - * 'MyFirstModule.UpdateBirthday' - * - batchsize: The amount of objects that should be processed in a single transaction. When in doubt, 1 is fine, but larger batches (for example; 100) will be faster due to less overhead. - * - waitUntilFinished: Whether this call should block (wait) until all objects are - * processed. - * - * Returns true if the batch has successfully started, or, if waitUntilFinished is true, returns true if the batch succeeded completely. - * - * Note, if new objects are added to the dataset while the batch is still running, those objects will be processed as well. - */ -public class executeMicroflowInBatches extends CustomJavaAction -{ - private String xpath; - private String microflow; - private Long batchsize; - private Boolean waitUntilFinished; - private Boolean ascending; - - public executeMicroflowInBatches(IContext context, String xpath, String microflow, Long batchsize, Boolean waitUntilFinished, Boolean ascending) - { - super(context); - this.xpath = xpath; - this.microflow = microflow; - this.batchsize = batchsize; - this.waitUntilFinished = waitUntilFinished; - this.ascending = ascending; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return Misc.executeMicroflowInBatches(xpath, microflow, batchsize.intValue(), waitUntilFinished.booleanValue(), ascending); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "executeMicroflowInBatches"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/getCreatedByUser.java b/test/javasource/communitycommons/actions/getCreatedByUser.java deleted file mode 100644 index 2389bc5..0000000 --- a/test/javasource/communitycommons/actions/getCreatedByUser.java +++ /dev/null @@ -1,51 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns the user that created an object - * - * (or empty if not applicable). - */ -public class getCreatedByUser extends CustomJavaAction -{ - private IMendixObject thing; - - public getCreatedByUser(IContext context, IMendixObject thing) - { - super(context); - this.thing = thing; - } - - @Override - public IMendixObject executeAction() throws Exception - { - // BEGIN USER CODE - return ORM.getCreatedByUser(getContext(), thing); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "getCreatedByUser"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/getDTAPMode.java b/test/javasource/communitycommons/actions/getDTAPMode.java deleted file mode 100644 index 2094b30..0000000 --- a/test/javasource/communitycommons/actions/getDTAPMode.java +++ /dev/null @@ -1,48 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.core.Core; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import communitycommons.proxies.DTAPMode; - -/** - * Returns the DTAP mode of this application instance - * DEPRECATED: Use IsInDevelopment instead - */ -public class getDTAPMode extends CustomJavaAction -{ - public getDTAPMode(IContext context) - { - super(context); - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - // DEPRECATED: Use IsInDevelopment instead - return DTAPMode.valueOf(Core.getConfiguration().getDTAPMode().toString()).toString(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "getDTAPMode"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/getFileSize.java b/test/javasource/communitycommons/actions/getFileSize.java deleted file mode 100644 index aca19e4..0000000 --- a/test/javasource/communitycommons/actions/getFileSize.java +++ /dev/null @@ -1,57 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns the filesize of a file document in bytes. - * - * From version 2.3 on, this function can be used in cloud environments as well. - * - * NOTE: - * before 2.1, this functioned returned the size in kilobytes, although this documentation mentioned bytes - */ -public class getFileSize extends CustomJavaAction -{ - private IMendixObject __document; - private system.proxies.FileDocument document; - - public getFileSize(IContext context, IMendixObject document) - { - super(context); - this.__document = document; - } - - @Override - public Long executeAction() throws Exception - { - this.document = __document == null ? null : system.proxies.FileDocument.initialize(getContext(), __document); - - // BEGIN USER CODE - return Misc.getFileSize(this.getContext(), document.getMendixObject()); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "getFileSize"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/getGUID.java b/test/javasource/communitycommons/actions/getGUID.java deleted file mode 100644 index aab82ad..0000000 --- a/test/javasource/communitycommons/actions/getGUID.java +++ /dev/null @@ -1,49 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * returns the Global Unique Identifier (GUID, or id) of an object. - */ -public class getGUID extends CustomJavaAction -{ - private IMendixObject item; - - public getGUID(IContext context, IMendixObject item) - { - super(context); - this.item = item; - } - - @Override - public Long executeAction() throws Exception - { - // BEGIN USER CODE - return ORM.getGUID(item); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "getGUID"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/getLastChangedByUser.java b/test/javasource/communitycommons/actions/getLastChangedByUser.java deleted file mode 100644 index 56d01b9..0000000 --- a/test/javasource/communitycommons/actions/getLastChangedByUser.java +++ /dev/null @@ -1,51 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns the user that last changed this object as System.User - * - * (or empty if not applicable). - */ -public class getLastChangedByUser extends CustomJavaAction -{ - private IMendixObject thing; - - public getLastChangedByUser(IContext context, IMendixObject thing) - { - super(context); - this.thing = thing; - } - - @Override - public IMendixObject executeAction() throws Exception - { - // BEGIN USER CODE - return ORM.getLastChangedByUser(getContext(), thing); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "getLastChangedByUser"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/getLockOwner.java b/test/javasource/communitycommons/actions/getLockOwner.java deleted file mode 100644 index 605c4ec..0000000 --- a/test/javasource/communitycommons/actions/getLockOwner.java +++ /dev/null @@ -1,49 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns the user.name of the lock owner, or empty if the item is not locked. - */ -public class getLockOwner extends CustomJavaAction -{ - private IMendixObject item; - - public getLockOwner(IContext context, IMendixObject item) - { - super(context); - this.item = item; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return ORM.getLockOwner(item); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "getLockOwner"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/getOriginalValueAsString.java b/test/javasource/communitycommons/actions/getOriginalValueAsString.java deleted file mode 100644 index 60652e4..0000000 --- a/test/javasource/communitycommons/actions/getOriginalValueAsString.java +++ /dev/null @@ -1,57 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns the original value of an object member, that is, the last committed value. - * - * This is useful if you want to compare the actual value with the last stored value. - * - item : the object of which you want to inspect a member - * - member: the member to retrieve the previous value from. Note that for references, the module name needs to be included. - * - * The function is applicable for non-String members as well, but always returns a String representation of the previous value. - */ -public class getOriginalValueAsString extends CustomJavaAction -{ - private IMendixObject item; - private String member; - - public getOriginalValueAsString(IContext context, IMendixObject item, String member) - { - super(context); - this.item = item; - this.member = member; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return ORM.getOriginalValueAsString(this.getContext(), item, member); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "getOriginalValueAsString"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/getTypeAsString.java b/test/javasource/communitycommons/actions/getTypeAsString.java deleted file mode 100644 index 6a0f68d..0000000 --- a/test/javasource/communitycommons/actions/getTypeAsString.java +++ /dev/null @@ -1,50 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns the actual type of an Entity. Useful as alternative way to split upon inheritance, or as input of other functions in this module. - */ -public class getTypeAsString extends CustomJavaAction -{ - private IMendixObject instance; - - public getTypeAsString(IContext context, IMendixObject instance) - { - super(context); - this.instance = instance; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - if (instance == null) - return ""; - return instance.getType(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "getTypeAsString"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/memberHasChanged.java b/test/javasource/communitycommons/actions/memberHasChanged.java deleted file mode 100644 index 66becdf..0000000 --- a/test/javasource/communitycommons/actions/memberHasChanged.java +++ /dev/null @@ -1,56 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Checks whether a member has changed since the last commit. Useful in combination with getOriginalValueAsString. - * - * - item : the object to inspect - * - member: the name of the member to inspect. Note that for references, the module name needs to be included. - * - * Returns true if changed. - */ -public class memberHasChanged extends CustomJavaAction -{ - private IMendixObject item; - private String member; - - public memberHasChanged(IContext context, IMendixObject item, String member) - { - super(context); - this.item = item; - this.member = member; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return ORM.memberHasChanged(this.getContext(), item, member); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "memberHasChanged"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/objectHasChanged.java b/test/javasource/communitycommons/actions/objectHasChanged.java deleted file mode 100644 index 921fe1b..0000000 --- a/test/javasource/communitycommons/actions/objectHasChanged.java +++ /dev/null @@ -1,49 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Returns true if at least one member (including owned associations) of this object has changed. - */ -public class objectHasChanged extends CustomJavaAction -{ - private IMendixObject item; - - public objectHasChanged(IContext context, IMendixObject item) - { - super(context); - this.item = item; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return ORM.objectHasChanged(item); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "objectHasChanged"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/objectIsNew.java b/test/javasource/communitycommons/actions/objectIsNew.java deleted file mode 100644 index 4eda6e5..0000000 --- a/test/javasource/communitycommons/actions/objectIsNew.java +++ /dev/null @@ -1,48 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * Returns true if this object is new (not committed in the database). - */ -public class objectIsNew extends CustomJavaAction -{ - private IMendixObject mxObject; - - public objectIsNew(IContext context, IMendixObject mxObject) - { - super(context); - this.mxObject = mxObject; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return this.mxObject.isNew(); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "objectIsNew"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/recommitInBatches.java b/test/javasource/communitycommons/actions/recommitInBatches.java deleted file mode 100644 index 22d246d..0000000 --- a/test/javasource/communitycommons/actions/recommitInBatches.java +++ /dev/null @@ -1,54 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * - */ -public class recommitInBatches extends CustomJavaAction -{ - private String xpath; - private Long batchsize; - private Boolean waitUntilFinished; - private Boolean ascending; - - public recommitInBatches(IContext context, String xpath, Long batchsize, Boolean waitUntilFinished, Boolean ascending) - { - super(context); - this.xpath = xpath; - this.batchsize = batchsize; - this.waitUntilFinished = waitUntilFinished; - this.ascending = ascending; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return Misc.recommitInBatches(xpath, batchsize.intValue(), waitUntilFinished.booleanValue(), ascending); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "recommitInBatches"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/refreshClass.java b/test/javasource/communitycommons/actions/refreshClass.java deleted file mode 100644 index 40f8d99..0000000 --- a/test/javasource/communitycommons/actions/refreshClass.java +++ /dev/null @@ -1,52 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; -import com.mendix.webui.FeedbackHelper; - -/** - * Refreshes a certain domain object type in the client. Useful to enforce a datagrid to refresh for example. - * - * -objectType : Type of the domain objects to refresh, such as System.User or MyModule.MyFirstEntity. - * (you can use getTypeAsString to determine this dynamically, so that the invoke of this action is not be sensitive to domain model changes). - */ -public class refreshClass extends CustomJavaAction -{ - private String objectType; - - public refreshClass(IContext context, String objectType) - { - super(context); - this.objectType = objectType; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - FeedbackHelper.addRefreshClass(this.getContext(), objectType); - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "refreshClass"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/refreshClassByObject.java b/test/javasource/communitycommons/actions/refreshClassByObject.java deleted file mode 100644 index 9855a3c..0000000 --- a/test/javasource/communitycommons/actions/refreshClassByObject.java +++ /dev/null @@ -1,54 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixObject; -import com.mendix.webui.CustomJavaAction; -import com.mendix.webui.FeedbackHelper; - -/** - * Refreshes a certain domain object type in the client. Useful to enforce a datagrid to refresh for example. - * - * - instance : This object is used to identify the type of objects that need to be refreshed. For example passing $currentUser will refresh all System.Account's. - */ -public class refreshClassByObject extends CustomJavaAction -{ - private IMendixObject instance; - - public refreshClassByObject(IContext context, IMendixObject instance) - { - super(context); - this.instance = instance; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - if (instance != null) { - FeedbackHelper.addRefreshClass(this.getContext(), instance.getType()); - } - return true; - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "refreshClassByObject"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/releaseAllInactiveLocks.java b/test/javasource/communitycommons/actions/releaseAllInactiveLocks.java deleted file mode 100644 index dc9b64b..0000000 --- a/test/javasource/communitycommons/actions/releaseAllInactiveLocks.java +++ /dev/null @@ -1,48 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Removes old locks - */ -public class releaseAllInactiveLocks extends CustomJavaAction -{ - public releaseAllInactiveLocks(IContext context) - { - super(context); - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - ORM.releaseOldLocks(); - return false; - //MWE: Lets return false :). We check this in the MF. If it returns true, than apparently a default generated java action was used and thus the code is missing. - //Since that is bug-report reason nr. 1, we now try to avoid this situation be displaying a clear log message - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "releaseAllInactiveLocks"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/releaseLock.java b/test/javasource/communitycommons/actions/releaseLock.java deleted file mode 100644 index 7f02f88..0000000 --- a/test/javasource/communitycommons/actions/releaseLock.java +++ /dev/null @@ -1,61 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Releases a lock. - * If force is true, the object will be released, even if the current user is not the owner of the lock. - * The result of this action has no meaning. - * - * Force mode should be avoided, but can be used to clear old locks. - * - * Every lock should be released when it is no longer required. - * - * Note that items should be released when exceptions occur in your microflows! - * - * Locks will be released automatically if another session request a lock on the same object, and the session is not active anymore. - */ -public class releaseLock extends CustomJavaAction -{ - private IMendixObject item; - private Boolean force; - - public releaseLock(IContext context, IMendixObject item, Boolean force) - { - super(context); - this.item = item; - this.force = force; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return ORM.releaseLock(this.getContext(), item, force); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "releaseLock"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/retrieveURL.java b/test/javasource/communitycommons/actions/retrieveURL.java deleted file mode 100644 index 9a41190..0000000 --- a/test/javasource/communitycommons/actions/retrieveURL.java +++ /dev/null @@ -1,60 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Retrieves data (such as an HTML page) from an URL using the HTTP protocol, and returns it as string. - * - * - url : The URL to retrieve. - * - post : Data to be sent in the request body. If set, a POST request will be send, otherwise a GET request is used. - * - * Example urls: - * 'https://mxforum.mendix.com/search/' - * 'http://www.google.nl/#hl=nl&q=download+mendix' - * - * Example post data: - * 'ipSearchTag=url&x=0&y=0' - */ -public class retrieveURL extends CustomJavaAction -{ - private String url; - private String postdata; - - public retrieveURL(IContext context, String url, String postdata) - { - super(context); - this.url = url; - this.postdata = postdata; - } - - @Override - public String executeAction() throws Exception - { - // BEGIN USER CODE - return Misc.retrieveURL(url, postdata); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "retrieveURL"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/storeURLToFileDocument.java b/test/javasource/communitycommons/actions/storeURLToFileDocument.java deleted file mode 100644 index 90a6bf7..0000000 --- a/test/javasource/communitycommons/actions/storeURLToFileDocument.java +++ /dev/null @@ -1,63 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.Misc; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Retrieve a document from an URL using a HTTP GET request. - * - url : the URL to retrieve - * - document: the document to store the data into - * - filename: the filename to store it under. Only for internal use, so it can be an arbitrary filename. - * - * Example URL: 'http://www.mendix.com/wordpress/wp-content/themes/mendix_new/images/mendix.png' - * - * NOTE: For images, no thumbnail will be generated. - */ -public class storeURLToFileDocument extends CustomJavaAction -{ - private String url; - private IMendixObject __document; - private system.proxies.FileDocument document; - private String filename; - - public storeURLToFileDocument(IContext context, String url, IMendixObject document, String filename) - { - super(context); - this.url = url; - this.__document = document; - this.filename = filename; - } - - @Override - public Boolean executeAction() throws Exception - { - this.document = __document == null ? null : system.proxies.FileDocument.initialize(getContext(), __document); - - // BEGIN USER CODE - return Misc.storeURLToFileDocument(this.getContext(), url, document.getMendixObject(), filename); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "storeURLToFileDocument"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/actions/waitForLock.java b/test/javasource/communitycommons/actions/waitForLock.java deleted file mode 100644 index 860470c..0000000 --- a/test/javasource/communitycommons/actions/waitForLock.java +++ /dev/null @@ -1,52 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Only the following code will be retained when actions are regenerated: -// - the import list -// - the code between BEGIN USER CODE and END USER CODE -// - the code between BEGIN EXTRA CODE and END EXTRA CODE -// Other code you write will be lost the next time you deploy the project. -// Special characters, e.g., é, ö, à, etc. are supported in comments. - -package communitycommons.actions; - -import com.mendix.systemwideinterfaces.core.IMendixObject; -import communitycommons.ORM; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Identical to acquirelock, but on failure, waits until the lock can be obtained. - * Returns true if the lock has been granted, or false if the timeout (in seconds) has expired. - */ -public class waitForLock extends CustomJavaAction -{ - private IMendixObject item; - private Long timeOutSeconds; - - public waitForLock(IContext context, IMendixObject item, Long timeOutSeconds) - { - super(context); - this.item = item; - this.timeOutSeconds = timeOutSeconds; - } - - @Override - public Boolean executeAction() throws Exception - { - // BEGIN USER CODE - return ORM.waitForLock(this.getContext(), item, timeOutSeconds); - // END USER CODE - } - - /** - * Returns a string representation of this action - */ - @Override - public String toString() - { - return "waitForLock"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/javasource/communitycommons/proxies/DTAPMode.java b/test/javasource/communitycommons/proxies/DTAPMode.java deleted file mode 100644 index 28e2e07..0000000 --- a/test/javasource/communitycommons/proxies/DTAPMode.java +++ /dev/null @@ -1,35 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package communitycommons.proxies; - -public enum DTAPMode -{ - DEVELOPMENT(new String[][] { new String[] { "en_US", "Development" }, new String[] { "nl_NL", "Development" } }), - TESTING(new String[][] { new String[] { "en_US", "Testing" }, new String[] { "nl_NL", "Testing" } }), - ACCEPTANCE(new String[][] { new String[] { "en_US", "Acceptance" }, new String[] { "nl_NL", "Acceptance" } }), - PRODUCTION(new String[][] { new String[] { "en_US", "Production" }, new String[] { "nl_NL", "Production" } }), - TRIAL(new String[][] { new String[] { "en_US", "Trial" }, new String[] { "nl_NL", "Trial" } }); - - private java.util.Map captions; - - private DTAPMode(String[][] captionStrings) - { - this.captions = new java.util.HashMap(); - for (String[] captionString : captionStrings) - captions.put(captionString[0], captionString[1]); - } - - public String getCaption(String languageCode) - { - if (captions.containsKey(languageCode)) - return captions.get(languageCode); - return captions.get("en_US"); - } - - public String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/communitycommons/proxies/DatePartSelector.java b/test/javasource/communitycommons/proxies/DatePartSelector.java deleted file mode 100644 index cf73c33..0000000 --- a/test/javasource/communitycommons/proxies/DatePartSelector.java +++ /dev/null @@ -1,33 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package communitycommons.proxies; - -public enum DatePartSelector -{ - year(new String[][] { new String[] { "en_US", "year" }, new String[] { "nl_NL", "jaar" } }), - month(new String[][] { new String[] { "en_US", "month" }, new String[] { "nl_NL", "maand" } }), - day(new String[][] { new String[] { "en_US", "day" }, new String[] { "nl_NL", "dag" } }); - - private java.util.Map captions; - - private DatePartSelector(String[][] captionStrings) - { - this.captions = new java.util.HashMap(); - for (String[] captionString : captionStrings) - captions.put(captionString[0], captionString[1]); - } - - public String getCaption(String languageCode) - { - if (captions.containsKey(languageCode)) - return captions.get(languageCode); - return captions.get("en_US"); - } - - public String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/communitycommons/proxies/LogLevel.java b/test/javasource/communitycommons/proxies/LogLevel.java deleted file mode 100644 index f2c30ed..0000000 --- a/test/javasource/communitycommons/proxies/LogLevel.java +++ /dev/null @@ -1,36 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package communitycommons.proxies; - -public enum LogLevel -{ - Trace(new String[][] { new String[] { "en_US", "Trace" }, new String[] { "nl_NL", "Trace" } }), - Debug(new String[][] { new String[] { "en_US", "Debug" }, new String[] { "nl_NL", "Debug" } }), - Info(new String[][] { new String[] { "en_US", "Info" }, new String[] { "nl_NL", "Info" } }), - Warning(new String[][] { new String[] { "en_US", "Warning" }, new String[] { "nl_NL", "Warning" } }), - Error(new String[][] { new String[] { "en_US", "Error" }, new String[] { "nl_NL", "Error" } }), - Critical(new String[][] { new String[] { "en_US", "Critical" }, new String[] { "nl_NL", "Critical" } }); - - private java.util.Map captions; - - private LogLevel(String[][] captionStrings) - { - this.captions = new java.util.HashMap(); - for (String[] captionString : captionStrings) - captions.put(captionString[0], captionString[1]); - } - - public String getCaption(String languageCode) - { - if (captions.containsKey(languageCode)) - return captions.get(languageCode); - return captions.get("en_US"); - } - - public String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/communitycommons/proxies/XSSPolicy.java b/test/javasource/communitycommons/proxies/XSSPolicy.java deleted file mode 100644 index dba55cb..0000000 --- a/test/javasource/communitycommons/proxies/XSSPolicy.java +++ /dev/null @@ -1,37 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package communitycommons.proxies; - -public enum XSSPolicy -{ - TinyMCE(new String[][] { new String[] { "en_US", "TinyMCE" }, new String[] { "nl_NL", "TinyMCE" } }), - MySpace(new String[][] { new String[] { "en_US", "MySpace" }, new String[] { "nl_NL", "MySpace" } }), - eBay(new String[][] { new String[] { "en_US", "eBay" }, new String[] { "nl_NL", "eBay" } }), - Slashdot(new String[][] { new String[] { "en_US", "Slashdot" }, new String[] { "nl_NL", "Slashdot" } }), - anythinggoes(new String[][] { new String[] { "en_US", "Allow anything" }, new String[] { "nl_NL", "Alles toestaan" } }), - BootstrapRTE(new String[][] { new String[] { "en_US", "Bootstrap Rich Text Editor" }, new String[] { "nl_NL", "Bootstrap Rich Text Editor" } }), - BootstrapRTE_nolink(new String[][] { new String[] { "en_US", "Bootstrap Rich Text Editor no hyperlink" }, new String[] { "nl_NL", "Bootstrap Rich Text Editor no hyperlink" } }); - - private java.util.Map captions; - - private XSSPolicy(String[][] captionStrings) - { - this.captions = new java.util.HashMap(); - for (String[] captionString : captionStrings) - captions.put(captionString[0], captionString[1]); - } - - public String getCaption(String languageCode) - { - if (captions.containsKey(languageCode)) - return captions.get(languageCode); - return captions.get("en_US"); - } - - public String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/communitycommons/proxies/constants/Constants.java b/test/javasource/communitycommons/proxies/constants/Constants.java deleted file mode 100644 index f34e77a..0000000 --- a/test/javasource/communitycommons/proxies/constants/Constants.java +++ /dev/null @@ -1,17 +0,0 @@ -// This file was generated by Mendix Business Modeler 5.0. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package communitycommons.proxies.constants; - -import com.mendix.core.Core; - -public class Constants -{ - // These are the constants for the CommunityCommons module - - public static boolean getenableReleaseLockEvent() - { - return (Boolean)Core.getConfiguration().getConstantValue("CommunityCommons.enableReleaseLockEvent"); - } -} \ No newline at end of file diff --git a/test/javasource/communitycommons/proxies/microflows/Microflows.java b/test/javasource/communitycommons/proxies/microflows/Microflows.java deleted file mode 100644 index 1ddc4aa..0000000 --- a/test/javasource/communitycommons/proxies/microflows/Microflows.java +++ /dev/null @@ -1,94 +0,0 @@ -// This file was generated by Mendix Business Modeler 5.0. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package communitycommons.proxies.microflows; - -import java.util.HashMap; -import java.util.Map; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.MendixRuntimeException; -import com.mendix.systemwideinterfaces.core.IContext; - -public class Microflows -{ - // These are the microflows for the CommunityCommons module - - public static void assertTrue(IContext context, boolean _valueToAssert) - { - try - { - Map params = new HashMap(); - params.put("valueToAssert", _valueToAssert); - Core.execute(context, "CommunityCommons.AssertTrue", params); - } - catch (CoreException e) - { - throw new MendixRuntimeException(e); - } - } - - public static void assertTrue_2(IContext context, boolean _valueToAssert, String _message) - { - try - { - Map params = new HashMap(); - params.put("valueToAssert", _valueToAssert); - params.put("message", _message); - Core.execute(context, "CommunityCommons.AssertTrue_2", params); - } - catch (CoreException e) - { - throw new MendixRuntimeException(e); - } - } - - public static void createUserIfNotExists(IContext context, String _username, String _role, String _password, boolean _webserviceUser) - { - try - { - Map params = new HashMap(); - params.put("Username", _username); - params.put("Role", _role); - params.put("Password", _password); - params.put("WebserviceUser", _webserviceUser); - Core.execute(context, "CommunityCommons.CreateUserIfNotExists", params); - } - catch (CoreException e) - { - throw new MendixRuntimeException(e); - } - } - - public static void releaseOldLocksSE(IContext context) - { - try - { - Map params = new HashMap(); - Core.execute(context, "CommunityCommons.releaseOldLocksSE", params); - } - catch (CoreException e) - { - throw new MendixRuntimeException(e); - } - } - - public static void updateUserHelper(IContext context, String _username, String _role, String _password, boolean _webserviceUser, system.proxies.User _user) - { - try - { - Map params = new HashMap(); - params.put("Username", _username); - params.put("Role", _role); - params.put("Password", _password); - params.put("WebserviceUser", _webserviceUser); - params.put("User", _user == null ? null : _user.getMendixObject()); - Core.execute(context, "CommunityCommons.UpdateUserHelper", params); - } - catch (CoreException e) - { - throw new MendixRuntimeException(e); - } - } -} \ No newline at end of file diff --git a/test/javasource/inviteapi/proxies/microflows/Microflows.java b/test/javasource/inviteapi/proxies/microflows/Microflows.java new file mode 100644 index 0000000..495cccf --- /dev/null +++ b/test/javasource/inviteapi/proxies/microflows/Microflows.java @@ -0,0 +1,34 @@ +// This file was generated by Mendix Modeler 6.10. +// +// WARNING: Code you write here will be lost the next time you deploy the project. + +package inviteapi.proxies.microflows; + +import java.util.HashMap; +import java.util.Map; +import com.mendix.core.Core; +import com.mendix.core.CoreException; +import com.mendix.systemwideinterfaces.MendixRuntimeException; +import com.mendix.systemwideinterfaces.core.IContext; + +public class Microflows +{ + // These are the microflows for the InviteAPI module + public static void sendInvite(IContext context, java.lang.String _environmentUUID, java.lang.String _environmentPassword, java.lang.String _roleUUID, java.lang.String _inviteeEmailAddress, java.lang.String _inviterEmailAddress) + { + try + { + Map params = new HashMap(); + params.put("EnvironmentUUID", _environmentUUID); + params.put("EnvironmentPassword", _environmentPassword); + params.put("RoleUUID", _roleUUID); + params.put("InviteeEmailAddress", _inviteeEmailAddress); + params.put("InviterEmailAddress", _inviterEmailAddress); + Core.execute(context, "InviteAPI.SendInvite", params); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } +} \ No newline at end of file diff --git a/test/javasource/myfirstmodule/proxies/Camera.java b/test/javasource/myfirstmodule/proxies/Camera.java index 6f6b199..2d722c7 100644 --- a/test/javasource/myfirstmodule/proxies/Camera.java +++ b/test/javasource/myfirstmodule/proxies/Camera.java @@ -1,28 +1,19 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package myfirstmodule.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ public class Camera { - private final IMendixObject cameraMendixObject; + private final com.mendix.systemwideinterfaces.core.IMendixObject cameraMendixObject; - private final IContext context; + private final com.mendix.systemwideinterfaces.core.IContext context; /** * Internal name of this entity */ - public static final String entityName = "MyFirstModule.Camera"; + public static final java.lang.String entityName = "MyFirstModule.Camera"; /** * Enum describing members of this entity @@ -30,34 +21,33 @@ public class Camera public enum MemberNames { Name("Name"), - Location("Location"), - TimerObjects_Camera("MyFirstModule.TimerObjects_Camera"); + Location("Location"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public Camera(IContext context) + public Camera(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "MyFirstModule.Camera")); + this(context, com.mendix.core.Core.instantiate(context, "MyFirstModule.Camera")); } - protected Camera(IContext context, IMendixObject cameraMendixObject) + protected Camera(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject cameraMendixObject) { if (cameraMendixObject == null) - throw new IllegalArgumentException("The given object cannot be null."); - if (!Core.isSubClassOf("MyFirstModule.Camera", cameraMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a MyFirstModule.Camera"); + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("MyFirstModule.Camera", cameraMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a MyFirstModule.Camera"); this.cameraMendixObject = cameraMendixObject; this.context = context; @@ -67,7 +57,7 @@ protected Camera(IContext context, IMendixObject cameraMendixObject) * @deprecated Use 'Camera.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static myfirstmodule.proxies.Camera initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static myfirstmodule.proxies.Camera initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return myfirstmodule.proxies.Camera.load(context, mendixIdentifier); } @@ -76,21 +66,21 @@ public static myfirstmodule.proxies.Camera initialize(IContext context, IMendixI * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static myfirstmodule.proxies.Camera initialize(IContext context, IMendixObject mendixObject) + public static myfirstmodule.proxies.Camera initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { return new myfirstmodule.proxies.Camera(context, mendixObject); } - public static myfirstmodule.proxies.Camera load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static myfirstmodule.proxies.Camera load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return myfirstmodule.proxies.Camera.initialize(context, mendixObject); } - public static java.util.List load(IContext context, String xpathConstraint) throws CoreException + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//MyFirstModule.Camera" + xpathConstraint)) + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//MyFirstModule.Camera" + xpathConstraint)) result.add(myfirstmodule.proxies.Camera.initialize(context, obj)); return result; } @@ -98,17 +88,17 @@ public static java.util.List load(IContext context /** * Commit the changes made on this proxy object. */ - public final void commit() throws CoreException + public final void commit() throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** * Commit the changes made on this proxy object using the specified context. */ - public final void commit(IContext context) throws CoreException + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** @@ -116,20 +106,20 @@ public final void commit(IContext context) throws CoreException */ public final void delete() { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * Delete the object using the specified context. */ - public final void delete(IContext context) + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * @return value of Name */ - public final String getName() + public final java.lang.String getName() { return getName(getContext()); } @@ -138,16 +128,16 @@ public final String getName() * @param context * @return value of Name */ - public final String getName(IContext context) + public final java.lang.String getName(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Name.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Name.toString()); } /** * Set value of Name * @param name */ - public final void setName(String name) + public final void setName(java.lang.String name) { setName(getContext(), name); } @@ -157,7 +147,7 @@ public final void setName(String name) * @param context * @param name */ - public final void setName(IContext context, String name) + public final void setName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String name) { getMendixObject().setValue(context, MemberNames.Name.toString(), name); } @@ -165,7 +155,7 @@ public final void setName(IContext context, String name) /** * @return value of Location */ - public final String getLocation() + public final java.lang.String getLocation() { return getLocation(getContext()); } @@ -174,16 +164,16 @@ public final String getLocation() * @param context * @return value of Location */ - public final String getLocation(IContext context) + public final java.lang.String getLocation(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Location.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Location.toString()); } /** * Set value of Location * @param location */ - public final void setLocation(String location) + public final void setLocation(java.lang.String location) { setLocation(getContext(), location); } @@ -193,58 +183,15 @@ public final void setLocation(String location) * @param context * @param location */ - public final void setLocation(IContext context, String location) + public final void setLocation(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String location) { getMendixObject().setValue(context, MemberNames.Location.toString(), location); } - /** - * @return value of TimerObjects_Camera - */ - public final myfirstmodule.proxies.TimerItems getTimerObjects_Camera() throws CoreException - { - return getTimerObjects_Camera(getContext()); - } - - /** - * @param context - * @return value of TimerObjects_Camera - */ - public final myfirstmodule.proxies.TimerItems getTimerObjects_Camera(IContext context) throws CoreException - { - myfirstmodule.proxies.TimerItems result = null; - IMendixIdentifier identifier = getMendixObject().getValue(context, MemberNames.TimerObjects_Camera.toString()); - if (identifier != null) - result = myfirstmodule.proxies.TimerItems.load(context, identifier); - return result; - } - - /** - * Set value of TimerObjects_Camera - * @param timerobjects_camera - */ - public final void setTimerObjects_Camera(myfirstmodule.proxies.TimerItems timerobjects_camera) - { - setTimerObjects_Camera(getContext(), timerobjects_camera); - } - - /** - * Set value of TimerObjects_Camera - * @param context - * @param timerobjects_camera - */ - public final void setTimerObjects_Camera(IContext context, myfirstmodule.proxies.TimerItems timerobjects_camera) - { - if (timerobjects_camera == null) - getMendixObject().setValue(context, MemberNames.TimerObjects_Camera.toString(), null); - else - getMendixObject().setValue(context, MemberNames.TimerObjects_Camera.toString(), timerobjects_camera.getMendixObject().getId()); - } - /** * @return the IMendixObject instance of this proxy for use in the Core interface. */ - public final IMendixObject getMendixObject() + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() { return cameraMendixObject; } @@ -252,7 +199,7 @@ public final IMendixObject getMendixObject() /** * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. */ - public final IContext getContext() + public final com.mendix.systemwideinterfaces.core.IContext getContext() { return context; } @@ -280,7 +227,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "MyFirstModule.Camera"; } @@ -290,7 +237,7 @@ public static String getType() * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. */ @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/myfirstmodule/proxies/Settings.java b/test/javasource/myfirstmodule/proxies/Settings.java deleted file mode 100644 index 62ce552..0000000 --- a/test/javasource/myfirstmodule/proxies/Settings.java +++ /dev/null @@ -1,216 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package myfirstmodule.proxies; - -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ -public class Settings -{ - private final IMendixObject settingsMendixObject; - - private final IContext context; - - /** - * Internal name of this entity - */ - public static final String entityName = "MyFirstModule.Settings"; - - /** - * Enum describing members of this entity - */ - public enum MemberNames - { - ShowAdditionalData("ShowAdditionalData"); - - private String metaName; - - MemberNames(String s) - { - metaName = s; - } - - @Override - public String toString() - { - return metaName; - } - } - - public Settings(IContext context) - { - this(context, Core.instantiate(context, "MyFirstModule.Settings")); - } - - protected Settings(IContext context, IMendixObject settingsMendixObject) - { - if (settingsMendixObject == null) - throw new IllegalArgumentException("The given object cannot be null."); - if (!Core.isSubClassOf("MyFirstModule.Settings", settingsMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a MyFirstModule.Settings"); - - this.settingsMendixObject = settingsMendixObject; - this.context = context; - } - - /** - * @deprecated Use 'Settings.load(IContext, IMendixIdentifier)' instead. - */ - @Deprecated - public static myfirstmodule.proxies.Settings initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException - { - return myfirstmodule.proxies.Settings.load(context, mendixIdentifier); - } - - /** - * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. - * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). - */ - public static myfirstmodule.proxies.Settings initialize(IContext context, IMendixObject mendixObject) - { - return new myfirstmodule.proxies.Settings(context, mendixObject); - } - - public static myfirstmodule.proxies.Settings load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException - { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); - return myfirstmodule.proxies.Settings.initialize(context, mendixObject); - } - - public static java.util.List load(IContext context, String xpathConstraint) throws CoreException - { - java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//MyFirstModule.Settings" + xpathConstraint)) - result.add(myfirstmodule.proxies.Settings.initialize(context, obj)); - return result; - } - - /** - * Commit the changes made on this proxy object. - */ - public final void commit() throws CoreException - { - Core.commit(context, getMendixObject()); - } - - /** - * Commit the changes made on this proxy object using the specified context. - */ - public final void commit(IContext context) throws CoreException - { - Core.commit(context, getMendixObject()); - } - - /** - * Delete the object. - */ - public final void delete() - { - Core.delete(context, getMendixObject()); - } - - /** - * Delete the object using the specified context. - */ - public final void delete(IContext context) - { - Core.delete(context, getMendixObject()); - } - /** - * @return value of ShowAdditionalData - */ - public final Boolean getShowAdditionalData() - { - return getShowAdditionalData(getContext()); - } - - /** - * @param context - * @return value of ShowAdditionalData - */ - public final Boolean getShowAdditionalData(IContext context) - { - return (Boolean) getMendixObject().getValue(context, MemberNames.ShowAdditionalData.toString()); - } - - /** - * Set value of ShowAdditionalData - * @param showadditionaldata - */ - public final void setShowAdditionalData(Boolean showadditionaldata) - { - setShowAdditionalData(getContext(), showadditionaldata); - } - - /** - * Set value of ShowAdditionalData - * @param context - * @param showadditionaldata - */ - public final void setShowAdditionalData(IContext context, Boolean showadditionaldata) - { - getMendixObject().setValue(context, MemberNames.ShowAdditionalData.toString(), showadditionaldata); - } - - /** - * @return the IMendixObject instance of this proxy for use in the Core interface. - */ - public final IMendixObject getMendixObject() - { - return settingsMendixObject; - } - - /** - * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. - */ - public final IContext getContext() - { - return context; - } - - @Override - public boolean equals(Object obj) - { - if (obj == this) - return true; - - if (obj != null && getClass().equals(obj.getClass())) - { - final myfirstmodule.proxies.Settings that = (myfirstmodule.proxies.Settings) obj; - return getMendixObject().equals(that.getMendixObject()); - } - return false; - } - - @Override - public int hashCode() - { - return getMendixObject().hashCode(); - } - - /** - * @return String name of this class - */ - public static String getType() - { - return "MyFirstModule.Settings"; - } - - /** - * @return String GUID from this object, format: ID_0000000000 - * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. - */ - @Deprecated - public String getGUID() - { - return "ID_" + getMendixObject().getId().toLong(); - } -} diff --git a/test/javasource/myfirstmodule/proxies/TimerItems.java b/test/javasource/myfirstmodule/proxies/TimerItems.java deleted file mode 100644 index 345b78b..0000000 --- a/test/javasource/myfirstmodule/proxies/TimerItems.java +++ /dev/null @@ -1,260 +0,0 @@ -// This file was generated by Mendix Business Modeler. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package myfirstmodule.proxies; - -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ -public class TimerItems -{ - private final IMendixObject timerItemsMendixObject; - - private final IContext context; - - /** - * Internal name of this entity - */ - public static final String entityName = "MyFirstModule.TimerItems"; - - /** - * Enum describing members of this entity - */ - public enum MemberNames - { - CurrentTimeString("CurrentTimeString"), - TimerObjects_Camera("MyFirstModule.TimerObjects_Camera"); - - private String metaName; - - MemberNames(String s) - { - metaName = s; - } - - @Override - public String toString() - { - return metaName; - } - } - - public TimerItems(IContext context) - { - this(context, Core.instantiate(context, "MyFirstModule.TimerItems")); - } - - protected TimerItems(IContext context, IMendixObject timerItemsMendixObject) - { - if (timerItemsMendixObject == null) - throw new IllegalArgumentException("The given object cannot be null."); - if (!Core.isSubClassOf("MyFirstModule.TimerItems", timerItemsMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a MyFirstModule.TimerItems"); - - this.timerItemsMendixObject = timerItemsMendixObject; - this.context = context; - } - - /** - * @deprecated Use 'TimerItems.load(IContext, IMendixIdentifier)' instead. - */ - @Deprecated - public static myfirstmodule.proxies.TimerItems initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException - { - return myfirstmodule.proxies.TimerItems.load(context, mendixIdentifier); - } - - /** - * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. - * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). - */ - public static myfirstmodule.proxies.TimerItems initialize(IContext context, IMendixObject mendixObject) - { - return new myfirstmodule.proxies.TimerItems(context, mendixObject); - } - - public static myfirstmodule.proxies.TimerItems load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException - { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); - return myfirstmodule.proxies.TimerItems.initialize(context, mendixObject); - } - - public static java.util.List load(IContext context, String xpathConstraint) throws CoreException - { - java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//MyFirstModule.TimerItems" + xpathConstraint)) - result.add(myfirstmodule.proxies.TimerItems.initialize(context, obj)); - return result; - } - - /** - * Commit the changes made on this proxy object. - */ - public final void commit() throws CoreException - { - Core.commit(context, getMendixObject()); - } - - /** - * Commit the changes made on this proxy object using the specified context. - */ - public final void commit(IContext context) throws CoreException - { - Core.commit(context, getMendixObject()); - } - - /** - * Delete the object. - */ - public final void delete() - { - Core.delete(context, getMendixObject()); - } - - /** - * Delete the object using the specified context. - */ - public final void delete(IContext context) - { - Core.delete(context, getMendixObject()); - } - /** - * @return value of CurrentTimeString - */ - public final String getCurrentTimeString() - { - return getCurrentTimeString(getContext()); - } - - /** - * @param context - * @return value of CurrentTimeString - */ - public final String getCurrentTimeString(IContext context) - { - return (String) getMendixObject().getValue(context, MemberNames.CurrentTimeString.toString()); - } - - /** - * Set value of CurrentTimeString - * @param currenttimestring - */ - public final void setCurrentTimeString(String currenttimestring) - { - setCurrentTimeString(getContext(), currenttimestring); - } - - /** - * Set value of CurrentTimeString - * @param context - * @param currenttimestring - */ - public final void setCurrentTimeString(IContext context, String currenttimestring) - { - getMendixObject().setValue(context, MemberNames.CurrentTimeString.toString(), currenttimestring); - } - - /** - * @return value of TimerObjects_Camera - */ - public final myfirstmodule.proxies.Camera getTimerObjects_Camera() throws CoreException - { - return getTimerObjects_Camera(getContext()); - } - - /** - * @param context - * @return value of TimerObjects_Camera - */ - public final myfirstmodule.proxies.Camera getTimerObjects_Camera(IContext context) throws CoreException - { - myfirstmodule.proxies.Camera result = null; - IMendixIdentifier identifier = getMendixObject().getValue(context, MemberNames.TimerObjects_Camera.toString()); - if (identifier != null) - result = myfirstmodule.proxies.Camera.load(context, identifier); - return result; - } - - /** - * Set value of TimerObjects_Camera - * @param timerobjects_camera - */ - public final void setTimerObjects_Camera(myfirstmodule.proxies.Camera timerobjects_camera) - { - setTimerObjects_Camera(getContext(), timerobjects_camera); - } - - /** - * Set value of TimerObjects_Camera - * @param context - * @param timerobjects_camera - */ - public final void setTimerObjects_Camera(IContext context, myfirstmodule.proxies.Camera timerobjects_camera) - { - if (timerobjects_camera == null) - getMendixObject().setValue(context, MemberNames.TimerObjects_Camera.toString(), null); - else - getMendixObject().setValue(context, MemberNames.TimerObjects_Camera.toString(), timerobjects_camera.getMendixObject().getId()); - } - - /** - * @return the IMendixObject instance of this proxy for use in the Core interface. - */ - public final IMendixObject getMendixObject() - { - return timerItemsMendixObject; - } - - /** - * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. - */ - public final IContext getContext() - { - return context; - } - - @Override - public boolean equals(Object obj) - { - if (obj == this) - return true; - - if (obj != null && getClass().equals(obj.getClass())) - { - final myfirstmodule.proxies.TimerItems that = (myfirstmodule.proxies.TimerItems) obj; - return getMendixObject().equals(that.getMendixObject()); - } - return false; - } - - @Override - public int hashCode() - { - return getMendixObject().hashCode(); - } - - /** - * @return String name of this class - */ - public static String getType() - { - return "MyFirstModule.TimerItems"; - } - - /** - * @return String GUID from this object, format: ID_0000000000 - * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. - */ - @Deprecated - public String getGUID() - { - return "ID_" + getMendixObject().getId().toLong(); - } -} diff --git a/test/javasource/myfirstmodule/proxies/microflows/Microflows.java b/test/javasource/myfirstmodule/proxies/microflows/Microflows.java new file mode 100644 index 0000000..489a52a --- /dev/null +++ b/test/javasource/myfirstmodule/proxies/microflows/Microflows.java @@ -0,0 +1,30 @@ +// This file was generated by Mendix Modeler 6.10. +// +// WARNING: Code you write here will be lost the next time you deploy the project. + +package myfirstmodule.proxies.microflows; + +import java.util.HashMap; +import java.util.Map; +import com.mendix.core.Core; +import com.mendix.core.CoreException; +import com.mendix.systemwideinterfaces.MendixRuntimeException; +import com.mendix.systemwideinterfaces.core.IContext; + +public class Microflows +{ + // These are the microflows for the MyFirstModule module + public static void click(IContext context, myfirstmodule.proxies.Camera _camera) + { + try + { + Map params = new HashMap(); + params.put("Camera", _camera == null ? null : _camera.getMendixObject()); + Core.execute(context, "MyFirstModule.Click", params); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } +} \ No newline at end of file diff --git a/test/javasource/permissionsapi/proxies/AppRole.java b/test/javasource/permissionsapi/proxies/AppRole.java new file mode 100644 index 0000000..90fc87e --- /dev/null +++ b/test/javasource/permissionsapi/proxies/AppRole.java @@ -0,0 +1,236 @@ +// This file was generated by Mendix Modeler. +// +// WARNING: Code you write here will be lost the next time you deploy the project. + +package permissionsapi.proxies; + +public class AppRole +{ + private final com.mendix.systemwideinterfaces.core.IMendixObject appRoleMendixObject; + + private final com.mendix.systemwideinterfaces.core.IContext context; + + /** + * Internal name of this entity + */ + public static final java.lang.String entityName = "PermissionsAPI.AppRole"; + + /** + * Enum describing members of this entity + */ + public enum MemberNames + { + UUID("UUID"), + DisplayName("DisplayName"); + + private java.lang.String metaName; + + MemberNames(java.lang.String s) + { + metaName = s; + } + + @Override + public java.lang.String toString() + { + return metaName; + } + } + + public AppRole(com.mendix.systemwideinterfaces.core.IContext context) + { + this(context, com.mendix.core.Core.instantiate(context, "PermissionsAPI.AppRole")); + } + + protected AppRole(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject appRoleMendixObject) + { + if (appRoleMendixObject == null) + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("PermissionsAPI.AppRole", appRoleMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a PermissionsAPI.AppRole"); + + this.appRoleMendixObject = appRoleMendixObject; + this.context = context; + } + + /** + * @deprecated Use 'AppRole.load(IContext, IMendixIdentifier)' instead. + */ + @Deprecated + public static permissionsapi.proxies.AppRole initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException + { + return permissionsapi.proxies.AppRole.load(context, mendixIdentifier); + } + + /** + * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. + * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). + */ + public static permissionsapi.proxies.AppRole initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) + { + return new permissionsapi.proxies.AppRole(context, mendixObject); + } + + public static permissionsapi.proxies.AppRole load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException + { + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); + return permissionsapi.proxies.AppRole.initialize(context, mendixObject); + } + + /** + * Commit the changes made on this proxy object. + */ + public final void commit() throws com.mendix.core.CoreException + { + com.mendix.core.Core.commit(context, getMendixObject()); + } + + /** + * Commit the changes made on this proxy object using the specified context. + */ + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException + { + com.mendix.core.Core.commit(context, getMendixObject()); + } + + /** + * Delete the object. + */ + public final void delete() + { + com.mendix.core.Core.delete(context, getMendixObject()); + } + + /** + * Delete the object using the specified context. + */ + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) + { + com.mendix.core.Core.delete(context, getMendixObject()); + } + /** + * @return value of UUID + */ + public final java.lang.String getUUID() + { + return getUUID(getContext()); + } + + /** + * @param context + * @return value of UUID + */ + public final java.lang.String getUUID(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.UUID.toString()); + } + + /** + * Set value of UUID + * @param uuid + */ + public final void setUUID(java.lang.String uuid) + { + setUUID(getContext(), uuid); + } + + /** + * Set value of UUID + * @param context + * @param uuid + */ + public final void setUUID(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String uuid) + { + getMendixObject().setValue(context, MemberNames.UUID.toString(), uuid); + } + + /** + * @return value of DisplayName + */ + public final java.lang.String getDisplayName() + { + return getDisplayName(getContext()); + } + + /** + * @param context + * @return value of DisplayName + */ + public final java.lang.String getDisplayName(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.DisplayName.toString()); + } + + /** + * Set value of DisplayName + * @param displayname + */ + public final void setDisplayName(java.lang.String displayname) + { + setDisplayName(getContext(), displayname); + } + + /** + * Set value of DisplayName + * @param context + * @param displayname + */ + public final void setDisplayName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String displayname) + { + getMendixObject().setValue(context, MemberNames.DisplayName.toString(), displayname); + } + + /** + * @return the IMendixObject instance of this proxy for use in the Core interface. + */ + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() + { + return appRoleMendixObject; + } + + /** + * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. + */ + public final com.mendix.systemwideinterfaces.core.IContext getContext() + { + return context; + } + + @Override + public boolean equals(Object obj) + { + if (obj == this) + return true; + + if (obj != null && getClass().equals(obj.getClass())) + { + final permissionsapi.proxies.AppRole that = (permissionsapi.proxies.AppRole) obj; + return getMendixObject().equals(that.getMendixObject()); + } + return false; + } + + @Override + public int hashCode() + { + return getMendixObject().hashCode(); + } + + /** + * @return String name of this class + */ + public static java.lang.String getType() + { + return "PermissionsAPI.AppRole"; + } + + /** + * @return String GUID from this object, format: ID_0000000000 + * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. + */ + @Deprecated + public java.lang.String getGUID() + { + return "ID_" + getMendixObject().getId().toLong(); + } +} diff --git a/test/javasource/permissionsapi/proxies/microflows/Microflows.java b/test/javasource/permissionsapi/proxies/microflows/Microflows.java new file mode 100644 index 0000000..214120e --- /dev/null +++ b/test/javasource/permissionsapi/proxies/microflows/Microflows.java @@ -0,0 +1,41 @@ +// This file was generated by Mendix Modeler 6.10. +// +// WARNING: Code you write here will be lost the next time you deploy the project. + +package permissionsapi.proxies.microflows; + +import java.util.HashMap; +import java.util.Map; +import com.mendix.core.Core; +import com.mendix.core.CoreException; +import com.mendix.systemwideinterfaces.MendixRuntimeException; +import com.mendix.systemwideinterfaces.core.IContext; +import com.mendix.systemwideinterfaces.core.IMendixObject; + +public class Microflows +{ + // These are the microflows for the PermissionsAPI module + public static java.util.List getRolesForOpenID(IContext context, java.lang.String _openID, java.lang.String _environmentID, java.lang.String _environmentPassword) + { + try + { + Map params = new HashMap(); + params.put("OpenID", _openID); + params.put("EnvironmentID", _environmentID); + params.put("EnvironmentPassword", _environmentPassword); + java.util.List objs = Core.execute(context, "PermissionsAPI.GetRolesForOpenID", params); + java.util.List result = null; + if (objs != null) + { + result = new java.util.ArrayList(); + for (IMendixObject obj : objs) + result.add(permissionsapi.proxies.AppRole.initialize(context, obj)); + } + return result; + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } +} \ No newline at end of file diff --git a/test/javasource/profileservice/proxies/Company.java b/test/javasource/profileservice/proxies/Company.java new file mode 100644 index 0000000..220c68c --- /dev/null +++ b/test/javasource/profileservice/proxies/Company.java @@ -0,0 +1,236 @@ +// This file was generated by Mendix Modeler. +// +// WARNING: Code you write here will be lost the next time you deploy the project. + +package profileservice.proxies; + +public class Company +{ + private final com.mendix.systemwideinterfaces.core.IMendixObject companyMendixObject; + + private final com.mendix.systemwideinterfaces.core.IContext context; + + /** + * Internal name of this entity + */ + public static final java.lang.String entityName = "ProfileService.Company"; + + /** + * Enum describing members of this entity + */ + public enum MemberNames + { + CompanyId("CompanyId"), + CompanyName("CompanyName"); + + private java.lang.String metaName; + + MemberNames(java.lang.String s) + { + metaName = s; + } + + @Override + public java.lang.String toString() + { + return metaName; + } + } + + public Company(com.mendix.systemwideinterfaces.core.IContext context) + { + this(context, com.mendix.core.Core.instantiate(context, "ProfileService.Company")); + } + + protected Company(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject companyMendixObject) + { + if (companyMendixObject == null) + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("ProfileService.Company", companyMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a ProfileService.Company"); + + this.companyMendixObject = companyMendixObject; + this.context = context; + } + + /** + * @deprecated Use 'Company.load(IContext, IMendixIdentifier)' instead. + */ + @Deprecated + public static profileservice.proxies.Company initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException + { + return profileservice.proxies.Company.load(context, mendixIdentifier); + } + + /** + * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. + * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). + */ + public static profileservice.proxies.Company initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) + { + return new profileservice.proxies.Company(context, mendixObject); + } + + public static profileservice.proxies.Company load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException + { + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); + return profileservice.proxies.Company.initialize(context, mendixObject); + } + + /** + * Commit the changes made on this proxy object. + */ + public final void commit() throws com.mendix.core.CoreException + { + com.mendix.core.Core.commit(context, getMendixObject()); + } + + /** + * Commit the changes made on this proxy object using the specified context. + */ + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException + { + com.mendix.core.Core.commit(context, getMendixObject()); + } + + /** + * Delete the object. + */ + public final void delete() + { + com.mendix.core.Core.delete(context, getMendixObject()); + } + + /** + * Delete the object using the specified context. + */ + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) + { + com.mendix.core.Core.delete(context, getMendixObject()); + } + /** + * @return value of CompanyId + */ + public final java.lang.String getCompanyId() + { + return getCompanyId(getContext()); + } + + /** + * @param context + * @return value of CompanyId + */ + public final java.lang.String getCompanyId(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.CompanyId.toString()); + } + + /** + * Set value of CompanyId + * @param companyid + */ + public final void setCompanyId(java.lang.String companyid) + { + setCompanyId(getContext(), companyid); + } + + /** + * Set value of CompanyId + * @param context + * @param companyid + */ + public final void setCompanyId(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String companyid) + { + getMendixObject().setValue(context, MemberNames.CompanyId.toString(), companyid); + } + + /** + * @return value of CompanyName + */ + public final java.lang.String getCompanyName() + { + return getCompanyName(getContext()); + } + + /** + * @param context + * @return value of CompanyName + */ + public final java.lang.String getCompanyName(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.CompanyName.toString()); + } + + /** + * Set value of CompanyName + * @param companyname + */ + public final void setCompanyName(java.lang.String companyname) + { + setCompanyName(getContext(), companyname); + } + + /** + * Set value of CompanyName + * @param context + * @param companyname + */ + public final void setCompanyName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String companyname) + { + getMendixObject().setValue(context, MemberNames.CompanyName.toString(), companyname); + } + + /** + * @return the IMendixObject instance of this proxy for use in the Core interface. + */ + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() + { + return companyMendixObject; + } + + /** + * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. + */ + public final com.mendix.systemwideinterfaces.core.IContext getContext() + { + return context; + } + + @Override + public boolean equals(Object obj) + { + if (obj == this) + return true; + + if (obj != null && getClass().equals(obj.getClass())) + { + final profileservice.proxies.Company that = (profileservice.proxies.Company) obj; + return getMendixObject().equals(that.getMendixObject()); + } + return false; + } + + @Override + public int hashCode() + { + return getMendixObject().hashCode(); + } + + /** + * @return String name of this class + */ + public static java.lang.String getType() + { + return "ProfileService.Company"; + } + + /** + * @return String GUID from this object, format: ID_0000000000 + * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. + */ + @Deprecated + public java.lang.String getGUID() + { + return "ID_" + getMendixObject().getId().toLong(); + } +} diff --git a/test/javasource/profileservice/proxies/UserProfile.java b/test/javasource/profileservice/proxies/UserProfile.java new file mode 100644 index 0000000..634a841 --- /dev/null +++ b/test/javasource/profileservice/proxies/UserProfile.java @@ -0,0 +1,835 @@ +// This file was generated by Mendix Modeler. +// +// WARNING: Code you write here will be lost the next time you deploy the project. + +package profileservice.proxies; + +public class UserProfile +{ + private final com.mendix.systemwideinterfaces.core.IMendixObject userProfileMendixObject; + + private final com.mendix.systemwideinterfaces.core.IContext context; + + /** + * Internal name of this entity + */ + public static final java.lang.String entityName = "ProfileService.UserProfile"; + + /** + * Enum describing members of this entity + */ + public enum MemberNames + { + OpenId("OpenId"), + DisplayName("DisplayName"), + EmailAddress("EmailAddress"), + AvatarUrl("AvatarUrl"), + AvatarThumbnailUrl("AvatarThumbnailUrl"), + JobTitle("JobTitle"), + Department("Department"), + Location("Location"), + Country("Country"), + Bio("Bio"), + Website("Website"), + Phone("Phone"), + LinkedIn("LinkedIn"), + Twitter("Twitter"), + Skype("Skype"), + CompanyId("CompanyId"), + Company("Company"), + UserProfile_Company("ProfileService.UserProfile_Company"); + + private java.lang.String metaName; + + MemberNames(java.lang.String s) + { + metaName = s; + } + + @Override + public java.lang.String toString() + { + return metaName; + } + } + + public UserProfile(com.mendix.systemwideinterfaces.core.IContext context) + { + this(context, com.mendix.core.Core.instantiate(context, "ProfileService.UserProfile")); + } + + protected UserProfile(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject userProfileMendixObject) + { + if (userProfileMendixObject == null) + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("ProfileService.UserProfile", userProfileMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a ProfileService.UserProfile"); + + this.userProfileMendixObject = userProfileMendixObject; + this.context = context; + } + + /** + * @deprecated Use 'UserProfile.load(IContext, IMendixIdentifier)' instead. + */ + @Deprecated + public static profileservice.proxies.UserProfile initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException + { + return profileservice.proxies.UserProfile.load(context, mendixIdentifier); + } + + /** + * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. + * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). + */ + public static profileservice.proxies.UserProfile initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) + { + return new profileservice.proxies.UserProfile(context, mendixObject); + } + + public static profileservice.proxies.UserProfile load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException + { + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); + return profileservice.proxies.UserProfile.initialize(context, mendixObject); + } + + /** + * Commit the changes made on this proxy object. + */ + public final void commit() throws com.mendix.core.CoreException + { + com.mendix.core.Core.commit(context, getMendixObject()); + } + + /** + * Commit the changes made on this proxy object using the specified context. + */ + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException + { + com.mendix.core.Core.commit(context, getMendixObject()); + } + + /** + * Delete the object. + */ + public final void delete() + { + com.mendix.core.Core.delete(context, getMendixObject()); + } + + /** + * Delete the object using the specified context. + */ + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) + { + com.mendix.core.Core.delete(context, getMendixObject()); + } + /** + * @return value of OpenId + */ + public final java.lang.String getOpenId() + { + return getOpenId(getContext()); + } + + /** + * @param context + * @return value of OpenId + */ + public final java.lang.String getOpenId(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.OpenId.toString()); + } + + /** + * Set value of OpenId + * @param openid + */ + public final void setOpenId(java.lang.String openid) + { + setOpenId(getContext(), openid); + } + + /** + * Set value of OpenId + * @param context + * @param openid + */ + public final void setOpenId(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String openid) + { + getMendixObject().setValue(context, MemberNames.OpenId.toString(), openid); + } + + /** + * @return value of DisplayName + */ + public final java.lang.String getDisplayName() + { + return getDisplayName(getContext()); + } + + /** + * @param context + * @return value of DisplayName + */ + public final java.lang.String getDisplayName(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.DisplayName.toString()); + } + + /** + * Set value of DisplayName + * @param displayname + */ + public final void setDisplayName(java.lang.String displayname) + { + setDisplayName(getContext(), displayname); + } + + /** + * Set value of DisplayName + * @param context + * @param displayname + */ + public final void setDisplayName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String displayname) + { + getMendixObject().setValue(context, MemberNames.DisplayName.toString(), displayname); + } + + /** + * @return value of EmailAddress + */ + public final java.lang.String getEmailAddress() + { + return getEmailAddress(getContext()); + } + + /** + * @param context + * @return value of EmailAddress + */ + public final java.lang.String getEmailAddress(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.EmailAddress.toString()); + } + + /** + * Set value of EmailAddress + * @param emailaddress + */ + public final void setEmailAddress(java.lang.String emailaddress) + { + setEmailAddress(getContext(), emailaddress); + } + + /** + * Set value of EmailAddress + * @param context + * @param emailaddress + */ + public final void setEmailAddress(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String emailaddress) + { + getMendixObject().setValue(context, MemberNames.EmailAddress.toString(), emailaddress); + } + + /** + * @return value of AvatarUrl + */ + public final java.lang.String getAvatarUrl() + { + return getAvatarUrl(getContext()); + } + + /** + * @param context + * @return value of AvatarUrl + */ + public final java.lang.String getAvatarUrl(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.AvatarUrl.toString()); + } + + /** + * Set value of AvatarUrl + * @param avatarurl + */ + public final void setAvatarUrl(java.lang.String avatarurl) + { + setAvatarUrl(getContext(), avatarurl); + } + + /** + * Set value of AvatarUrl + * @param context + * @param avatarurl + */ + public final void setAvatarUrl(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String avatarurl) + { + getMendixObject().setValue(context, MemberNames.AvatarUrl.toString(), avatarurl); + } + + /** + * @return value of AvatarThumbnailUrl + */ + public final java.lang.String getAvatarThumbnailUrl() + { + return getAvatarThumbnailUrl(getContext()); + } + + /** + * @param context + * @return value of AvatarThumbnailUrl + */ + public final java.lang.String getAvatarThumbnailUrl(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.AvatarThumbnailUrl.toString()); + } + + /** + * Set value of AvatarThumbnailUrl + * @param avatarthumbnailurl + */ + public final void setAvatarThumbnailUrl(java.lang.String avatarthumbnailurl) + { + setAvatarThumbnailUrl(getContext(), avatarthumbnailurl); + } + + /** + * Set value of AvatarThumbnailUrl + * @param context + * @param avatarthumbnailurl + */ + public final void setAvatarThumbnailUrl(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String avatarthumbnailurl) + { + getMendixObject().setValue(context, MemberNames.AvatarThumbnailUrl.toString(), avatarthumbnailurl); + } + + /** + * @return value of JobTitle + */ + public final java.lang.String getJobTitle() + { + return getJobTitle(getContext()); + } + + /** + * @param context + * @return value of JobTitle + */ + public final java.lang.String getJobTitle(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.JobTitle.toString()); + } + + /** + * Set value of JobTitle + * @param jobtitle + */ + public final void setJobTitle(java.lang.String jobtitle) + { + setJobTitle(getContext(), jobtitle); + } + + /** + * Set value of JobTitle + * @param context + * @param jobtitle + */ + public final void setJobTitle(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String jobtitle) + { + getMendixObject().setValue(context, MemberNames.JobTitle.toString(), jobtitle); + } + + /** + * @return value of Department + */ + public final java.lang.String getDepartment() + { + return getDepartment(getContext()); + } + + /** + * @param context + * @return value of Department + */ + public final java.lang.String getDepartment(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Department.toString()); + } + + /** + * Set value of Department + * @param department + */ + public final void setDepartment(java.lang.String department) + { + setDepartment(getContext(), department); + } + + /** + * Set value of Department + * @param context + * @param department + */ + public final void setDepartment(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String department) + { + getMendixObject().setValue(context, MemberNames.Department.toString(), department); + } + + /** + * @return value of Location + */ + public final java.lang.String getLocation() + { + return getLocation(getContext()); + } + + /** + * @param context + * @return value of Location + */ + public final java.lang.String getLocation(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Location.toString()); + } + + /** + * Set value of Location + * @param location + */ + public final void setLocation(java.lang.String location) + { + setLocation(getContext(), location); + } + + /** + * Set value of Location + * @param context + * @param location + */ + public final void setLocation(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String location) + { + getMendixObject().setValue(context, MemberNames.Location.toString(), location); + } + + /** + * @return value of Country + */ + public final java.lang.String getCountry() + { + return getCountry(getContext()); + } + + /** + * @param context + * @return value of Country + */ + public final java.lang.String getCountry(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Country.toString()); + } + + /** + * Set value of Country + * @param country + */ + public final void setCountry(java.lang.String country) + { + setCountry(getContext(), country); + } + + /** + * Set value of Country + * @param context + * @param country + */ + public final void setCountry(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String country) + { + getMendixObject().setValue(context, MemberNames.Country.toString(), country); + } + + /** + * @return value of Bio + */ + public final java.lang.String getBio() + { + return getBio(getContext()); + } + + /** + * @param context + * @return value of Bio + */ + public final java.lang.String getBio(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Bio.toString()); + } + + /** + * Set value of Bio + * @param bio + */ + public final void setBio(java.lang.String bio) + { + setBio(getContext(), bio); + } + + /** + * Set value of Bio + * @param context + * @param bio + */ + public final void setBio(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String bio) + { + getMendixObject().setValue(context, MemberNames.Bio.toString(), bio); + } + + /** + * @return value of Website + */ + public final java.lang.String getWebsite() + { + return getWebsite(getContext()); + } + + /** + * @param context + * @return value of Website + */ + public final java.lang.String getWebsite(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Website.toString()); + } + + /** + * Set value of Website + * @param website + */ + public final void setWebsite(java.lang.String website) + { + setWebsite(getContext(), website); + } + + /** + * Set value of Website + * @param context + * @param website + */ + public final void setWebsite(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String website) + { + getMendixObject().setValue(context, MemberNames.Website.toString(), website); + } + + /** + * @return value of Phone + */ + public final java.lang.String getPhone() + { + return getPhone(getContext()); + } + + /** + * @param context + * @return value of Phone + */ + public final java.lang.String getPhone(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Phone.toString()); + } + + /** + * Set value of Phone + * @param phone + */ + public final void setPhone(java.lang.String phone) + { + setPhone(getContext(), phone); + } + + /** + * Set value of Phone + * @param context + * @param phone + */ + public final void setPhone(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String phone) + { + getMendixObject().setValue(context, MemberNames.Phone.toString(), phone); + } + + /** + * @return value of LinkedIn + */ + public final java.lang.String getLinkedIn() + { + return getLinkedIn(getContext()); + } + + /** + * @param context + * @return value of LinkedIn + */ + public final java.lang.String getLinkedIn(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.LinkedIn.toString()); + } + + /** + * Set value of LinkedIn + * @param linkedin + */ + public final void setLinkedIn(java.lang.String linkedin) + { + setLinkedIn(getContext(), linkedin); + } + + /** + * Set value of LinkedIn + * @param context + * @param linkedin + */ + public final void setLinkedIn(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String linkedin) + { + getMendixObject().setValue(context, MemberNames.LinkedIn.toString(), linkedin); + } + + /** + * @return value of Twitter + */ + public final java.lang.String getTwitter() + { + return getTwitter(getContext()); + } + + /** + * @param context + * @return value of Twitter + */ + public final java.lang.String getTwitter(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Twitter.toString()); + } + + /** + * Set value of Twitter + * @param twitter + */ + public final void setTwitter(java.lang.String twitter) + { + setTwitter(getContext(), twitter); + } + + /** + * Set value of Twitter + * @param context + * @param twitter + */ + public final void setTwitter(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String twitter) + { + getMendixObject().setValue(context, MemberNames.Twitter.toString(), twitter); + } + + /** + * @return value of Skype + */ + public final java.lang.String getSkype() + { + return getSkype(getContext()); + } + + /** + * @param context + * @return value of Skype + */ + public final java.lang.String getSkype(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Skype.toString()); + } + + /** + * Set value of Skype + * @param skype + */ + public final void setSkype(java.lang.String skype) + { + setSkype(getContext(), skype); + } + + /** + * Set value of Skype + * @param context + * @param skype + */ + public final void setSkype(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String skype) + { + getMendixObject().setValue(context, MemberNames.Skype.toString(), skype); + } + + /** + * @return value of CompanyId + */ + public final java.lang.String getCompanyId() + { + return getCompanyId(getContext()); + } + + /** + * @param context + * @return value of CompanyId + */ + public final java.lang.String getCompanyId(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.CompanyId.toString()); + } + + /** + * Set value of CompanyId + * @param companyid + */ + public final void setCompanyId(java.lang.String companyid) + { + setCompanyId(getContext(), companyid); + } + + /** + * Set value of CompanyId + * @param context + * @param companyid + */ + public final void setCompanyId(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String companyid) + { + getMendixObject().setValue(context, MemberNames.CompanyId.toString(), companyid); + } + + /** + * @return value of Company + */ + public final java.lang.String getCompany() + { + return getCompany(getContext()); + } + + /** + * @param context + * @return value of Company + */ + public final java.lang.String getCompany(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Company.toString()); + } + + /** + * Set value of Company + * @param company + */ + public final void setCompany(java.lang.String company) + { + setCompany(getContext(), company); + } + + /** + * Set value of Company + * @param context + * @param company + */ + public final void setCompany(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String company) + { + getMendixObject().setValue(context, MemberNames.Company.toString(), company); + } + + /** + * @return value of UserProfile_Company + */ + public final profileservice.proxies.Company getUserProfile_Company() throws com.mendix.core.CoreException + { + return getUserProfile_Company(getContext()); + } + + /** + * @param context + * @return value of UserProfile_Company + */ + public final profileservice.proxies.Company getUserProfile_Company(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException + { + profileservice.proxies.Company result = null; + com.mendix.systemwideinterfaces.core.IMendixIdentifier identifier = getMendixObject().getValue(context, MemberNames.UserProfile_Company.toString()); + if (identifier != null) + result = profileservice.proxies.Company.load(context, identifier); + return result; + } + + /** + * Set value of UserProfile_Company + * @param userprofile_company + */ + public final void setUserProfile_Company(profileservice.proxies.Company userprofile_company) + { + setUserProfile_Company(getContext(), userprofile_company); + } + + /** + * Set value of UserProfile_Company + * @param context + * @param userprofile_company + */ + public final void setUserProfile_Company(com.mendix.systemwideinterfaces.core.IContext context, profileservice.proxies.Company userprofile_company) + { + if (userprofile_company == null) + getMendixObject().setValue(context, MemberNames.UserProfile_Company.toString(), null); + else + getMendixObject().setValue(context, MemberNames.UserProfile_Company.toString(), userprofile_company.getMendixObject().getId()); + } + + /** + * @return the IMendixObject instance of this proxy for use in the Core interface. + */ + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() + { + return userProfileMendixObject; + } + + /** + * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. + */ + public final com.mendix.systemwideinterfaces.core.IContext getContext() + { + return context; + } + + @Override + public boolean equals(Object obj) + { + if (obj == this) + return true; + + if (obj != null && getClass().equals(obj.getClass())) + { + final profileservice.proxies.UserProfile that = (profileservice.proxies.UserProfile) obj; + return getMendixObject().equals(that.getMendixObject()); + } + return false; + } + + @Override + public int hashCode() + { + return getMendixObject().hashCode(); + } + + /** + * @return String name of this class + */ + public static java.lang.String getType() + { + return "ProfileService.UserProfile"; + } + + /** + * @return String GUID from this object, format: ID_0000000000 + * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. + */ + @Deprecated + public java.lang.String getGUID() + { + return "ID_" + getMendixObject().getId().toLong(); + } +} diff --git a/test/javasource/profileservice/proxies/microflows/Microflows.java b/test/javasource/profileservice/proxies/microflows/Microflows.java new file mode 100644 index 0000000..1ada153 --- /dev/null +++ b/test/javasource/profileservice/proxies/microflows/Microflows.java @@ -0,0 +1,34 @@ +// This file was generated by Mendix Modeler 6.10. +// +// WARNING: Code you write here will be lost the next time you deploy the project. + +package profileservice.proxies.microflows; + +import java.util.HashMap; +import java.util.Map; +import com.mendix.core.Core; +import com.mendix.core.CoreException; +import com.mendix.systemwideinterfaces.MendixRuntimeException; +import com.mendix.systemwideinterfaces.core.IContext; +import com.mendix.systemwideinterfaces.core.IMendixObject; + +public class Microflows +{ + // These are the microflows for the ProfileService module + public static profileservice.proxies.UserProfile getUserProfile(IContext context, java.lang.String _openID, java.lang.String _environmentUUID, java.lang.String _environmentPassword) + { + try + { + Map params = new HashMap(); + params.put("OpenID", _openID); + params.put("EnvironmentUUID", _environmentUUID); + params.put("EnvironmentPassword", _environmentPassword); + IMendixObject result = (IMendixObject)Core.execute(context, "ProfileService.GetUserProfile", params); + return result == null ? null : profileservice.proxies.UserProfile.initialize(context, result); + } + catch (CoreException e) + { + throw new MendixRuntimeException(e); + } + } +} \ No newline at end of file diff --git a/test/javasource/system/UserActionsRegistrar.java b/test/javasource/system/UserActionsRegistrar.java index 59503de..059138c 100644 --- a/test/javasource/system/UserActionsRegistrar.java +++ b/test/javasource/system/UserActionsRegistrar.java @@ -38,90 +38,9 @@ public void handleEvent(Event event) { component = mxRuntime.getMainComponent(); Core.initialize(component, integration); - component.actionRegistry().registerUserAction(communitycommons.actions.acquireLock.class); - component.actionRegistry().registerUserAction(communitycommons.actions.Base64Decode.class); - component.actionRegistry().registerUserAction(communitycommons.actions.Base64DecodeToFile.class); - component.actionRegistry().registerUserAction(communitycommons.actions.Base64Encode.class); - component.actionRegistry().registerUserAction(communitycommons.actions.Base64EncodeFile.class); - component.actionRegistry().registerUserAction(communitycommons.actions.Clone.class); - component.actionRegistry().registerUserAction(communitycommons.actions.commitInSeparateDatabaseTransaction.class); - component.actionRegistry().registerUserAction(communitycommons.actions.commitWithoutEvents.class); - component.actionRegistry().registerUserAction(communitycommons.actions.copyAttributes.class); - component.actionRegistry().registerUserAction(communitycommons.actions.DateTimeToLong.class); - component.actionRegistry().registerUserAction(communitycommons.actions.DecryptString.class); - component.actionRegistry().registerUserAction(communitycommons.actions.DeepClone.class); - component.actionRegistry().registerUserAction(communitycommons.actions.Delay.class); - component.actionRegistry().registerUserAction(communitycommons.actions.deleteAll.class); - component.actionRegistry().registerUserAction(communitycommons.actions.DuplicateFileDocument.class); - component.actionRegistry().registerUserAction(communitycommons.actions.DuplicateImageDocument.class); - component.actionRegistry().registerUserAction(communitycommons.actions.encryptMemberIfChanged.class); - component.actionRegistry().registerUserAction(communitycommons.actions.EncryptString.class); - component.actionRegistry().registerUserAction(communitycommons.actions.EndTransaction.class); - component.actionRegistry().registerUserAction(communitycommons.actions.EscapeHTML.class); - component.actionRegistry().registerUserAction(communitycommons.actions.executeMicroflowAsUser.class); - component.actionRegistry().registerUserAction(communitycommons.actions.executeMicroflowAsUser_1.class); - component.actionRegistry().registerUserAction(communitycommons.actions.executeMicroflowAsUser_2.class); - component.actionRegistry().registerUserAction(communitycommons.actions.executeMicroflowInBackground.class); - component.actionRegistry().registerUserAction(communitycommons.actions.executeMicroflowInBatches.class); - component.actionRegistry().registerUserAction(communitycommons.actions.FileDocumentFromFile.class); - component.actionRegistry().registerUserAction(communitycommons.actions.FileFromFileDocument.class); - component.actionRegistry().registerUserAction(communitycommons.actions.GenerateHMAC_SHA256_hash.class); - component.actionRegistry().registerUserAction(communitycommons.actions.GetApplicationUrl.class); - component.actionRegistry().registerUserAction(communitycommons.actions.getCreatedByUser.class); - component.actionRegistry().registerUserAction(communitycommons.actions.GetDefaultLanguage.class); - component.actionRegistry().registerUserAction(communitycommons.actions.getDTAPMode.class); - component.actionRegistry().registerUserAction(communitycommons.actions.GetFileContentsFromResource.class); - component.actionRegistry().registerUserAction(communitycommons.actions.getFileSize.class); - component.actionRegistry().registerUserAction(communitycommons.actions.getGUID.class); - component.actionRegistry().registerUserAction(communitycommons.actions.GetIntFromDateTime.class); - component.actionRegistry().registerUserAction(communitycommons.actions.getLastChangedByUser.class); - component.actionRegistry().registerUserAction(communitycommons.actions.getLockOwner.class); - component.actionRegistry().registerUserAction(communitycommons.actions.getOriginalValueAsString.class); - component.actionRegistry().registerUserAction(communitycommons.actions.GetRuntimeVersion.class); - component.actionRegistry().registerUserAction(communitycommons.actions.getTypeAsString.class); - component.actionRegistry().registerUserAction(communitycommons.actions.Hash.class); - component.actionRegistry().registerUserAction(communitycommons.actions.HTMLEncode.class); - component.actionRegistry().registerUserAction(communitycommons.actions.HTMLToPlainText.class); - component.actionRegistry().registerUserAction(communitycommons.actions.IsInDevelopment.class); - component.actionRegistry().registerUserAction(communitycommons.actions.Log.class); - component.actionRegistry().registerUserAction(communitycommons.actions.LongToDateTime.class); - component.actionRegistry().registerUserAction(communitycommons.actions.memberHasChanged.class); - component.actionRegistry().registerUserAction(communitycommons.actions.MergeMultiplePdfs.class); - component.actionRegistry().registerUserAction(communitycommons.actions.objectHasChanged.class); - component.actionRegistry().registerUserAction(communitycommons.actions.objectIsNew.class); - component.actionRegistry().registerUserAction(communitycommons.actions.OverlayPdfDocument.class); - component.actionRegistry().registerUserAction(communitycommons.actions.ParseDateTimeWithTimezone.class); - component.actionRegistry().registerUserAction(communitycommons.actions.RandomHash.class); - component.actionRegistry().registerUserAction(communitycommons.actions.RandomString.class); - component.actionRegistry().registerUserAction(communitycommons.actions.RandomStrongPassword.class); - component.actionRegistry().registerUserAction(communitycommons.actions.recommitInBatches.class); - component.actionRegistry().registerUserAction(communitycommons.actions.refreshClass.class); - component.actionRegistry().registerUserAction(communitycommons.actions.refreshClassByObject.class); - component.actionRegistry().registerUserAction(communitycommons.actions.RegexQuote.class); - component.actionRegistry().registerUserAction(communitycommons.actions.RegexReplaceAll.class); - component.actionRegistry().registerUserAction(communitycommons.actions.RegexTest.class); - component.actionRegistry().registerUserAction(communitycommons.actions.releaseAllInactiveLocks.class); - component.actionRegistry().registerUserAction(communitycommons.actions.releaseLock.class); - component.actionRegistry().registerUserAction(communitycommons.actions.retrieveURL.class); - component.actionRegistry().registerUserAction(communitycommons.actions.RunMicroflowAsyncInQueue.class); - component.actionRegistry().registerUserAction(communitycommons.actions.SimpleLog.class); - component.actionRegistry().registerUserAction(communitycommons.actions.StartTransaction.class); - component.actionRegistry().registerUserAction(communitycommons.actions.storeURLToFileDocument.class); - component.actionRegistry().registerUserAction(communitycommons.actions.StringFromFile.class); - component.actionRegistry().registerUserAction(communitycommons.actions.StringLeftPad.class); - component.actionRegistry().registerUserAction(communitycommons.actions.StringLength.class); - component.actionRegistry().registerUserAction(communitycommons.actions.StringRightPad.class); - component.actionRegistry().registerUserAction(communitycommons.actions.StringToFile.class); - component.actionRegistry().registerUserAction(communitycommons.actions.StringTrim.class); - component.actionRegistry().registerUserAction(communitycommons.actions.SubstituteTemplate.class); - component.actionRegistry().registerUserAction(communitycommons.actions.SubstituteTemplate2.class); - component.actionRegistry().registerUserAction(communitycommons.actions.ThrowException.class); - component.actionRegistry().registerUserAction(communitycommons.actions.ThrowWebserviceException.class); - component.actionRegistry().registerUserAction(communitycommons.actions.TimeMeasureEnd.class); - component.actionRegistry().registerUserAction(communitycommons.actions.TimeMeasureStart.class); - component.actionRegistry().registerUserAction(communitycommons.actions.waitForLock.class); - component.actionRegistry().registerUserAction(communitycommons.actions.XSSSanitize.class); - component.actionRegistry().registerUserAction(communitycommons.actions.YearsBetween.class); + component.actionRegistry().registerUserAction(appcloudservices.actions.GenerateRandomPassword.class); + component.actionRegistry().registerUserAction(appcloudservices.actions.LogOutUser.class); + component.actionRegistry().registerUserAction(appcloudservices.actions.StartSignOnServlet.class); component.actionRegistry().registerUserAction(system.actions.VerifyPassword.class); } } diff --git a/test/javasource/system/actions/VerifyPassword.java b/test/javasource/system/actions/VerifyPassword.java index dcadcad..f302808 100644 --- a/test/javasource/system/actions/VerifyPassword.java +++ b/test/javasource/system/actions/VerifyPassword.java @@ -1,4 +1,4 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Only the following code will be retained when actions are regenerated: // - the import list @@ -17,12 +17,12 @@ /** * Verifies that the specified user name/password combination is valid. */ -public class VerifyPassword extends CustomJavaAction +public class VerifyPassword extends CustomJavaAction { - private String userName; - private String password; + private java.lang.String userName; + private java.lang.String password; - public VerifyPassword(IContext context, String userName, String password) + public VerifyPassword(IContext context, java.lang.String userName, java.lang.String password) { super(context); this.userName = userName; @@ -30,7 +30,7 @@ public VerifyPassword(IContext context, String userName, String password) } @Override - public Boolean executeAction() throws Exception + public java.lang.Boolean executeAction() throws Exception { // BEGIN USER CODE IUser user = Core.getUser(getContext(), userName); @@ -42,7 +42,7 @@ public Boolean executeAction() throws Exception * Returns a string representation of this action */ @Override - public String toString() + public java.lang.String toString() { return "VerifyPassword"; } diff --git a/test/javasource/system/proxies/DeviceType.java b/test/javasource/system/proxies/DeviceType.java index a51f27a..7a7c3c4 100644 --- a/test/javasource/system/proxies/DeviceType.java +++ b/test/javasource/system/proxies/DeviceType.java @@ -1,4 +1,4 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. @@ -6,27 +6,27 @@ public enum DeviceType { - Phone(new String[][] { new String[] { "en_US", "Phone" }, new String[] { "nl_NL", "Phone" } }), - Tablet(new String[][] { new String[] { "en_US", "Tablet" }, new String[] { "nl_NL", "Tablet" } }), - Desktop(new String[][] { new String[] { "en_US", "Desktop" }, new String[] { "nl_NL", "Desktop" } }); + Phone(new java.lang.String[][] { new java.lang.String[] { "en_US", "Phone" }, new java.lang.String[] { "nl_NL", "Phone" } }), + Tablet(new java.lang.String[][] { new java.lang.String[] { "en_US", "Tablet" }, new java.lang.String[] { "nl_NL", "Tablet" } }), + Desktop(new java.lang.String[][] { new java.lang.String[] { "en_US", "Desktop" }, new java.lang.String[] { "nl_NL", "Desktop" } }); - private java.util.Map captions; + private java.util.Map captions; - private DeviceType(String[][] captionStrings) + private DeviceType(java.lang.String[][] captionStrings) { - this.captions = new java.util.HashMap(); - for (String[] captionString : captionStrings) + this.captions = new java.util.HashMap(); + for (java.lang.String[] captionString : captionStrings) captions.put(captionString[0], captionString[1]); } - public String getCaption(String languageCode) + public java.lang.String getCaption(java.lang.String languageCode) { if (captions.containsKey(languageCode)) return captions.get(languageCode); return captions.get("en_US"); } - public String getCaption() + public java.lang.String getCaption() { return captions.get("en_US"); } diff --git a/test/javasource/system/proxies/Error.java b/test/javasource/system/proxies/Error.java index 0737919..6de8cd0 100644 --- a/test/javasource/system/proxies/Error.java +++ b/test/javasource/system/proxies/Error.java @@ -1,28 +1,19 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package system.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ public class Error { - private final IMendixObject errorMendixObject; + private final com.mendix.systemwideinterfaces.core.IMendixObject errorMendixObject; - private final IContext context; + private final com.mendix.systemwideinterfaces.core.IContext context; /** * Internal name of this entity */ - public static final String entityName = "System.Error"; + public static final java.lang.String entityName = "System.Error"; /** * Enum describing members of this entity @@ -33,31 +24,31 @@ public enum MemberNames Message("Message"), Stacktrace("Stacktrace"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public Error(IContext context) + public Error(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "System.Error")); + this(context, com.mendix.core.Core.instantiate(context, "System.Error")); } - protected Error(IContext context, IMendixObject errorMendixObject) + protected Error(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject errorMendixObject) { if (errorMendixObject == null) - throw new IllegalArgumentException("The given object cannot be null."); - if (!Core.isSubClassOf("System.Error", errorMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a System.Error"); + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("System.Error", errorMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a System.Error"); this.errorMendixObject = errorMendixObject; this.context = context; @@ -67,7 +58,7 @@ protected Error(IContext context, IMendixObject errorMendixObject) * @deprecated Use 'Error.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static system.proxies.Error initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.Error initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return system.proxies.Error.load(context, mendixIdentifier); } @@ -76,34 +67,34 @@ public static system.proxies.Error initialize(IContext context, IMendixIdentifie * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static system.proxies.Error initialize(IContext context, IMendixObject mendixObject) + public static system.proxies.Error initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { - if (Core.isSubClassOf("System.SoapFault", mendixObject.getType())) + if (com.mendix.core.Core.isSubClassOf("System.SoapFault", mendixObject.getType())) return system.proxies.SoapFault.initialize(context, mendixObject); return new system.proxies.Error(context, mendixObject); } - public static system.proxies.Error load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.Error load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return system.proxies.Error.initialize(context, mendixObject); } /** * Commit the changes made on this proxy object. */ - public final void commit() throws CoreException + public final void commit() throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** * Commit the changes made on this proxy object using the specified context. */ - public final void commit(IContext context) throws CoreException + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** @@ -111,20 +102,20 @@ public final void commit(IContext context) throws CoreException */ public final void delete() { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * Delete the object using the specified context. */ - public final void delete(IContext context) + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * @return value of ErrorType */ - public final String getErrorType() + public final java.lang.String getErrorType() { return getErrorType(getContext()); } @@ -133,16 +124,16 @@ public final String getErrorType() * @param context * @return value of ErrorType */ - public final String getErrorType(IContext context) + public final java.lang.String getErrorType(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.ErrorType.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.ErrorType.toString()); } /** * Set value of ErrorType * @param errortype */ - public final void setErrorType(String errortype) + public final void setErrorType(java.lang.String errortype) { setErrorType(getContext(), errortype); } @@ -152,7 +143,7 @@ public final void setErrorType(String errortype) * @param context * @param errortype */ - public final void setErrorType(IContext context, String errortype) + public final void setErrorType(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String errortype) { getMendixObject().setValue(context, MemberNames.ErrorType.toString(), errortype); } @@ -160,7 +151,7 @@ public final void setErrorType(IContext context, String errortype) /** * @return value of Message */ - public final String getMessage() + public final java.lang.String getMessage() { return getMessage(getContext()); } @@ -169,16 +160,16 @@ public final String getMessage() * @param context * @return value of Message */ - public final String getMessage(IContext context) + public final java.lang.String getMessage(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Message.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Message.toString()); } /** * Set value of Message * @param message */ - public final void setMessage(String message) + public final void setMessage(java.lang.String message) { setMessage(getContext(), message); } @@ -188,7 +179,7 @@ public final void setMessage(String message) * @param context * @param message */ - public final void setMessage(IContext context, String message) + public final void setMessage(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String message) { getMendixObject().setValue(context, MemberNames.Message.toString(), message); } @@ -196,7 +187,7 @@ public final void setMessage(IContext context, String message) /** * @return value of Stacktrace */ - public final String getStacktrace() + public final java.lang.String getStacktrace() { return getStacktrace(getContext()); } @@ -205,16 +196,16 @@ public final String getStacktrace() * @param context * @return value of Stacktrace */ - public final String getStacktrace(IContext context) + public final java.lang.String getStacktrace(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Stacktrace.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Stacktrace.toString()); } /** * Set value of Stacktrace * @param stacktrace */ - public final void setStacktrace(String stacktrace) + public final void setStacktrace(java.lang.String stacktrace) { setStacktrace(getContext(), stacktrace); } @@ -224,7 +215,7 @@ public final void setStacktrace(String stacktrace) * @param context * @param stacktrace */ - public final void setStacktrace(IContext context, String stacktrace) + public final void setStacktrace(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String stacktrace) { getMendixObject().setValue(context, MemberNames.Stacktrace.toString(), stacktrace); } @@ -232,7 +223,7 @@ public final void setStacktrace(IContext context, String stacktrace) /** * @return the IMendixObject instance of this proxy for use in the Core interface. */ - public final IMendixObject getMendixObject() + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() { return errorMendixObject; } @@ -240,7 +231,7 @@ public final IMendixObject getMendixObject() /** * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. */ - public final IContext getContext() + public final com.mendix.systemwideinterfaces.core.IContext getContext() { return context; } @@ -268,7 +259,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "System.Error"; } @@ -278,7 +269,7 @@ public static String getType() * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. */ @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/system/proxies/EventStatus.java b/test/javasource/system/proxies/EventStatus.java index 2aeb859..8e450c2 100644 --- a/test/javasource/system/proxies/EventStatus.java +++ b/test/javasource/system/proxies/EventStatus.java @@ -1,4 +1,4 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. @@ -6,27 +6,27 @@ public enum EventStatus { - Running(new String[][] { new String[] { "en_US", "Running" }, new String[] { "nl_NL", "Bezig" } }), - Completed(new String[][] { new String[] { "en_US", "Completed" }, new String[] { "nl_NL", "Voltooid" } }), - Error(new String[][] { new String[] { "en_US", "Error" }, new String[] { "nl_NL", "Fout" } }); + Running(new java.lang.String[][] { new java.lang.String[] { "en_US", "Running" }, new java.lang.String[] { "nl_NL", "Bezig" } }), + Completed(new java.lang.String[][] { new java.lang.String[] { "en_US", "Completed" }, new java.lang.String[] { "nl_NL", "Voltooid" } }), + Error(new java.lang.String[][] { new java.lang.String[] { "en_US", "Error" }, new java.lang.String[] { "nl_NL", "Fout" } }); - private java.util.Map captions; + private java.util.Map captions; - private EventStatus(String[][] captionStrings) + private EventStatus(java.lang.String[][] captionStrings) { - this.captions = new java.util.HashMap(); - for (String[] captionString : captionStrings) + this.captions = new java.util.HashMap(); + for (java.lang.String[] captionString : captionStrings) captions.put(captionString[0], captionString[1]); } - public String getCaption(String languageCode) + public java.lang.String getCaption(java.lang.String languageCode) { if (captions.containsKey(languageCode)) return captions.get(languageCode); return captions.get("en_US"); } - public String getCaption() + public java.lang.String getCaption() { return captions.get("en_US"); } diff --git a/test/javasource/system/proxies/FileDocument.java b/test/javasource/system/proxies/FileDocument.java index 7292d3c..fb3b02f 100644 --- a/test/javasource/system/proxies/FileDocument.java +++ b/test/javasource/system/proxies/FileDocument.java @@ -1,29 +1,19 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package system.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; -import com.mendix.core.objectmanagement.member.MendixBinary; - -/** - * - */ public class FileDocument { - private final IMendixObject fileDocumentMendixObject; + private final com.mendix.systemwideinterfaces.core.IMendixObject fileDocumentMendixObject; - private final IContext context; + private final com.mendix.systemwideinterfaces.core.IContext context; /** * Internal name of this entity */ - public static final String entityName = "System.FileDocument"; + public static final java.lang.String entityName = "System.FileDocument"; /** * Enum describing members of this entity @@ -36,31 +26,31 @@ public enum MemberNames Contents("Contents"), HasContents("HasContents"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public FileDocument(IContext context) + public FileDocument(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "System.FileDocument")); + this(context, com.mendix.core.Core.instantiate(context, "System.FileDocument")); } - protected FileDocument(IContext context, IMendixObject fileDocumentMendixObject) + protected FileDocument(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject fileDocumentMendixObject) { if (fileDocumentMendixObject == null) - throw new IllegalArgumentException("The given object cannot be null."); - if (!Core.isSubClassOf("System.FileDocument", fileDocumentMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a System.FileDocument"); + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("System.FileDocument", fileDocumentMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a System.FileDocument"); this.fileDocumentMendixObject = fileDocumentMendixObject; this.context = context; @@ -70,7 +60,7 @@ protected FileDocument(IContext context, IMendixObject fileDocumentMendixObject) * @deprecated Use 'FileDocument.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static system.proxies.FileDocument initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.FileDocument initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return system.proxies.FileDocument.load(context, mendixIdentifier); } @@ -79,24 +69,24 @@ public static system.proxies.FileDocument initialize(IContext context, IMendixId * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static system.proxies.FileDocument initialize(IContext context, IMendixObject mendixObject) + public static system.proxies.FileDocument initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { - if (Core.isSubClassOf("System.Image", mendixObject.getType())) + if (com.mendix.core.Core.isSubClassOf("System.Image", mendixObject.getType())) return system.proxies.Image.initialize(context, mendixObject); return new system.proxies.FileDocument(context, mendixObject); } - public static system.proxies.FileDocument load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.FileDocument load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return system.proxies.FileDocument.initialize(context, mendixObject); } - public static java.util.List load(IContext context, String xpathConstraint) throws CoreException + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//System.FileDocument" + xpathConstraint)) + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//System.FileDocument" + xpathConstraint)) result.add(system.proxies.FileDocument.initialize(context, obj)); return result; } @@ -104,17 +94,17 @@ public static java.util.List load(IContex /** * Commit the changes made on this proxy object. */ - public final void commit() throws CoreException + public final void commit() throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** * Commit the changes made on this proxy object using the specified context. */ - public final void commit(IContext context) throws CoreException + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** @@ -122,20 +112,20 @@ public final void commit(IContext context) throws CoreException */ public final void delete() { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * Delete the object using the specified context. */ - public final void delete(IContext context) + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * @return value of FileID */ - public final Long getFileID() + public final java.lang.Long getFileID() { return getFileID(getContext()); } @@ -144,16 +134,16 @@ public final Long getFileID() * @param context * @return value of FileID */ - public final Long getFileID(IContext context) + public final java.lang.Long getFileID(com.mendix.systemwideinterfaces.core.IContext context) { - return (Long) getMendixObject().getValue(context, MemberNames.FileID.toString()); + return (java.lang.Long) getMendixObject().getValue(context, MemberNames.FileID.toString()); } /** * Set value of FileID * @param fileid */ - public final void setFileID(Long fileid) + public final void setFileID(java.lang.Long fileid) { setFileID(getContext(), fileid); } @@ -163,7 +153,7 @@ public final void setFileID(Long fileid) * @param context * @param fileid */ - public final void setFileID(IContext context, Long fileid) + public final void setFileID(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Long fileid) { getMendixObject().setValue(context, MemberNames.FileID.toString(), fileid); } @@ -171,7 +161,7 @@ public final void setFileID(IContext context, Long fileid) /** * @return value of Name */ - public final String getName() + public final java.lang.String getName() { return getName(getContext()); } @@ -180,16 +170,16 @@ public final String getName() * @param context * @return value of Name */ - public final String getName(IContext context) + public final java.lang.String getName(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Name.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Name.toString()); } /** * Set value of Name * @param name */ - public final void setName(String name) + public final void setName(java.lang.String name) { setName(getContext(), name); } @@ -199,7 +189,7 @@ public final void setName(String name) * @param context * @param name */ - public final void setName(IContext context, String name) + public final void setName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String name) { getMendixObject().setValue(context, MemberNames.Name.toString(), name); } @@ -207,7 +197,7 @@ public final void setName(IContext context, String name) /** * @return value of DeleteAfterDownload */ - public final Boolean getDeleteAfterDownload() + public final java.lang.Boolean getDeleteAfterDownload() { return getDeleteAfterDownload(getContext()); } @@ -216,16 +206,16 @@ public final Boolean getDeleteAfterDownload() * @param context * @return value of DeleteAfterDownload */ - public final Boolean getDeleteAfterDownload(IContext context) + public final java.lang.Boolean getDeleteAfterDownload(com.mendix.systemwideinterfaces.core.IContext context) { - return (Boolean) getMendixObject().getValue(context, MemberNames.DeleteAfterDownload.toString()); + return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.DeleteAfterDownload.toString()); } /** * Set value of DeleteAfterDownload * @param deleteafterdownload */ - public final void setDeleteAfterDownload(Boolean deleteafterdownload) + public final void setDeleteAfterDownload(java.lang.Boolean deleteafterdownload) { setDeleteAfterDownload(getContext(), deleteafterdownload); } @@ -235,7 +225,7 @@ public final void setDeleteAfterDownload(Boolean deleteafterdownload) * @param context * @param deleteafterdownload */ - public final void setDeleteAfterDownload(IContext context, Boolean deleteafterdownload) + public final void setDeleteAfterDownload(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean deleteafterdownload) { getMendixObject().setValue(context, MemberNames.DeleteAfterDownload.toString(), deleteafterdownload); } @@ -247,9 +237,9 @@ public final void setDeleteAfterDownload(IContext context, Boolean deleteafterdo * @param context * @param outputStream */ - public final void getContents(IContext context, java.io.OutputStream outputStream) + public final void getContents(com.mendix.systemwideinterfaces.core.IContext context, java.io.OutputStream outputStream) { - MendixBinary binary = (MendixBinary) getMendixObject().getMember(context, MemberNames.Contents.toString()); + com.mendix.core.objectmanagement.member.MendixBinary binary = (com.mendix.core.objectmanagement.member.MendixBinary) getMendixObject().getMember(context, MemberNames.Contents.toString()); binary.retrieveValue(context, outputStream); } @@ -263,18 +253,18 @@ public final void getContents(IContext context, java.io.OutputStream outputStrea * @param inputStream * @param length the number of bytes in the stream */ - public final void setContents(IContext context, java.io.InputStream inputStream, long length) + public final void setContents(com.mendix.systemwideinterfaces.core.IContext context, java.io.InputStream inputStream, long length) { - if (getMendixObject().getState() == IMendixObject.ObjectState.INSTANTIATED) - try { commit(); } catch (CoreException ex) { } - MendixBinary binary = (MendixBinary) getMendixObject().getMember(context, MemberNames.Contents.toString()); + if (getMendixObject().getState() == com.mendix.systemwideinterfaces.core.IMendixObject.ObjectState.INSTANTIATED) + try { commit(); } catch (com.mendix.core.CoreException ex) { } + com.mendix.core.objectmanagement.member.MendixBinary binary = (com.mendix.core.objectmanagement.member.MendixBinary) getMendixObject().getMember(context, MemberNames.Contents.toString()); binary.storeValue(context, inputStream, length); } /** * @return value of HasContents */ - public final Boolean getHasContents() + public final java.lang.Boolean getHasContents() { return getHasContents(getContext()); } @@ -283,16 +273,16 @@ public final Boolean getHasContents() * @param context * @return value of HasContents */ - public final Boolean getHasContents(IContext context) + public final java.lang.Boolean getHasContents(com.mendix.systemwideinterfaces.core.IContext context) { - return (Boolean) getMendixObject().getValue(context, MemberNames.HasContents.toString()); + return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.HasContents.toString()); } /** * Set value of HasContents * @param hascontents */ - public final void setHasContents(Boolean hascontents) + public final void setHasContents(java.lang.Boolean hascontents) { setHasContents(getContext(), hascontents); } @@ -302,7 +292,7 @@ public final void setHasContents(Boolean hascontents) * @param context * @param hascontents */ - public final void setHasContents(IContext context, Boolean hascontents) + public final void setHasContents(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean hascontents) { getMendixObject().setValue(context, MemberNames.HasContents.toString(), hascontents); } @@ -310,7 +300,7 @@ public final void setHasContents(IContext context, Boolean hascontents) /** * @return the IMendixObject instance of this proxy for use in the Core interface. */ - public final IMendixObject getMendixObject() + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() { return fileDocumentMendixObject; } @@ -318,7 +308,7 @@ public final IMendixObject getMendixObject() /** * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. */ - public final IContext getContext() + public final com.mendix.systemwideinterfaces.core.IContext getContext() { return context; } @@ -346,7 +336,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "System.FileDocument"; } @@ -356,7 +346,7 @@ public static String getType() * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. */ @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/system/proxies/Image.java b/test/javasource/system/proxies/Image.java index d34e46a..4202d1e 100644 --- a/test/javasource/system/proxies/Image.java +++ b/test/javasource/system/proxies/Image.java @@ -1,24 +1,15 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package system.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ public class Image extends system.proxies.FileDocument { /** * Internal name of this entity */ - public static final String entityName = "System.Image"; + public static final java.lang.String entityName = "System.Image"; /** * Enum describing members of this entity @@ -32,37 +23,37 @@ public enum MemberNames Contents("Contents"), HasContents("HasContents"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public Image(IContext context) + public Image(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "System.Image")); + this(context, com.mendix.core.Core.instantiate(context, "System.Image")); } - protected Image(IContext context, IMendixObject imageMendixObject) + protected Image(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject imageMendixObject) { super(context, imageMendixObject); - if (!Core.isSubClassOf("System.Image", imageMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a System.Image"); + if (!com.mendix.core.Core.isSubClassOf("System.Image", imageMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a System.Image"); } /** * @deprecated Use 'Image.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static system.proxies.Image initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.Image initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return system.proxies.Image.load(context, mendixIdentifier); } @@ -71,21 +62,21 @@ public static system.proxies.Image initialize(IContext context, IMendixIdentifie * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static system.proxies.Image initialize(IContext context, IMendixObject mendixObject) + public static system.proxies.Image initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { return new system.proxies.Image(context, mendixObject); } - public static system.proxies.Image load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.Image load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return system.proxies.Image.initialize(context, mendixObject); } - public static java.util.List load(IContext context, String xpathConstraint) throws CoreException + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//System.Image" + xpathConstraint)) + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//System.Image" + xpathConstraint)) result.add(system.proxies.Image.initialize(context, obj)); return result; } @@ -93,7 +84,7 @@ public static java.util.List load(IContext context, String /** * @return value of PublicThumbnailPath */ - public final String getPublicThumbnailPath() + public final java.lang.String getPublicThumbnailPath() { return getPublicThumbnailPath(getContext()); } @@ -102,16 +93,16 @@ public final String getPublicThumbnailPath() * @param context * @return value of PublicThumbnailPath */ - public final String getPublicThumbnailPath(IContext context) + public final java.lang.String getPublicThumbnailPath(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.PublicThumbnailPath.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.PublicThumbnailPath.toString()); } /** * Set value of PublicThumbnailPath * @param publicthumbnailpath */ - public final void setPublicThumbnailPath(String publicthumbnailpath) + public final void setPublicThumbnailPath(java.lang.String publicthumbnailpath) { setPublicThumbnailPath(getContext(), publicthumbnailpath); } @@ -121,7 +112,7 @@ public final void setPublicThumbnailPath(String publicthumbnailpath) * @param context * @param publicthumbnailpath */ - public final void setPublicThumbnailPath(IContext context, String publicthumbnailpath) + public final void setPublicThumbnailPath(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String publicthumbnailpath) { getMendixObject().setValue(context, MemberNames.PublicThumbnailPath.toString(), publicthumbnailpath); } @@ -149,7 +140,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "System.Image"; } @@ -160,7 +151,7 @@ public static String getType() */ @Override @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/system/proxies/Language.java b/test/javasource/system/proxies/Language.java index b273382..10b93b9 100644 --- a/test/javasource/system/proxies/Language.java +++ b/test/javasource/system/proxies/Language.java @@ -1,28 +1,19 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package system.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ public class Language { - private final IMendixObject languageMendixObject; + private final com.mendix.systemwideinterfaces.core.IMendixObject languageMendixObject; - private final IContext context; + private final com.mendix.systemwideinterfaces.core.IContext context; /** * Internal name of this entity */ - public static final String entityName = "System.Language"; + public static final java.lang.String entityName = "System.Language"; /** * Enum describing members of this entity @@ -32,31 +23,31 @@ public enum MemberNames Code("Code"), Description("Description"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public Language(IContext context) + public Language(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "System.Language")); + this(context, com.mendix.core.Core.instantiate(context, "System.Language")); } - protected Language(IContext context, IMendixObject languageMendixObject) + protected Language(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject languageMendixObject) { if (languageMendixObject == null) - throw new IllegalArgumentException("The given object cannot be null."); - if (!Core.isSubClassOf("System.Language", languageMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a System.Language"); + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("System.Language", languageMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a System.Language"); this.languageMendixObject = languageMendixObject; this.context = context; @@ -66,7 +57,7 @@ protected Language(IContext context, IMendixObject languageMendixObject) * @deprecated Use 'Language.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static system.proxies.Language initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.Language initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return system.proxies.Language.load(context, mendixIdentifier); } @@ -75,21 +66,21 @@ public static system.proxies.Language initialize(IContext context, IMendixIdenti * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static system.proxies.Language initialize(IContext context, IMendixObject mendixObject) + public static system.proxies.Language initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { return new system.proxies.Language(context, mendixObject); } - public static system.proxies.Language load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.Language load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return system.proxies.Language.initialize(context, mendixObject); } - public static java.util.List load(IContext context, String xpathConstraint) throws CoreException + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//System.Language" + xpathConstraint)) + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//System.Language" + xpathConstraint)) result.add(system.proxies.Language.initialize(context, obj)); return result; } @@ -97,17 +88,17 @@ public static java.util.List load(IContext context, Str /** * Commit the changes made on this proxy object. */ - public final void commit() throws CoreException + public final void commit() throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** * Commit the changes made on this proxy object using the specified context. */ - public final void commit(IContext context) throws CoreException + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** @@ -115,20 +106,20 @@ public final void commit(IContext context) throws CoreException */ public final void delete() { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * Delete the object using the specified context. */ - public final void delete(IContext context) + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * @return value of Code */ - public final String getCode() + public final java.lang.String getCode() { return getCode(getContext()); } @@ -137,16 +128,16 @@ public final String getCode() * @param context * @return value of Code */ - public final String getCode(IContext context) + public final java.lang.String getCode(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Code.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Code.toString()); } /** * Set value of Code * @param code */ - public final void setCode(String code) + public final void setCode(java.lang.String code) { setCode(getContext(), code); } @@ -156,7 +147,7 @@ public final void setCode(String code) * @param context * @param code */ - public final void setCode(IContext context, String code) + public final void setCode(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String code) { getMendixObject().setValue(context, MemberNames.Code.toString(), code); } @@ -164,7 +155,7 @@ public final void setCode(IContext context, String code) /** * @return value of Description */ - public final String getDescription() + public final java.lang.String getDescription() { return getDescription(getContext()); } @@ -173,16 +164,16 @@ public final String getDescription() * @param context * @return value of Description */ - public final String getDescription(IContext context) + public final java.lang.String getDescription(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Description.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Description.toString()); } /** * Set value of Description * @param description */ - public final void setDescription(String description) + public final void setDescription(java.lang.String description) { setDescription(getContext(), description); } @@ -192,7 +183,7 @@ public final void setDescription(String description) * @param context * @param description */ - public final void setDescription(IContext context, String description) + public final void setDescription(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String description) { getMendixObject().setValue(context, MemberNames.Description.toString(), description); } @@ -200,7 +191,7 @@ public final void setDescription(IContext context, String description) /** * @return the IMendixObject instance of this proxy for use in the Core interface. */ - public final IMendixObject getMendixObject() + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() { return languageMendixObject; } @@ -208,7 +199,7 @@ public final IMendixObject getMendixObject() /** * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. */ - public final IContext getContext() + public final com.mendix.systemwideinterfaces.core.IContext getContext() { return context; } @@ -236,7 +227,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "System.Language"; } @@ -246,7 +237,7 @@ public static String getType() * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. */ @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/system/proxies/ScheduledEventInformation.java b/test/javasource/system/proxies/ScheduledEventInformation.java index a3c8efd..78044cd 100644 --- a/test/javasource/system/proxies/ScheduledEventInformation.java +++ b/test/javasource/system/proxies/ScheduledEventInformation.java @@ -1,28 +1,19 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package system.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ public class ScheduledEventInformation { - private final IMendixObject scheduledEventInformationMendixObject; + private final com.mendix.systemwideinterfaces.core.IMendixObject scheduledEventInformationMendixObject; - private final IContext context; + private final com.mendix.systemwideinterfaces.core.IContext context; /** * Internal name of this entity */ - public static final String entityName = "System.ScheduledEventInformation"; + public static final java.lang.String entityName = "System.ScheduledEventInformation"; /** * Enum describing members of this entity @@ -35,31 +26,31 @@ public enum MemberNames EndTime("EndTime"), Status("Status"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public ScheduledEventInformation(IContext context) + public ScheduledEventInformation(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "System.ScheduledEventInformation")); + this(context, com.mendix.core.Core.instantiate(context, "System.ScheduledEventInformation")); } - protected ScheduledEventInformation(IContext context, IMendixObject scheduledEventInformationMendixObject) + protected ScheduledEventInformation(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject scheduledEventInformationMendixObject) { if (scheduledEventInformationMendixObject == null) - throw new IllegalArgumentException("The given object cannot be null."); - if (!Core.isSubClassOf("System.ScheduledEventInformation", scheduledEventInformationMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a System.ScheduledEventInformation"); + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("System.ScheduledEventInformation", scheduledEventInformationMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a System.ScheduledEventInformation"); this.scheduledEventInformationMendixObject = scheduledEventInformationMendixObject; this.context = context; @@ -69,7 +60,7 @@ protected ScheduledEventInformation(IContext context, IMendixObject scheduledEve * @deprecated Use 'ScheduledEventInformation.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static system.proxies.ScheduledEventInformation initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.ScheduledEventInformation initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return system.proxies.ScheduledEventInformation.load(context, mendixIdentifier); } @@ -78,21 +69,21 @@ public static system.proxies.ScheduledEventInformation initialize(IContext conte * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static system.proxies.ScheduledEventInformation initialize(IContext context, IMendixObject mendixObject) + public static system.proxies.ScheduledEventInformation initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { return new system.proxies.ScheduledEventInformation(context, mendixObject); } - public static system.proxies.ScheduledEventInformation load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.ScheduledEventInformation load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return system.proxies.ScheduledEventInformation.initialize(context, mendixObject); } - public static java.util.List load(IContext context, String xpathConstraint) throws CoreException + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//System.ScheduledEventInformation" + xpathConstraint)) + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//System.ScheduledEventInformation" + xpathConstraint)) result.add(system.proxies.ScheduledEventInformation.initialize(context, obj)); return result; } @@ -100,17 +91,17 @@ public static java.util.List load(ICon /** * Commit the changes made on this proxy object. */ - public final void commit() throws CoreException + public final void commit() throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** * Commit the changes made on this proxy object using the specified context. */ - public final void commit(IContext context) throws CoreException + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** @@ -118,20 +109,20 @@ public final void commit(IContext context) throws CoreException */ public final void delete() { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * Delete the object using the specified context. */ - public final void delete(IContext context) + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * @return value of Name */ - public final String getName() + public final java.lang.String getName() { return getName(getContext()); } @@ -140,16 +131,16 @@ public final String getName() * @param context * @return value of Name */ - public final String getName(IContext context) + public final java.lang.String getName(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Name.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Name.toString()); } /** * Set value of Name * @param name */ - public final void setName(String name) + public final void setName(java.lang.String name) { setName(getContext(), name); } @@ -159,7 +150,7 @@ public final void setName(String name) * @param context * @param name */ - public final void setName(IContext context, String name) + public final void setName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String name) { getMendixObject().setValue(context, MemberNames.Name.toString(), name); } @@ -167,7 +158,7 @@ public final void setName(IContext context, String name) /** * @return value of Description */ - public final String getDescription() + public final java.lang.String getDescription() { return getDescription(getContext()); } @@ -176,16 +167,16 @@ public final String getDescription() * @param context * @return value of Description */ - public final String getDescription(IContext context) + public final java.lang.String getDescription(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Description.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Description.toString()); } /** * Set value of Description * @param description */ - public final void setDescription(String description) + public final void setDescription(java.lang.String description) { setDescription(getContext(), description); } @@ -195,7 +186,7 @@ public final void setDescription(String description) * @param context * @param description */ - public final void setDescription(IContext context, String description) + public final void setDescription(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String description) { getMendixObject().setValue(context, MemberNames.Description.toString(), description); } @@ -212,7 +203,7 @@ public final java.util.Date getStartTime() * @param context * @return value of StartTime */ - public final java.util.Date getStartTime(IContext context) + public final java.util.Date getStartTime(com.mendix.systemwideinterfaces.core.IContext context) { return (java.util.Date) getMendixObject().getValue(context, MemberNames.StartTime.toString()); } @@ -231,7 +222,7 @@ public final void setStartTime(java.util.Date starttime) * @param context * @param starttime */ - public final void setStartTime(IContext context, java.util.Date starttime) + public final void setStartTime(com.mendix.systemwideinterfaces.core.IContext context, java.util.Date starttime) { getMendixObject().setValue(context, MemberNames.StartTime.toString(), starttime); } @@ -248,7 +239,7 @@ public final java.util.Date getEndTime() * @param context * @return value of EndTime */ - public final java.util.Date getEndTime(IContext context) + public final java.util.Date getEndTime(com.mendix.systemwideinterfaces.core.IContext context) { return (java.util.Date) getMendixObject().getValue(context, MemberNames.EndTime.toString()); } @@ -267,7 +258,7 @@ public final void setEndTime(java.util.Date endtime) * @param context * @param endtime */ - public final void setEndTime(IContext context, java.util.Date endtime) + public final void setEndTime(com.mendix.systemwideinterfaces.core.IContext context, java.util.Date endtime) { getMendixObject().setValue(context, MemberNames.EndTime.toString(), endtime); } @@ -285,13 +276,13 @@ public final system.proxies.EventStatus getStatus() * @param context * @return value of Status */ - public final system.proxies.EventStatus getStatus(IContext context) + public final system.proxies.EventStatus getStatus(com.mendix.systemwideinterfaces.core.IContext context) { Object obj = getMendixObject().getValue(context, MemberNames.Status.toString()); if (obj == null) return null; - return system.proxies.EventStatus.valueOf((String) obj); + return system.proxies.EventStatus.valueOf((java.lang.String) obj); } /** @@ -308,7 +299,7 @@ public final void setStatus(system.proxies.EventStatus status) * @param context * @param status */ - public final void setStatus(IContext context, system.proxies.EventStatus status) + public final void setStatus(com.mendix.systemwideinterfaces.core.IContext context, system.proxies.EventStatus status) { if (status != null) getMendixObject().setValue(context, MemberNames.Status.toString(), status.toString()); @@ -319,7 +310,7 @@ public final void setStatus(IContext context, system.proxies.EventStatus status) /** * @return the IMendixObject instance of this proxy for use in the Core interface. */ - public final IMendixObject getMendixObject() + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() { return scheduledEventInformationMendixObject; } @@ -327,7 +318,7 @@ public final IMendixObject getMendixObject() /** * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. */ - public final IContext getContext() + public final com.mendix.systemwideinterfaces.core.IContext getContext() { return context; } @@ -355,7 +346,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "System.ScheduledEventInformation"; } @@ -365,7 +356,7 @@ public static String getType() * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. */ @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/system/proxies/Session.java b/test/javasource/system/proxies/Session.java index 979310b..f5fb241 100644 --- a/test/javasource/system/proxies/Session.java +++ b/test/javasource/system/proxies/Session.java @@ -1,28 +1,19 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package system.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ public class Session { - private final IMendixObject sessionMendixObject; + private final com.mendix.systemwideinterfaces.core.IMendixObject sessionMendixObject; - private final IContext context; + private final com.mendix.systemwideinterfaces.core.IContext context; /** * Internal name of this entity */ - public static final String entityName = "System.Session"; + public static final java.lang.String entityName = "System.Session"; /** * Enum describing members of this entity @@ -30,34 +21,35 @@ public class Session public enum MemberNames { SessionId("SessionId"), + CSRFToken("CSRFToken"), LastActive("LastActive"), Session_User("System.Session_User"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public Session(IContext context) + public Session(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "System.Session")); + this(context, com.mendix.core.Core.instantiate(context, "System.Session")); } - protected Session(IContext context, IMendixObject sessionMendixObject) + protected Session(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject sessionMendixObject) { if (sessionMendixObject == null) - throw new IllegalArgumentException("The given object cannot be null."); - if (!Core.isSubClassOf("System.Session", sessionMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a System.Session"); + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("System.Session", sessionMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a System.Session"); this.sessionMendixObject = sessionMendixObject; this.context = context; @@ -67,7 +59,7 @@ protected Session(IContext context, IMendixObject sessionMendixObject) * @deprecated Use 'Session.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static system.proxies.Session initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.Session initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return system.proxies.Session.load(context, mendixIdentifier); } @@ -76,21 +68,21 @@ public static system.proxies.Session initialize(IContext context, IMendixIdentif * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static system.proxies.Session initialize(IContext context, IMendixObject mendixObject) + public static system.proxies.Session initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { return new system.proxies.Session(context, mendixObject); } - public static system.proxies.Session load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.Session load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return system.proxies.Session.initialize(context, mendixObject); } - public static java.util.List load(IContext context, String xpathConstraint) throws CoreException + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//System.Session" + xpathConstraint)) + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//System.Session" + xpathConstraint)) result.add(system.proxies.Session.initialize(context, obj)); return result; } @@ -98,17 +90,17 @@ public static java.util.List load(IContext context, Stri /** * Commit the changes made on this proxy object. */ - public final void commit() throws CoreException + public final void commit() throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** * Commit the changes made on this proxy object using the specified context. */ - public final void commit(IContext context) throws CoreException + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** @@ -116,20 +108,20 @@ public final void commit(IContext context) throws CoreException */ public final void delete() { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * Delete the object using the specified context. */ - public final void delete(IContext context) + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * @return value of SessionId */ - public final String getSessionId() + public final java.lang.String getSessionId() { return getSessionId(getContext()); } @@ -138,16 +130,16 @@ public final String getSessionId() * @param context * @return value of SessionId */ - public final String getSessionId(IContext context) + public final java.lang.String getSessionId(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.SessionId.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.SessionId.toString()); } /** * Set value of SessionId * @param sessionid */ - public final void setSessionId(String sessionid) + public final void setSessionId(java.lang.String sessionid) { setSessionId(getContext(), sessionid); } @@ -157,11 +149,47 @@ public final void setSessionId(String sessionid) * @param context * @param sessionid */ - public final void setSessionId(IContext context, String sessionid) + public final void setSessionId(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String sessionid) { getMendixObject().setValue(context, MemberNames.SessionId.toString(), sessionid); } + /** + * @return value of CSRFToken + */ + public final java.lang.String getCSRFToken() + { + return getCSRFToken(getContext()); + } + + /** + * @param context + * @return value of CSRFToken + */ + public final java.lang.String getCSRFToken(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.CSRFToken.toString()); + } + + /** + * Set value of CSRFToken + * @param csrftoken + */ + public final void setCSRFToken(java.lang.String csrftoken) + { + setCSRFToken(getContext(), csrftoken); + } + + /** + * Set value of CSRFToken + * @param context + * @param csrftoken + */ + public final void setCSRFToken(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String csrftoken) + { + getMendixObject().setValue(context, MemberNames.CSRFToken.toString(), csrftoken); + } + /** * @return value of LastActive */ @@ -174,7 +202,7 @@ public final java.util.Date getLastActive() * @param context * @return value of LastActive */ - public final java.util.Date getLastActive(IContext context) + public final java.util.Date getLastActive(com.mendix.systemwideinterfaces.core.IContext context) { return (java.util.Date) getMendixObject().getValue(context, MemberNames.LastActive.toString()); } @@ -193,7 +221,7 @@ public final void setLastActive(java.util.Date lastactive) * @param context * @param lastactive */ - public final void setLastActive(IContext context, java.util.Date lastactive) + public final void setLastActive(com.mendix.systemwideinterfaces.core.IContext context, java.util.Date lastactive) { getMendixObject().setValue(context, MemberNames.LastActive.toString(), lastactive); } @@ -201,7 +229,7 @@ public final void setLastActive(IContext context, java.util.Date lastactive) /** * @return value of Session_User */ - public final system.proxies.User getSession_User() throws CoreException + public final system.proxies.User getSession_User() throws com.mendix.core.CoreException { return getSession_User(getContext()); } @@ -210,10 +238,10 @@ public final system.proxies.User getSession_User() throws CoreException * @param context * @return value of Session_User */ - public final system.proxies.User getSession_User(IContext context) throws CoreException + public final system.proxies.User getSession_User(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { system.proxies.User result = null; - IMendixIdentifier identifier = getMendixObject().getValue(context, MemberNames.Session_User.toString()); + com.mendix.systemwideinterfaces.core.IMendixIdentifier identifier = getMendixObject().getValue(context, MemberNames.Session_User.toString()); if (identifier != null) result = system.proxies.User.load(context, identifier); return result; @@ -233,7 +261,7 @@ public final void setSession_User(system.proxies.User session_user) * @param context * @param session_user */ - public final void setSession_User(IContext context, system.proxies.User session_user) + public final void setSession_User(com.mendix.systemwideinterfaces.core.IContext context, system.proxies.User session_user) { if (session_user == null) getMendixObject().setValue(context, MemberNames.Session_User.toString(), null); @@ -244,7 +272,7 @@ public final void setSession_User(IContext context, system.proxies.User session_ /** * @return the IMendixObject instance of this proxy for use in the Core interface. */ - public final IMendixObject getMendixObject() + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() { return sessionMendixObject; } @@ -252,7 +280,7 @@ public final IMendixObject getMendixObject() /** * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. */ - public final IContext getContext() + public final com.mendix.systemwideinterfaces.core.IContext getContext() { return context; } @@ -280,7 +308,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "System.Session"; } @@ -290,7 +318,7 @@ public static String getType() * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. */ @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/system/proxies/SoapFault.java b/test/javasource/system/proxies/SoapFault.java index 7b0170c..157b061 100644 --- a/test/javasource/system/proxies/SoapFault.java +++ b/test/javasource/system/proxies/SoapFault.java @@ -1,24 +1,15 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package system.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ public class SoapFault extends system.proxies.Error { /** * Internal name of this entity */ - public static final String entityName = "System.SoapFault"; + public static final java.lang.String entityName = "System.SoapFault"; /** * Enum describing members of this entity @@ -34,37 +25,37 @@ public enum MemberNames Message("Message"), Stacktrace("Stacktrace"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public SoapFault(IContext context) + public SoapFault(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "System.SoapFault")); + this(context, com.mendix.core.Core.instantiate(context, "System.SoapFault")); } - protected SoapFault(IContext context, IMendixObject soapFaultMendixObject) + protected SoapFault(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject soapFaultMendixObject) { super(context, soapFaultMendixObject); - if (!Core.isSubClassOf("System.SoapFault", soapFaultMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a System.SoapFault"); + if (!com.mendix.core.Core.isSubClassOf("System.SoapFault", soapFaultMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a System.SoapFault"); } /** * @deprecated Use 'SoapFault.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static system.proxies.SoapFault initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.SoapFault initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return system.proxies.SoapFault.load(context, mendixIdentifier); } @@ -73,21 +64,21 @@ public static system.proxies.SoapFault initialize(IContext context, IMendixIdent * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static system.proxies.SoapFault initialize(IContext context, IMendixObject mendixObject) + public static system.proxies.SoapFault initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { return new system.proxies.SoapFault(context, mendixObject); } - public static system.proxies.SoapFault load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.SoapFault load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return system.proxies.SoapFault.initialize(context, mendixObject); } /** * @return value of Code */ - public final String getCode() + public final java.lang.String getCode() { return getCode(getContext()); } @@ -96,16 +87,16 @@ public final String getCode() * @param context * @return value of Code */ - public final String getCode(IContext context) + public final java.lang.String getCode(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Code.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Code.toString()); } /** * Set value of Code * @param code */ - public final void setCode(String code) + public final void setCode(java.lang.String code) { setCode(getContext(), code); } @@ -115,7 +106,7 @@ public final void setCode(String code) * @param context * @param code */ - public final void setCode(IContext context, String code) + public final void setCode(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String code) { getMendixObject().setValue(context, MemberNames.Code.toString(), code); } @@ -123,7 +114,7 @@ public final void setCode(IContext context, String code) /** * @return value of Reason */ - public final String getReason() + public final java.lang.String getReason() { return getReason(getContext()); } @@ -132,16 +123,16 @@ public final String getReason() * @param context * @return value of Reason */ - public final String getReason(IContext context) + public final java.lang.String getReason(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Reason.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Reason.toString()); } /** * Set value of Reason * @param reason */ - public final void setReason(String reason) + public final void setReason(java.lang.String reason) { setReason(getContext(), reason); } @@ -151,7 +142,7 @@ public final void setReason(String reason) * @param context * @param reason */ - public final void setReason(IContext context, String reason) + public final void setReason(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String reason) { getMendixObject().setValue(context, MemberNames.Reason.toString(), reason); } @@ -159,7 +150,7 @@ public final void setReason(IContext context, String reason) /** * @return value of Node */ - public final String getNode() + public final java.lang.String getNode() { return getNode(getContext()); } @@ -168,16 +159,16 @@ public final String getNode() * @param context * @return value of Node */ - public final String getNode(IContext context) + public final java.lang.String getNode(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Node.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Node.toString()); } /** * Set value of Node * @param node */ - public final void setNode(String node) + public final void setNode(java.lang.String node) { setNode(getContext(), node); } @@ -187,7 +178,7 @@ public final void setNode(String node) * @param context * @param node */ - public final void setNode(IContext context, String node) + public final void setNode(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String node) { getMendixObject().setValue(context, MemberNames.Node.toString(), node); } @@ -195,7 +186,7 @@ public final void setNode(IContext context, String node) /** * @return value of Role */ - public final String getRole() + public final java.lang.String getRole() { return getRole(getContext()); } @@ -204,16 +195,16 @@ public final String getRole() * @param context * @return value of Role */ - public final String getRole(IContext context) + public final java.lang.String getRole(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Role.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Role.toString()); } /** * Set value of Role * @param role */ - public final void setRole(String role) + public final void setRole(java.lang.String role) { setRole(getContext(), role); } @@ -223,7 +214,7 @@ public final void setRole(String role) * @param context * @param role */ - public final void setRole(IContext context, String role) + public final void setRole(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String role) { getMendixObject().setValue(context, MemberNames.Role.toString(), role); } @@ -231,7 +222,7 @@ public final void setRole(IContext context, String role) /** * @return value of Detail */ - public final String getDetail() + public final java.lang.String getDetail() { return getDetail(getContext()); } @@ -240,16 +231,16 @@ public final String getDetail() * @param context * @return value of Detail */ - public final String getDetail(IContext context) + public final java.lang.String getDetail(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Detail.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Detail.toString()); } /** * Set value of Detail * @param detail */ - public final void setDetail(String detail) + public final void setDetail(java.lang.String detail) { setDetail(getContext(), detail); } @@ -259,7 +250,7 @@ public final void setDetail(String detail) * @param context * @param detail */ - public final void setDetail(IContext context, String detail) + public final void setDetail(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String detail) { getMendixObject().setValue(context, MemberNames.Detail.toString(), detail); } @@ -287,7 +278,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "System.SoapFault"; } @@ -298,7 +289,7 @@ public static String getType() */ @Override @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/system/proxies/Statistics.java b/test/javasource/system/proxies/Statistics.java index 5dc23d5..169fab1 100644 --- a/test/javasource/system/proxies/Statistics.java +++ b/test/javasource/system/proxies/Statistics.java @@ -1,28 +1,19 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package system.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ public class Statistics { - private final IMendixObject statisticsMendixObject; + private final com.mendix.systemwideinterfaces.core.IMendixObject statisticsMendixObject; - private final IContext context; + private final com.mendix.systemwideinterfaces.core.IContext context; /** * Internal name of this entity */ - public static final String entityName = "System.Statistics"; + public static final java.lang.String entityName = "System.Statistics"; /** * Enum describing members of this entity @@ -35,31 +26,31 @@ public enum MemberNames LastUpdate("LastUpdate"), ClusterManager("System.ClusterManager"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public Statistics(IContext context) + public Statistics(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "System.Statistics")); + this(context, com.mendix.core.Core.instantiate(context, "System.Statistics")); } - protected Statistics(IContext context, IMendixObject statisticsMendixObject) + protected Statistics(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject statisticsMendixObject) { if (statisticsMendixObject == null) - throw new IllegalArgumentException("The given object cannot be null."); - if (!Core.isSubClassOf("System.Statistics", statisticsMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a System.Statistics"); + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("System.Statistics", statisticsMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a System.Statistics"); this.statisticsMendixObject = statisticsMendixObject; this.context = context; @@ -69,7 +60,7 @@ protected Statistics(IContext context, IMendixObject statisticsMendixObject) * @deprecated Use 'Statistics.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static system.proxies.Statistics initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.Statistics initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return system.proxies.Statistics.load(context, mendixIdentifier); } @@ -78,21 +69,21 @@ public static system.proxies.Statistics initialize(IContext context, IMendixIden * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static system.proxies.Statistics initialize(IContext context, IMendixObject mendixObject) + public static system.proxies.Statistics initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { return new system.proxies.Statistics(context, mendixObject); } - public static system.proxies.Statistics load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.Statistics load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return system.proxies.Statistics.initialize(context, mendixObject); } - public static java.util.List load(IContext context, String xpathConstraint) throws CoreException + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//System.Statistics" + xpathConstraint)) + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//System.Statistics" + xpathConstraint)) result.add(system.proxies.Statistics.initialize(context, obj)); return result; } @@ -100,17 +91,17 @@ public static java.util.List load(IContext context, S /** * Commit the changes made on this proxy object. */ - public final void commit() throws CoreException + public final void commit() throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** * Commit the changes made on this proxy object using the specified context. */ - public final void commit(IContext context) throws CoreException + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** @@ -118,20 +109,20 @@ public final void commit(IContext context) throws CoreException */ public final void delete() { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * Delete the object using the specified context. */ - public final void delete(IContext context) + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * @return value of MaxNumberOfConcurrentUsers */ - public final Integer getMaxNumberOfConcurrentUsers() + public final java.lang.Integer getMaxNumberOfConcurrentUsers() { return getMaxNumberOfConcurrentUsers(getContext()); } @@ -140,16 +131,16 @@ public final Integer getMaxNumberOfConcurrentUsers() * @param context * @return value of MaxNumberOfConcurrentUsers */ - public final Integer getMaxNumberOfConcurrentUsers(IContext context) + public final java.lang.Integer getMaxNumberOfConcurrentUsers(com.mendix.systemwideinterfaces.core.IContext context) { - return (Integer) getMendixObject().getValue(context, MemberNames.MaxNumberOfConcurrentUsers.toString()); + return (java.lang.Integer) getMendixObject().getValue(context, MemberNames.MaxNumberOfConcurrentUsers.toString()); } /** * Set value of MaxNumberOfConcurrentUsers * @param maxnumberofconcurrentusers */ - public final void setMaxNumberOfConcurrentUsers(Integer maxnumberofconcurrentusers) + public final void setMaxNumberOfConcurrentUsers(java.lang.Integer maxnumberofconcurrentusers) { setMaxNumberOfConcurrentUsers(getContext(), maxnumberofconcurrentusers); } @@ -159,7 +150,7 @@ public final void setMaxNumberOfConcurrentUsers(Integer maxnumberofconcurrentuse * @param context * @param maxnumberofconcurrentusers */ - public final void setMaxNumberOfConcurrentUsers(IContext context, Integer maxnumberofconcurrentusers) + public final void setMaxNumberOfConcurrentUsers(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Integer maxnumberofconcurrentusers) { getMendixObject().setValue(context, MemberNames.MaxNumberOfConcurrentUsers.toString(), maxnumberofconcurrentusers); } @@ -167,7 +158,7 @@ public final void setMaxNumberOfConcurrentUsers(IContext context, Integer maxnum /** * @return value of MaxNumberOfAnonymousConcurrentUsers */ - public final Integer getMaxNumberOfAnonymousConcurrentUsers() + public final java.lang.Integer getMaxNumberOfAnonymousConcurrentUsers() { return getMaxNumberOfAnonymousConcurrentUsers(getContext()); } @@ -176,16 +167,16 @@ public final Integer getMaxNumberOfAnonymousConcurrentUsers() * @param context * @return value of MaxNumberOfAnonymousConcurrentUsers */ - public final Integer getMaxNumberOfAnonymousConcurrentUsers(IContext context) + public final java.lang.Integer getMaxNumberOfAnonymousConcurrentUsers(com.mendix.systemwideinterfaces.core.IContext context) { - return (Integer) getMendixObject().getValue(context, MemberNames.MaxNumberOfAnonymousConcurrentUsers.toString()); + return (java.lang.Integer) getMendixObject().getValue(context, MemberNames.MaxNumberOfAnonymousConcurrentUsers.toString()); } /** * Set value of MaxNumberOfAnonymousConcurrentUsers * @param maxnumberofanonymousconcurrentusers */ - public final void setMaxNumberOfAnonymousConcurrentUsers(Integer maxnumberofanonymousconcurrentusers) + public final void setMaxNumberOfAnonymousConcurrentUsers(java.lang.Integer maxnumberofanonymousconcurrentusers) { setMaxNumberOfAnonymousConcurrentUsers(getContext(), maxnumberofanonymousconcurrentusers); } @@ -195,7 +186,7 @@ public final void setMaxNumberOfAnonymousConcurrentUsers(Integer maxnumberofanon * @param context * @param maxnumberofanonymousconcurrentusers */ - public final void setMaxNumberOfAnonymousConcurrentUsers(IContext context, Integer maxnumberofanonymousconcurrentusers) + public final void setMaxNumberOfAnonymousConcurrentUsers(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Integer maxnumberofanonymousconcurrentusers) { getMendixObject().setValue(context, MemberNames.MaxNumberOfAnonymousConcurrentUsers.toString(), maxnumberofanonymousconcurrentusers); } @@ -203,7 +194,7 @@ public final void setMaxNumberOfAnonymousConcurrentUsers(IContext context, Integ /** * @return value of MaxNumberOfNamedUsers */ - public final Integer getMaxNumberOfNamedUsers() + public final java.lang.Integer getMaxNumberOfNamedUsers() { return getMaxNumberOfNamedUsers(getContext()); } @@ -212,16 +203,16 @@ public final Integer getMaxNumberOfNamedUsers() * @param context * @return value of MaxNumberOfNamedUsers */ - public final Integer getMaxNumberOfNamedUsers(IContext context) + public final java.lang.Integer getMaxNumberOfNamedUsers(com.mendix.systemwideinterfaces.core.IContext context) { - return (Integer) getMendixObject().getValue(context, MemberNames.MaxNumberOfNamedUsers.toString()); + return (java.lang.Integer) getMendixObject().getValue(context, MemberNames.MaxNumberOfNamedUsers.toString()); } /** * Set value of MaxNumberOfNamedUsers * @param maxnumberofnamedusers */ - public final void setMaxNumberOfNamedUsers(Integer maxnumberofnamedusers) + public final void setMaxNumberOfNamedUsers(java.lang.Integer maxnumberofnamedusers) { setMaxNumberOfNamedUsers(getContext(), maxnumberofnamedusers); } @@ -231,7 +222,7 @@ public final void setMaxNumberOfNamedUsers(Integer maxnumberofnamedusers) * @param context * @param maxnumberofnamedusers */ - public final void setMaxNumberOfNamedUsers(IContext context, Integer maxnumberofnamedusers) + public final void setMaxNumberOfNamedUsers(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Integer maxnumberofnamedusers) { getMendixObject().setValue(context, MemberNames.MaxNumberOfNamedUsers.toString(), maxnumberofnamedusers); } @@ -248,7 +239,7 @@ public final java.util.Date getLastUpdate() * @param context * @return value of LastUpdate */ - public final java.util.Date getLastUpdate(IContext context) + public final java.util.Date getLastUpdate(com.mendix.systemwideinterfaces.core.IContext context) { return (java.util.Date) getMendixObject().getValue(context, MemberNames.LastUpdate.toString()); } @@ -267,7 +258,7 @@ public final void setLastUpdate(java.util.Date lastupdate) * @param context * @param lastupdate */ - public final void setLastUpdate(IContext context, java.util.Date lastupdate) + public final void setLastUpdate(com.mendix.systemwideinterfaces.core.IContext context, java.util.Date lastupdate) { getMendixObject().setValue(context, MemberNames.LastUpdate.toString(), lastupdate); } @@ -275,7 +266,7 @@ public final void setLastUpdate(IContext context, java.util.Date lastupdate) /** * @return value of ClusterManager */ - public final system.proxies.XASInstance getClusterManager() throws CoreException + public final system.proxies.XASInstance getClusterManager() throws com.mendix.core.CoreException { return getClusterManager(getContext()); } @@ -284,10 +275,10 @@ public final system.proxies.XASInstance getClusterManager() throws CoreException * @param context * @return value of ClusterManager */ - public final system.proxies.XASInstance getClusterManager(IContext context) throws CoreException + public final system.proxies.XASInstance getClusterManager(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { system.proxies.XASInstance result = null; - IMendixIdentifier identifier = getMendixObject().getValue(context, MemberNames.ClusterManager.toString()); + com.mendix.systemwideinterfaces.core.IMendixIdentifier identifier = getMendixObject().getValue(context, MemberNames.ClusterManager.toString()); if (identifier != null) result = system.proxies.XASInstance.load(context, identifier); return result; @@ -307,7 +298,7 @@ public final void setClusterManager(system.proxies.XASInstance clustermanager) * @param context * @param clustermanager */ - public final void setClusterManager(IContext context, system.proxies.XASInstance clustermanager) + public final void setClusterManager(com.mendix.systemwideinterfaces.core.IContext context, system.proxies.XASInstance clustermanager) { if (clustermanager == null) getMendixObject().setValue(context, MemberNames.ClusterManager.toString(), null); @@ -318,7 +309,7 @@ public final void setClusterManager(IContext context, system.proxies.XASInstance /** * @return the IMendixObject instance of this proxy for use in the Core interface. */ - public final IMendixObject getMendixObject() + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() { return statisticsMendixObject; } @@ -326,7 +317,7 @@ public final IMendixObject getMendixObject() /** * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. */ - public final IContext getContext() + public final com.mendix.systemwideinterfaces.core.IContext getContext() { return context; } @@ -354,7 +345,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "System.Statistics"; } @@ -364,7 +355,7 @@ public static String getType() * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. */ @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/system/proxies/TimeZone.java b/test/javasource/system/proxies/TimeZone.java index d700991..f6c1187 100644 --- a/test/javasource/system/proxies/TimeZone.java +++ b/test/javasource/system/proxies/TimeZone.java @@ -1,28 +1,19 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package system.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ public class TimeZone { - private final IMendixObject timeZoneMendixObject; + private final com.mendix.systemwideinterfaces.core.IMendixObject timeZoneMendixObject; - private final IContext context; + private final com.mendix.systemwideinterfaces.core.IContext context; /** * Internal name of this entity */ - public static final String entityName = "System.TimeZone"; + public static final java.lang.String entityName = "System.TimeZone"; /** * Enum describing members of this entity @@ -33,31 +24,31 @@ public enum MemberNames Description("Description"), RawOffset("RawOffset"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public TimeZone(IContext context) + public TimeZone(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "System.TimeZone")); + this(context, com.mendix.core.Core.instantiate(context, "System.TimeZone")); } - protected TimeZone(IContext context, IMendixObject timeZoneMendixObject) + protected TimeZone(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject timeZoneMendixObject) { if (timeZoneMendixObject == null) - throw new IllegalArgumentException("The given object cannot be null."); - if (!Core.isSubClassOf("System.TimeZone", timeZoneMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a System.TimeZone"); + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("System.TimeZone", timeZoneMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a System.TimeZone"); this.timeZoneMendixObject = timeZoneMendixObject; this.context = context; @@ -67,7 +58,7 @@ protected TimeZone(IContext context, IMendixObject timeZoneMendixObject) * @deprecated Use 'TimeZone.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static system.proxies.TimeZone initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.TimeZone initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return system.proxies.TimeZone.load(context, mendixIdentifier); } @@ -76,21 +67,21 @@ public static system.proxies.TimeZone initialize(IContext context, IMendixIdenti * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static system.proxies.TimeZone initialize(IContext context, IMendixObject mendixObject) + public static system.proxies.TimeZone initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { return new system.proxies.TimeZone(context, mendixObject); } - public static system.proxies.TimeZone load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.TimeZone load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return system.proxies.TimeZone.initialize(context, mendixObject); } - public static java.util.List load(IContext context, String xpathConstraint) throws CoreException + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//System.TimeZone" + xpathConstraint)) + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//System.TimeZone" + xpathConstraint)) result.add(system.proxies.TimeZone.initialize(context, obj)); return result; } @@ -98,17 +89,17 @@ public static java.util.List load(IContext context, Str /** * Commit the changes made on this proxy object. */ - public final void commit() throws CoreException + public final void commit() throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** * Commit the changes made on this proxy object using the specified context. */ - public final void commit(IContext context) throws CoreException + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** @@ -116,20 +107,20 @@ public final void commit(IContext context) throws CoreException */ public final void delete() { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * Delete the object using the specified context. */ - public final void delete(IContext context) + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * @return value of Code */ - public final String getCode() + public final java.lang.String getCode() { return getCode(getContext()); } @@ -138,16 +129,16 @@ public final String getCode() * @param context * @return value of Code */ - public final String getCode(IContext context) + public final java.lang.String getCode(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Code.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Code.toString()); } /** * Set value of Code * @param code */ - public final void setCode(String code) + public final void setCode(java.lang.String code) { setCode(getContext(), code); } @@ -157,7 +148,7 @@ public final void setCode(String code) * @param context * @param code */ - public final void setCode(IContext context, String code) + public final void setCode(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String code) { getMendixObject().setValue(context, MemberNames.Code.toString(), code); } @@ -165,7 +156,7 @@ public final void setCode(IContext context, String code) /** * @return value of Description */ - public final String getDescription() + public final java.lang.String getDescription() { return getDescription(getContext()); } @@ -174,16 +165,16 @@ public final String getDescription() * @param context * @return value of Description */ - public final String getDescription(IContext context) + public final java.lang.String getDescription(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Description.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Description.toString()); } /** * Set value of Description * @param description */ - public final void setDescription(String description) + public final void setDescription(java.lang.String description) { setDescription(getContext(), description); } @@ -193,7 +184,7 @@ public final void setDescription(String description) * @param context * @param description */ - public final void setDescription(IContext context, String description) + public final void setDescription(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String description) { getMendixObject().setValue(context, MemberNames.Description.toString(), description); } @@ -201,7 +192,7 @@ public final void setDescription(IContext context, String description) /** * @return value of RawOffset */ - public final Integer getRawOffset() + public final java.lang.Integer getRawOffset() { return getRawOffset(getContext()); } @@ -210,16 +201,16 @@ public final Integer getRawOffset() * @param context * @return value of RawOffset */ - public final Integer getRawOffset(IContext context) + public final java.lang.Integer getRawOffset(com.mendix.systemwideinterfaces.core.IContext context) { - return (Integer) getMendixObject().getValue(context, MemberNames.RawOffset.toString()); + return (java.lang.Integer) getMendixObject().getValue(context, MemberNames.RawOffset.toString()); } /** * Set value of RawOffset * @param rawoffset */ - public final void setRawOffset(Integer rawoffset) + public final void setRawOffset(java.lang.Integer rawoffset) { setRawOffset(getContext(), rawoffset); } @@ -229,7 +220,7 @@ public final void setRawOffset(Integer rawoffset) * @param context * @param rawoffset */ - public final void setRawOffset(IContext context, Integer rawoffset) + public final void setRawOffset(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Integer rawoffset) { getMendixObject().setValue(context, MemberNames.RawOffset.toString(), rawoffset); } @@ -237,7 +228,7 @@ public final void setRawOffset(IContext context, Integer rawoffset) /** * @return the IMendixObject instance of this proxy for use in the Core interface. */ - public final IMendixObject getMendixObject() + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() { return timeZoneMendixObject; } @@ -245,7 +236,7 @@ public final IMendixObject getMendixObject() /** * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. */ - public final IContext getContext() + public final com.mendix.systemwideinterfaces.core.IContext getContext() { return context; } @@ -273,7 +264,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "System.TimeZone"; } @@ -283,7 +274,7 @@ public static String getType() * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. */ @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/system/proxies/TokenInformation.java b/test/javasource/system/proxies/TokenInformation.java new file mode 100644 index 0000000..74480ae --- /dev/null +++ b/test/javasource/system/proxies/TokenInformation.java @@ -0,0 +1,308 @@ +// This file was generated by Mendix Modeler. +// +// WARNING: Code you write here will be lost the next time you deploy the project. + +package system.proxies; + +public class TokenInformation +{ + private final com.mendix.systemwideinterfaces.core.IMendixObject tokenInformationMendixObject; + + private final com.mendix.systemwideinterfaces.core.IContext context; + + /** + * Internal name of this entity + */ + public static final java.lang.String entityName = "System.TokenInformation"; + + /** + * Enum describing members of this entity + */ + public enum MemberNames + { + Token("Token"), + ExpiryDate("ExpiryDate"), + UserAgent("UserAgent"), + TokenInformation_User("System.TokenInformation_User"); + + private java.lang.String metaName; + + MemberNames(java.lang.String s) + { + metaName = s; + } + + @Override + public java.lang.String toString() + { + return metaName; + } + } + + public TokenInformation(com.mendix.systemwideinterfaces.core.IContext context) + { + this(context, com.mendix.core.Core.instantiate(context, "System.TokenInformation")); + } + + protected TokenInformation(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject tokenInformationMendixObject) + { + if (tokenInformationMendixObject == null) + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("System.TokenInformation", tokenInformationMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a System.TokenInformation"); + + this.tokenInformationMendixObject = tokenInformationMendixObject; + this.context = context; + } + + /** + * @deprecated Use 'TokenInformation.load(IContext, IMendixIdentifier)' instead. + */ + @Deprecated + public static system.proxies.TokenInformation initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException + { + return system.proxies.TokenInformation.load(context, mendixIdentifier); + } + + /** + * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. + * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). + */ + public static system.proxies.TokenInformation initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) + { + return new system.proxies.TokenInformation(context, mendixObject); + } + + public static system.proxies.TokenInformation load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException + { + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); + return system.proxies.TokenInformation.initialize(context, mendixObject); + } + + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException + { + java.util.List result = new java.util.ArrayList(); + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//System.TokenInformation" + xpathConstraint)) + result.add(system.proxies.TokenInformation.initialize(context, obj)); + return result; + } + + /** + * Commit the changes made on this proxy object. + */ + public final void commit() throws com.mendix.core.CoreException + { + com.mendix.core.Core.commit(context, getMendixObject()); + } + + /** + * Commit the changes made on this proxy object using the specified context. + */ + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException + { + com.mendix.core.Core.commit(context, getMendixObject()); + } + + /** + * Delete the object. + */ + public final void delete() + { + com.mendix.core.Core.delete(context, getMendixObject()); + } + + /** + * Delete the object using the specified context. + */ + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) + { + com.mendix.core.Core.delete(context, getMendixObject()); + } + /** + * Set value of Token + * @param token + */ + public final void setToken(java.lang.String token) + { + setToken(getContext(), token); + } + + /** + * Set value of Token + * @param context + * @param token + */ + public final void setToken(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String token) + { + getMendixObject().setValue(context, MemberNames.Token.toString(), token); + } + + /** + * @return value of ExpiryDate + */ + public final java.util.Date getExpiryDate() + { + return getExpiryDate(getContext()); + } + + /** + * @param context + * @return value of ExpiryDate + */ + public final java.util.Date getExpiryDate(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.util.Date) getMendixObject().getValue(context, MemberNames.ExpiryDate.toString()); + } + + /** + * Set value of ExpiryDate + * @param expirydate + */ + public final void setExpiryDate(java.util.Date expirydate) + { + setExpiryDate(getContext(), expirydate); + } + + /** + * Set value of ExpiryDate + * @param context + * @param expirydate + */ + public final void setExpiryDate(com.mendix.systemwideinterfaces.core.IContext context, java.util.Date expirydate) + { + getMendixObject().setValue(context, MemberNames.ExpiryDate.toString(), expirydate); + } + + /** + * @return value of UserAgent + */ + public final java.lang.String getUserAgent() + { + return getUserAgent(getContext()); + } + + /** + * @param context + * @return value of UserAgent + */ + public final java.lang.String getUserAgent(com.mendix.systemwideinterfaces.core.IContext context) + { + return (java.lang.String) getMendixObject().getValue(context, MemberNames.UserAgent.toString()); + } + + /** + * Set value of UserAgent + * @param useragent + */ + public final void setUserAgent(java.lang.String useragent) + { + setUserAgent(getContext(), useragent); + } + + /** + * Set value of UserAgent + * @param context + * @param useragent + */ + public final void setUserAgent(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String useragent) + { + getMendixObject().setValue(context, MemberNames.UserAgent.toString(), useragent); + } + + /** + * @return value of TokenInformation_User + */ + public final system.proxies.User getTokenInformation_User() throws com.mendix.core.CoreException + { + return getTokenInformation_User(getContext()); + } + + /** + * @param context + * @return value of TokenInformation_User + */ + public final system.proxies.User getTokenInformation_User(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException + { + system.proxies.User result = null; + com.mendix.systemwideinterfaces.core.IMendixIdentifier identifier = getMendixObject().getValue(context, MemberNames.TokenInformation_User.toString()); + if (identifier != null) + result = system.proxies.User.load(context, identifier); + return result; + } + + /** + * Set value of TokenInformation_User + * @param tokeninformation_user + */ + public final void setTokenInformation_User(system.proxies.User tokeninformation_user) + { + setTokenInformation_User(getContext(), tokeninformation_user); + } + + /** + * Set value of TokenInformation_User + * @param context + * @param tokeninformation_user + */ + public final void setTokenInformation_User(com.mendix.systemwideinterfaces.core.IContext context, system.proxies.User tokeninformation_user) + { + if (tokeninformation_user == null) + getMendixObject().setValue(context, MemberNames.TokenInformation_User.toString(), null); + else + getMendixObject().setValue(context, MemberNames.TokenInformation_User.toString(), tokeninformation_user.getMendixObject().getId()); + } + + /** + * @return the IMendixObject instance of this proxy for use in the Core interface. + */ + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() + { + return tokenInformationMendixObject; + } + + /** + * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. + */ + public final com.mendix.systemwideinterfaces.core.IContext getContext() + { + return context; + } + + @Override + public boolean equals(Object obj) + { + if (obj == this) + return true; + + if (obj != null && getClass().equals(obj.getClass())) + { + final system.proxies.TokenInformation that = (system.proxies.TokenInformation) obj; + return getMendixObject().equals(that.getMendixObject()); + } + return false; + } + + @Override + public int hashCode() + { + return getMendixObject().hashCode(); + } + + /** + * @return String name of this class + */ + public static java.lang.String getType() + { + return "System.TokenInformation"; + } + + /** + * @return String GUID from this object, format: ID_0000000000 + * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. + */ + @Deprecated + public java.lang.String getGUID() + { + return "ID_" + getMendixObject().getId().toLong(); + } +} diff --git a/test/javasource/system/proxies/User.java b/test/javasource/system/proxies/User.java index 9a7c79b..d159b75 100644 --- a/test/javasource/system/proxies/User.java +++ b/test/javasource/system/proxies/User.java @@ -1,28 +1,19 @@ -// This file was generated by Mendix Business Modeler. +// This file was generated by Mendix Modeler. // // WARNING: Code you write here will be lost the next time you deploy the project. package system.proxies; -import com.mendix.core.Core; -import com.mendix.core.CoreException; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixIdentifier; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -/** - * - */ public class User { - private final IMendixObject userMendixObject; + private final com.mendix.systemwideinterfaces.core.IMendixObject userMendixObject; - private final IContext context; + private final com.mendix.systemwideinterfaces.core.IContext context; /** * Internal name of this entity */ - public static final String entityName = "System.User"; + public static final java.lang.String entityName = "System.User"; /** * Enum describing members of this entity @@ -41,31 +32,31 @@ public enum MemberNames User_Language("System.User_Language"), User_TimeZone("System.User_TimeZone"); - private String metaName; + private java.lang.String metaName; - MemberNames(String s) + MemberNames(java.lang.String s) { metaName = s; } @Override - public String toString() + public java.lang.String toString() { return metaName; } } - public User(IContext context) + public User(com.mendix.systemwideinterfaces.core.IContext context) { - this(context, Core.instantiate(context, "System.User")); + this(context, com.mendix.core.Core.instantiate(context, "System.User")); } - protected User(IContext context, IMendixObject userMendixObject) + protected User(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject userMendixObject) { if (userMendixObject == null) - throw new IllegalArgumentException("The given object cannot be null."); - if (!Core.isSubClassOf("System.User", userMendixObject.getType())) - throw new IllegalArgumentException("The given object is not a System.User"); + throw new java.lang.IllegalArgumentException("The given object cannot be null."); + if (!com.mendix.core.Core.isSubClassOf("System.User", userMendixObject.getType())) + throw new java.lang.IllegalArgumentException("The given object is not a System.User"); this.userMendixObject = userMendixObject; this.context = context; @@ -75,7 +66,7 @@ protected User(IContext context, IMendixObject userMendixObject) * @deprecated Use 'User.load(IContext, IMendixIdentifier)' instead. */ @Deprecated - public static system.proxies.User initialize(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.User initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { return system.proxies.User.load(context, mendixIdentifier); } @@ -84,24 +75,24 @@ public static system.proxies.User initialize(IContext context, IMendixIdentifier * Initialize a proxy using context (recommended). This context will be used for security checking when the get- and set-methods without context parameters are called. * The get- and set-methods with context parameter should be used when for instance sudo access is necessary (IContext.getSudoContext() can be used to obtain sudo access). */ - public static system.proxies.User initialize(IContext context, IMendixObject mendixObject) + public static system.proxies.User initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) { - if (Core.isSubClassOf("Administration.Account", mendixObject.getType())) + if (com.mendix.core.Core.isSubClassOf("Administration.Account", mendixObject.getType())) return administration.proxies.Account.initialize(context, mendixObject); return new system.proxies.User(context, mendixObject); } - public static system.proxies.User load(IContext context, IMendixIdentifier mendixIdentifier) throws CoreException + public static system.proxies.User load(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException { - IMendixObject mendixObject = Core.retrieveId(context, mendixIdentifier); + com.mendix.systemwideinterfaces.core.IMendixObject mendixObject = com.mendix.core.Core.retrieveId(context, mendixIdentifier); return system.proxies.User.initialize(context, mendixObject); } - public static java.util.List load(IContext context, String xpathConstraint) throws CoreException + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//System.User" + xpathConstraint)) + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//System.User" + xpathConstraint)) result.add(system.proxies.User.initialize(context, obj)); return result; } @@ -109,17 +100,17 @@ public static java.util.List load(IContext contex /** * Commit the changes made on this proxy object. */ - public final void commit() throws CoreException + public final void commit() throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** * Commit the changes made on this proxy object using the specified context. */ - public final void commit(IContext context) throws CoreException + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** @@ -127,20 +118,20 @@ public final void commit(IContext context) throws CoreException */ public final void delete() { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * Delete the object using the specified context. */ - public final void delete(IContext context) + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * @return value of Name */ - public final String getName() + public final java.lang.String getName() { return getName(getContext()); } @@ -149,16 +140,16 @@ public final String getName() * @param context * @return value of Name */ - public final String getName(IContext context) + public final java.lang.String getName(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Name.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Name.toString()); } /** * Set value of Name * @param name */ - public final void setName(String name) + public final void setName(java.lang.String name) { setName(getContext(), name); } @@ -168,7 +159,7 @@ public final void setName(String name) * @param context * @param name */ - public final void setName(IContext context, String name) + public final void setName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String name) { getMendixObject().setValue(context, MemberNames.Name.toString(), name); } @@ -177,7 +168,7 @@ public final void setName(IContext context, String name) * Set value of Password * @param password */ - public final void setPassword(String password) + public final void setPassword(java.lang.String password) { setPassword(getContext(), password); } @@ -187,7 +178,7 @@ public final void setPassword(String password) * @param context * @param password */ - public final void setPassword(IContext context, String password) + public final void setPassword(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String password) { getMendixObject().setValue(context, MemberNames.Password.toString(), password); } @@ -204,7 +195,7 @@ public final java.util.Date getLastLogin() * @param context * @return value of LastLogin */ - public final java.util.Date getLastLogin(IContext context) + public final java.util.Date getLastLogin(com.mendix.systemwideinterfaces.core.IContext context) { return (java.util.Date) getMendixObject().getValue(context, MemberNames.LastLogin.toString()); } @@ -223,7 +214,7 @@ public final void setLastLogin(java.util.Date lastlogin) * @param context * @param lastlogin */ - public final void setLastLogin(IContext context, java.util.Date lastlogin) + public final void setLastLogin(com.mendix.systemwideinterfaces.core.IContext context, java.util.Date lastlogin) { getMendixObject().setValue(context, MemberNames.LastLogin.toString(), lastlogin); } @@ -231,7 +222,7 @@ public final void setLastLogin(IContext context, java.util.Date lastlogin) /** * @return value of Blocked */ - public final Boolean getBlocked() + public final java.lang.Boolean getBlocked() { return getBlocked(getContext()); } @@ -240,16 +231,16 @@ public final Boolean getBlocked() * @param context * @return value of Blocked */ - public final Boolean getBlocked(IContext context) + public final java.lang.Boolean getBlocked(com.mendix.systemwideinterfaces.core.IContext context) { - return (Boolean) getMendixObject().getValue(context, MemberNames.Blocked.toString()); + return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.Blocked.toString()); } /** * Set value of Blocked * @param blocked */ - public final void setBlocked(Boolean blocked) + public final void setBlocked(java.lang.Boolean blocked) { setBlocked(getContext(), blocked); } @@ -259,7 +250,7 @@ public final void setBlocked(Boolean blocked) * @param context * @param blocked */ - public final void setBlocked(IContext context, Boolean blocked) + public final void setBlocked(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean blocked) { getMendixObject().setValue(context, MemberNames.Blocked.toString(), blocked); } @@ -267,7 +258,7 @@ public final void setBlocked(IContext context, Boolean blocked) /** * @return value of Active */ - public final Boolean getActive() + public final java.lang.Boolean getActive() { return getActive(getContext()); } @@ -276,16 +267,16 @@ public final Boolean getActive() * @param context * @return value of Active */ - public final Boolean getActive(IContext context) + public final java.lang.Boolean getActive(com.mendix.systemwideinterfaces.core.IContext context) { - return (Boolean) getMendixObject().getValue(context, MemberNames.Active.toString()); + return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.Active.toString()); } /** * Set value of Active * @param active */ - public final void setActive(Boolean active) + public final void setActive(java.lang.Boolean active) { setActive(getContext(), active); } @@ -295,7 +286,7 @@ public final void setActive(Boolean active) * @param context * @param active */ - public final void setActive(IContext context, Boolean active) + public final void setActive(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean active) { getMendixObject().setValue(context, MemberNames.Active.toString(), active); } @@ -303,7 +294,7 @@ public final void setActive(IContext context, Boolean active) /** * @return value of FailedLogins */ - public final Integer getFailedLogins() + public final java.lang.Integer getFailedLogins() { return getFailedLogins(getContext()); } @@ -312,16 +303,16 @@ public final Integer getFailedLogins() * @param context * @return value of FailedLogins */ - public final Integer getFailedLogins(IContext context) + public final java.lang.Integer getFailedLogins(com.mendix.systemwideinterfaces.core.IContext context) { - return (Integer) getMendixObject().getValue(context, MemberNames.FailedLogins.toString()); + return (java.lang.Integer) getMendixObject().getValue(context, MemberNames.FailedLogins.toString()); } /** * Set value of FailedLogins * @param failedlogins */ - public final void setFailedLogins(Integer failedlogins) + public final void setFailedLogins(java.lang.Integer failedlogins) { setFailedLogins(getContext(), failedlogins); } @@ -331,7 +322,7 @@ public final void setFailedLogins(Integer failedlogins) * @param context * @param failedlogins */ - public final void setFailedLogins(IContext context, Integer failedlogins) + public final void setFailedLogins(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Integer failedlogins) { getMendixObject().setValue(context, MemberNames.FailedLogins.toString(), failedlogins); } @@ -339,7 +330,7 @@ public final void setFailedLogins(IContext context, Integer failedlogins) /** * @return value of WebServiceUser */ - public final Boolean getWebServiceUser() + public final java.lang.Boolean getWebServiceUser() { return getWebServiceUser(getContext()); } @@ -348,16 +339,16 @@ public final Boolean getWebServiceUser() * @param context * @return value of WebServiceUser */ - public final Boolean getWebServiceUser(IContext context) + public final java.lang.Boolean getWebServiceUser(com.mendix.systemwideinterfaces.core.IContext context) { - return (Boolean) getMendixObject().getValue(context, MemberNames.WebServiceUser.toString()); + return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.WebServiceUser.toString()); } /** * Set value of WebServiceUser * @param webserviceuser */ - public final void setWebServiceUser(Boolean webserviceuser) + public final void setWebServiceUser(java.lang.Boolean webserviceuser) { setWebServiceUser(getContext(), webserviceuser); } @@ -367,7 +358,7 @@ public final void setWebServiceUser(Boolean webserviceuser) * @param context * @param webserviceuser */ - public final void setWebServiceUser(IContext context, Boolean webserviceuser) + public final void setWebServiceUser(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean webserviceuser) { getMendixObject().setValue(context, MemberNames.WebServiceUser.toString(), webserviceuser); } @@ -375,7 +366,7 @@ public final void setWebServiceUser(IContext context, Boolean webserviceuser) /** * @return value of IsAnonymous */ - public final Boolean getIsAnonymous() + public final java.lang.Boolean getIsAnonymous() { return getIsAnonymous(getContext()); } @@ -384,16 +375,16 @@ public final Boolean getIsAnonymous() * @param context * @return value of IsAnonymous */ - public final Boolean getIsAnonymous(IContext context) + public final java.lang.Boolean getIsAnonymous(com.mendix.systemwideinterfaces.core.IContext context) { - return (Boolean) getMendixObject().getValue(context, MemberNames.IsAnonymous.toString()); + return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.IsAnonymous.toString()); } /** * Set value of IsAnonymous * @param isanonymous */ - public final void setIsAnonymous(Boolean isanonymous) + public final void setIsAnonymous(java.lang.Boolean isanonymous) { setIsAnonymous(getContext(), isanonymous); } @@ -403,7 +394,7 @@ public final void setIsAnonymous(Boolean isanonymous) * @param context * @param isanonymous */ - public final void setIsAnonymous(IContext context, Boolean isanonymous) + public final void setIsAnonymous(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean isanonymous) { getMendixObject().setValue(context, MemberNames.IsAnonymous.toString(), isanonymous); } @@ -411,7 +402,7 @@ public final void setIsAnonymous(IContext context, Boolean isanonymous) /** * @return value of UserRoles */ - public final java.util.List getUserRoles() throws CoreException + public final java.util.List getUserRoles() throws com.mendix.core.CoreException { return getUserRoles(getContext()); } @@ -421,13 +412,13 @@ public final java.util.List getUserRoles() throws CoreE * @return value of UserRoles */ @SuppressWarnings("unchecked") - public final java.util.List getUserRoles(IContext context) throws CoreException + public final java.util.List getUserRoles(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); Object valueObject = getMendixObject().getValue(context, MemberNames.UserRoles.toString()); if (valueObject == null) return result; - for (IMendixObject mendixObject : Core.retrieveIdList(context, (java.util.List) valueObject)) + for (com.mendix.systemwideinterfaces.core.IMendixObject mendixObject : com.mendix.core.Core.retrieveIdList(context, (java.util.List) valueObject)) result.add(system.proxies.UserRole.initialize(context, mendixObject)); return result; } @@ -446,9 +437,9 @@ public final void setUserRoles(java.util.List userroles * @param context * @param userroles */ - public final void setUserRoles(IContext context, java.util.List userroles) + public final void setUserRoles(com.mendix.systemwideinterfaces.core.IContext context, java.util.List userroles) { - java.util.List identifiers = new java.util.ArrayList(); + java.util.List identifiers = new java.util.ArrayList(); for (system.proxies.UserRole proxyObject : userroles) identifiers.add(proxyObject.getMendixObject().getId()); getMendixObject().setValue(context, MemberNames.UserRoles.toString(), identifiers); @@ -457,7 +448,7 @@ public final void setUserRoles(IContext context, java.util.List load(IContext context, String xpathConstraint) throws CoreException + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//System.UserRole" + xpathConstraint)) + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//System.UserRole" + xpathConstraint)) result.add(system.proxies.UserRole.initialize(context, obj)); return result; } @@ -99,17 +90,17 @@ public static java.util.List load(IContext context, Str /** * Commit the changes made on this proxy object. */ - public final void commit() throws CoreException + public final void commit() throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** * Commit the changes made on this proxy object using the specified context. */ - public final void commit(IContext context) throws CoreException + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** @@ -117,20 +108,20 @@ public final void commit(IContext context) throws CoreException */ public final void delete() { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * Delete the object using the specified context. */ - public final void delete(IContext context) + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * @return value of ModelGUID */ - public final String getModelGUID() + public final java.lang.String getModelGUID() { return getModelGUID(getContext()); } @@ -139,16 +130,16 @@ public final String getModelGUID() * @param context * @return value of ModelGUID */ - public final String getModelGUID(IContext context) + public final java.lang.String getModelGUID(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.ModelGUID.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.ModelGUID.toString()); } /** * Set value of ModelGUID * @param modelguid */ - public final void setModelGUID(String modelguid) + public final void setModelGUID(java.lang.String modelguid) { setModelGUID(getContext(), modelguid); } @@ -158,7 +149,7 @@ public final void setModelGUID(String modelguid) * @param context * @param modelguid */ - public final void setModelGUID(IContext context, String modelguid) + public final void setModelGUID(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String modelguid) { getMendixObject().setValue(context, MemberNames.ModelGUID.toString(), modelguid); } @@ -166,7 +157,7 @@ public final void setModelGUID(IContext context, String modelguid) /** * @return value of Name */ - public final String getName() + public final java.lang.String getName() { return getName(getContext()); } @@ -175,16 +166,16 @@ public final String getName() * @param context * @return value of Name */ - public final String getName(IContext context) + public final java.lang.String getName(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Name.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Name.toString()); } /** * Set value of Name * @param name */ - public final void setName(String name) + public final void setName(java.lang.String name) { setName(getContext(), name); } @@ -194,7 +185,7 @@ public final void setName(String name) * @param context * @param name */ - public final void setName(IContext context, String name) + public final void setName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String name) { getMendixObject().setValue(context, MemberNames.Name.toString(), name); } @@ -202,7 +193,7 @@ public final void setName(IContext context, String name) /** * @return value of Description */ - public final String getDescription() + public final java.lang.String getDescription() { return getDescription(getContext()); } @@ -211,16 +202,16 @@ public final String getDescription() * @param context * @return value of Description */ - public final String getDescription(IContext context) + public final java.lang.String getDescription(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.Description.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.Description.toString()); } /** * Set value of Description * @param description */ - public final void setDescription(String description) + public final void setDescription(java.lang.String description) { setDescription(getContext(), description); } @@ -230,7 +221,7 @@ public final void setDescription(String description) * @param context * @param description */ - public final void setDescription(IContext context, String description) + public final void setDescription(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String description) { getMendixObject().setValue(context, MemberNames.Description.toString(), description); } @@ -238,7 +229,7 @@ public final void setDescription(IContext context, String description) /** * @return value of grantableRoles */ - public final java.util.List getgrantableRoles() throws CoreException + public final java.util.List getgrantableRoles() throws com.mendix.core.CoreException { return getgrantableRoles(getContext()); } @@ -248,13 +239,13 @@ public final java.util.List getgrantableRoles() throws * @return value of grantableRoles */ @SuppressWarnings("unchecked") - public final java.util.List getgrantableRoles(IContext context) throws CoreException + public final java.util.List getgrantableRoles(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); Object valueObject = getMendixObject().getValue(context, MemberNames.grantableRoles.toString()); if (valueObject == null) return result; - for (IMendixObject mendixObject : Core.retrieveIdList(context, (java.util.List) valueObject)) + for (com.mendix.systemwideinterfaces.core.IMendixObject mendixObject : com.mendix.core.Core.retrieveIdList(context, (java.util.List) valueObject)) result.add(system.proxies.UserRole.initialize(context, mendixObject)); return result; } @@ -273,9 +264,9 @@ public final void setgrantableRoles(java.util.List gran * @param context * @param grantableroles */ - public final void setgrantableRoles(IContext context, java.util.List grantableroles) + public final void setgrantableRoles(com.mendix.systemwideinterfaces.core.IContext context, java.util.List grantableroles) { - java.util.List identifiers = new java.util.ArrayList(); + java.util.List identifiers = new java.util.ArrayList(); for (system.proxies.UserRole proxyObject : grantableroles) identifiers.add(proxyObject.getMendixObject().getId()); getMendixObject().setValue(context, MemberNames.grantableRoles.toString(), identifiers); @@ -284,7 +275,7 @@ public final void setgrantableRoles(IContext context, java.util.List load(IContext context, String xpathConstraint) throws CoreException + public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException { java.util.List result = new java.util.ArrayList(); - for (IMendixObject obj : Core.retrieveXPathQuery(context, "//System.XASInstance" + xpathConstraint)) + for (com.mendix.systemwideinterfaces.core.IMendixObject obj : com.mendix.core.Core.retrieveXPathQuery(context, "//System.XASInstance" + xpathConstraint)) result.add(system.proxies.XASInstance.initialize(context, obj)); return result; } @@ -100,17 +91,17 @@ public static java.util.List load(IContext context, /** * Commit the changes made on this proxy object. */ - public final void commit() throws CoreException + public final void commit() throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** * Commit the changes made on this proxy object using the specified context. */ - public final void commit(IContext context) throws CoreException + public final void commit(com.mendix.systemwideinterfaces.core.IContext context) throws com.mendix.core.CoreException { - Core.commit(context, getMendixObject()); + com.mendix.core.Core.commit(context, getMendixObject()); } /** @@ -118,20 +109,20 @@ public final void commit(IContext context) throws CoreException */ public final void delete() { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * Delete the object using the specified context. */ - public final void delete(IContext context) + public final void delete(com.mendix.systemwideinterfaces.core.IContext context) { - Core.delete(context, getMendixObject()); + com.mendix.core.Core.delete(context, getMendixObject()); } /** * @return value of XASId */ - public final String getXASId() + public final java.lang.String getXASId() { return getXASId(getContext()); } @@ -140,16 +131,16 @@ public final String getXASId() * @param context * @return value of XASId */ - public final String getXASId(IContext context) + public final java.lang.String getXASId(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.XASId.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.XASId.toString()); } /** * Set value of XASId * @param xasid */ - public final void setXASId(String xasid) + public final void setXASId(java.lang.String xasid) { setXASId(getContext(), xasid); } @@ -159,7 +150,7 @@ public final void setXASId(String xasid) * @param context * @param xasid */ - public final void setXASId(IContext context, String xasid) + public final void setXASId(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xasid) { getMendixObject().setValue(context, MemberNames.XASId.toString(), xasid); } @@ -176,7 +167,7 @@ public final java.util.Date getLastUpdate() * @param context * @return value of LastUpdate */ - public final java.util.Date getLastUpdate(IContext context) + public final java.util.Date getLastUpdate(com.mendix.systemwideinterfaces.core.IContext context) { return (java.util.Date) getMendixObject().getValue(context, MemberNames.LastUpdate.toString()); } @@ -195,7 +186,7 @@ public final void setLastUpdate(java.util.Date lastupdate) * @param context * @param lastupdate */ - public final void setLastUpdate(IContext context, java.util.Date lastupdate) + public final void setLastUpdate(com.mendix.systemwideinterfaces.core.IContext context, java.util.Date lastupdate) { getMendixObject().setValue(context, MemberNames.LastUpdate.toString(), lastupdate); } @@ -203,7 +194,7 @@ public final void setLastUpdate(IContext context, java.util.Date lastupdate) /** * @return value of AllowedNumberOfConcurrentUsers */ - public final Integer getAllowedNumberOfConcurrentUsers() + public final java.lang.Integer getAllowedNumberOfConcurrentUsers() { return getAllowedNumberOfConcurrentUsers(getContext()); } @@ -212,16 +203,16 @@ public final Integer getAllowedNumberOfConcurrentUsers() * @param context * @return value of AllowedNumberOfConcurrentUsers */ - public final Integer getAllowedNumberOfConcurrentUsers(IContext context) + public final java.lang.Integer getAllowedNumberOfConcurrentUsers(com.mendix.systemwideinterfaces.core.IContext context) { - return (Integer) getMendixObject().getValue(context, MemberNames.AllowedNumberOfConcurrentUsers.toString()); + return (java.lang.Integer) getMendixObject().getValue(context, MemberNames.AllowedNumberOfConcurrentUsers.toString()); } /** * Set value of AllowedNumberOfConcurrentUsers * @param allowednumberofconcurrentusers */ - public final void setAllowedNumberOfConcurrentUsers(Integer allowednumberofconcurrentusers) + public final void setAllowedNumberOfConcurrentUsers(java.lang.Integer allowednumberofconcurrentusers) { setAllowedNumberOfConcurrentUsers(getContext(), allowednumberofconcurrentusers); } @@ -231,7 +222,7 @@ public final void setAllowedNumberOfConcurrentUsers(Integer allowednumberofconcu * @param context * @param allowednumberofconcurrentusers */ - public final void setAllowedNumberOfConcurrentUsers(IContext context, Integer allowednumberofconcurrentusers) + public final void setAllowedNumberOfConcurrentUsers(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Integer allowednumberofconcurrentusers) { getMendixObject().setValue(context, MemberNames.AllowedNumberOfConcurrentUsers.toString(), allowednumberofconcurrentusers); } @@ -239,7 +230,7 @@ public final void setAllowedNumberOfConcurrentUsers(IContext context, Integer al /** * @return value of PartnerName */ - public final String getPartnerName() + public final java.lang.String getPartnerName() { return getPartnerName(getContext()); } @@ -248,16 +239,16 @@ public final String getPartnerName() * @param context * @return value of PartnerName */ - public final String getPartnerName(IContext context) + public final java.lang.String getPartnerName(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.PartnerName.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.PartnerName.toString()); } /** * Set value of PartnerName * @param partnername */ - public final void setPartnerName(String partnername) + public final void setPartnerName(java.lang.String partnername) { setPartnerName(getContext(), partnername); } @@ -267,7 +258,7 @@ public final void setPartnerName(String partnername) * @param context * @param partnername */ - public final void setPartnerName(IContext context, String partnername) + public final void setPartnerName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String partnername) { getMendixObject().setValue(context, MemberNames.PartnerName.toString(), partnername); } @@ -275,7 +266,7 @@ public final void setPartnerName(IContext context, String partnername) /** * @return value of CustomerName */ - public final String getCustomerName() + public final java.lang.String getCustomerName() { return getCustomerName(getContext()); } @@ -284,16 +275,16 @@ public final String getCustomerName() * @param context * @return value of CustomerName */ - public final String getCustomerName(IContext context) + public final java.lang.String getCustomerName(com.mendix.systemwideinterfaces.core.IContext context) { - return (String) getMendixObject().getValue(context, MemberNames.CustomerName.toString()); + return (java.lang.String) getMendixObject().getValue(context, MemberNames.CustomerName.toString()); } /** * Set value of CustomerName * @param customername */ - public final void setCustomerName(String customername) + public final void setCustomerName(java.lang.String customername) { setCustomerName(getContext(), customername); } @@ -303,7 +294,7 @@ public final void setCustomerName(String customername) * @param context * @param customername */ - public final void setCustomerName(IContext context, String customername) + public final void setCustomerName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String customername) { getMendixObject().setValue(context, MemberNames.CustomerName.toString(), customername); } @@ -311,7 +302,7 @@ public final void setCustomerName(IContext context, String customername) /** * @return the IMendixObject instance of this proxy for use in the Core interface. */ - public final IMendixObject getMendixObject() + public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() { return xASInstanceMendixObject; } @@ -319,7 +310,7 @@ public final IMendixObject getMendixObject() /** * @return the IContext instance of this proxy, or null if no IContext instance was specified at initialization. */ - public final IContext getContext() + public final com.mendix.systemwideinterfaces.core.IContext getContext() { return context; } @@ -347,7 +338,7 @@ public int hashCode() /** * @return String name of this class */ - public static String getType() + public static java.lang.String getType() { return "System.XASInstance"; } @@ -357,7 +348,7 @@ public static String getType() * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. */ @Deprecated - public String getGUID() + public java.lang.String getGUID() { return "ID_" + getMendixObject().getId().toLong(); } diff --git a/test/javasource/system/proxies/microflows/Microflows.java b/test/javasource/system/proxies/microflows/Microflows.java index 7eddd04..4524e2d 100644 --- a/test/javasource/system/proxies/microflows/Microflows.java +++ b/test/javasource/system/proxies/microflows/Microflows.java @@ -1,4 +1,4 @@ -// This file was generated by Mendix Business Modeler 5.0. +// This file was generated by Mendix Modeler 6.10. // // WARNING: Code you write here will be lost the next time you deploy the project. @@ -14,12 +14,11 @@ public class Microflows { // These are the microflows for the System module - public static void showHomePage(IContext context) { try { - Map params = new HashMap(); + Map params = new HashMap(); Core.execute(context, "System.ShowHomePage", params); } catch (CoreException e) diff --git a/test/package.xml b/test/package.xml deleted file mode 100644 index a6bd543..0000000 --- a/test/package.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/resources/communitycommons/antisamy/Developer Guide.pdf b/test/resources/communitycommons/antisamy/Developer Guide.pdf deleted file mode 100644 index 5a39f9e..0000000 Binary files a/test/resources/communitycommons/antisamy/Developer Guide.pdf and /dev/null differ diff --git a/test/resources/communitycommons/antisamy/antisamy-anythinggoes-1.4.4.xml b/test/resources/communitycommons/antisamy/antisamy-anythinggoes-1.4.4.xml deleted file mode 100644 index 2939eee..0000000 --- a/test/resources/communitycommons/antisamy/antisamy-anythinggoes-1.4.4.xml +++ /dev/null @@ -1,2632 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - g - grin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/resources/communitycommons/antisamy/antisamy-bootstraprte-1.4.4.xml b/test/resources/communitycommons/antisamy/antisamy-bootstraprte-1.4.4.xml deleted file mode 100644 index 0e68383..0000000 --- a/test/resources/communitycommons/antisamy/antisamy-bootstraprte-1.4.4.xml +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - g - grin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/resources/communitycommons/antisamy/antisamy-bootstraprte_nolink-1.4.4.xml b/test/resources/communitycommons/antisamy/antisamy-bootstraprte_nolink-1.4.4.xml deleted file mode 100644 index 72a1f60..0000000 --- a/test/resources/communitycommons/antisamy/antisamy-bootstraprte_nolink-1.4.4.xml +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - g - grin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/resources/communitycommons/antisamy/antisamy-ebay-1.4.4.xml b/test/resources/communitycommons/antisamy/antisamy-ebay-1.4.4.xml deleted file mode 100644 index c24cf83..0000000 --- a/test/resources/communitycommons/antisamy/antisamy-ebay-1.4.4.xml +++ /dev/null @@ -1,2445 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - g - grin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/resources/communitycommons/antisamy/antisamy-myspace-1.4.4.xml b/test/resources/communitycommons/antisamy/antisamy-myspace-1.4.4.xml deleted file mode 100644 index 8a2e061..0000000 --- a/test/resources/communitycommons/antisamy/antisamy-myspace-1.4.4.xml +++ /dev/null @@ -1,2602 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - g - grin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/resources/communitycommons/antisamy/antisamy-slashdot-1.4.4.xml b/test/resources/communitycommons/antisamy/antisamy-slashdot-1.4.4.xml deleted file mode 100644 index 4baa52c..0000000 --- a/test/resources/communitycommons/antisamy/antisamy-slashdot-1.4.4.xml +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - g - grin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/resources/communitycommons/antisamy/antisamy-tinymce-1.4.4.xml b/test/resources/communitycommons/antisamy/antisamy-tinymce-1.4.4.xml deleted file mode 100644 index 26148c7..0000000 --- a/test/resources/communitycommons/antisamy/antisamy-tinymce-1.4.4.xml +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - g - grin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/test.launch b/test/test.launch index 545924d..acd7bc1 100644 --- a/test/test.launch +++ b/test/test.launch @@ -9,10 +9,9 @@ - - - - + + + @@ -21,12 +20,12 @@ - - + + - - + + \ No newline at end of file diff --git a/test/theme/components.json b/test/theme/components.json new file mode 100644 index 0000000..1f89214 --- /dev/null +++ b/test/theme/components.json @@ -0,0 +1 @@ +{"files":{"css":["lib/bootstrap/css/bootstrap.min.css","mxclientsystem/mxui/ui/mxui.css","styles/css/lib/lib.css","styles/css/custom/custom.css"],"js":["mxclientsystem/mxui/mxui.js"]},"cachebust":"635689412670032000"} \ No newline at end of file diff --git a/test/theme/config.rb b/test/theme/config.rb new file mode 100644 index 0000000..c24a352 --- /dev/null +++ b/test/theme/config.rb @@ -0,0 +1,19 @@ +# This file makes sure every theme has the same default output +# More documentation: http://compass-style.org/help/documentation/configuration-reference/ + +# Can be :scss or :sass. Defaults to :scss +preferred_syntax = :scss +# The path to the project when running within the web server +http_path = '/' +# The directory where the css stylesheets are kept +css_dir = 'styles/css' +# The directory where the sass stylesheets are kept +sass_dir = 'styles/sass' +# Indicates whether the compass helper functions should generate relative urls from the generated css to assets, or absolute urls using the http path for that asset type +relative_assets = true +# Indicates whether line comments should be added to compiled css that says where the selectors were defined +line_comments = false +# Set this to true to enable sourcemap output +sourcemap = false +# The output style for the compiled css +output_style = :expanded diff --git a/test/theme/favicon.ico b/test/theme/favicon.ico new file mode 100644 index 0000000..fa10282 Binary files /dev/null and b/test/theme/favicon.ico differ diff --git a/test/theme/index-rtl.html b/test/theme/index-rtl.html new file mode 100644 index 0000000..626c591 --- /dev/null +++ b/test/theme/index-rtl.html @@ -0,0 +1,27 @@ + + + + + + Mendix + + + + + + + + + + +
+ + + + diff --git a/test/theme/index.html b/test/theme/index.html new file mode 100644 index 0000000..bf765d4 --- /dev/null +++ b/test/theme/index.html @@ -0,0 +1,39 @@ + + + + + + Mendix + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/test/theme/login.html b/test/theme/login.html new file mode 100644 index 0000000..325d18b --- /dev/null +++ b/test/theme/login.html @@ -0,0 +1,40 @@ + + + + + + Login + + + + + + + + + + + + diff --git a/test/theme/styles/css/custom/custom.css b/test/theme/styles/css/custom/custom.css new file mode 100644 index 0000000..be479bc --- /dev/null +++ b/test/theme/styles/css/custom/custom.css @@ -0,0 +1,1178 @@ +/* ========================================================================== + Base + + Default settings +========================================================================== */ +body { + /* Styles here */ +} + +a { + /* Styles here */ +} + +a:hover { + /* Styles here */ +} + +a:focus { + /* Styles here */ +} + +a:active, +a:hover { + /* Styles here */ +} + +/* ========================================================================== + Buttons + + Default Bootstrap and Mendix Buttons +========================================================================== */ +.btn, +.mx-button { + /* Styles here */ +} +.btn:hover, .btn:focus, .btn:active, +.mx-button:hover, +.mx-button:focus, +.mx-button:active { + /* Styles here */ +} + +.mx-link { + /* Styles here */ +} + +.btn-default { + /* Styles here */ +} + +.btn-primary { + /* Styles here */ +} + +.btn-inverse { + /* Styles here */ +} + +.btn-success { + /* Styles here */ +} + +.btn-info { + /* Styles here */ +} + +.btn-warning { + /* Styles here */ +} + +.btn-danger { + /* Styles here */ +} + +/* ========================================================================== + Datagrid Default + + Default Mendix Datagrid Widget. The datagrid shows a list of objects in a grid +========================================================================== */ +.mx-datagrid { + /* Styles here */ +} +.mx-datagrid .mx-datagrid-head-table { + /* Styles here */ +} +.mx-datagrid .mx-datagrid-head-table th { + /* Styles here */ +} +.mx-datagrid .mx-datagrid-head-table .mx-datagrid-head-wrapper { + /* Styles here */ +} +.mx-datagrid .mx-datagrid-head-table .mx-datagrid-head-wrapper .mx-datagrid-head-caption { + font-size: 11px; +} +.mx-datagrid .mx-datagrid-body-table { + /* Styles here */ +} +.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr { + /* Styles here */ +} +.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td { + /* Styles here */ +} + +/* ========================================================================== + Dataview + + Default Mendix Dataview Widget. The data view is used for showing the contents of exactly one object +========================================================================== */ +.mx-dataview { + /* Styles here */ +} +.mx-dataview .mx-dataview-controls { + /* Styles here */ +} + +/* ========================================================================== + Grid + + Default Mendix Grid +========================================================================== */ +.mx-grid { + /* Styles here */ +} +.mx-grid .mx-grid-controlbar { + /* Styles here */ +} +.mx-grid .mx-grid-controlbar .mx-grid-pagingbar { + /* Styles here */ +} +.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button { + /* Styles here */ +} +.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button:hover { + /* Styles here */ +} +.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-grid-paging-status { + /* Styles here */ +} +.mx-grid .mx-grid-controlbar .mx-grid-searchbar { + /* Styles here */ +} +.mx-grid .mx-grid-controlbar .mx-grid-searchbar .mx-grid-search-item { + /* Styles here */ +} +.mx-grid .mx-grid-controlbar .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-label { + /* Styles here */ +} +.mx-grid .mx-grid-controlbar .mx-grid-searchbar .mx-grid-search-input { + /* Styles here */ +} +.mx-grid .mx-grid-controlbar .mx-grid-searchbar .mx-grid-search-input .form-control { + /* Styles here */ +} +.mx-grid .mx-grid-controlbar .mx-grid-searchbar .mx-grid-search-input .mx-button { + /* Styles here */ +} + +/* ========================================================================== + Groupbox + + Default Mendix Groupboxes +========================================================================== */ +.mx-groupbox { + /* Styles here */ +} +.mx-groupbox > .mx-groupbox-header { + /* Styles here */ +} +.mx-groupbox > .mx-groupbox-body { + /* Styles here */ +} +.mx-groupbox .mx-groupbox-header + .mx-groupbox-body { + /* Styles here */ +} +.mx-groupbox.collapsed > .mx-groupbox-header { + /* Styles here */ +} + +/* ========================================================================== + Inputs +========================================================================== */ +.form-control { + /* Styles here */ +} + +.form-control:focus { + /* Styles here */ +} + +.form-group .control-label { + /* Styles here */ +} + +/* ========================================================================== + Listview + + Default Mendix Listview Widget. The list view shows a list of objects arranged vertically. Each object is shown using a template +========================================================================== */ +.mx-listview { + /* Styles here */ +} +.mx-listview .mx-button.mx-listview-clear-button { + /* Styles here */ +} +.mx-listview > .mx-button { + /* Load more button */ +} +.mx-listview .mx-listview-item { + /* Styles here */ +} +.mx-listview .mx-listview-item:hover { + /* Styles here */ +} +.mx-listview .mx-listview-item.selected { + /* Styles here */ +} +.mx-listview .mx-listview-item.selected:hover { + /* Styles here */ +} +.mx-listview .mx-listview-item:nth-child(2n+1) { + /* Styles here */ +} + +/* ========================================================================== + Modals + + Default Mendix Modals. Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults +========================================================================== */ +.modal-dialog { + /* Styles here */ +} +.modal-dialog .modal-content { + /* Styles here */ +} +.modal-dialog .modal-content .modal-header { + /* Styles here */ +} +.modal-dialog .modal-content .modal-header h4 { + /* Styles here */ +} +.modal-dialog .modal-content .modal-header .close { + /* Styles here */ +} +.modal-dialog .modal-content .modal-body { + /* Styles here */ +} +.modal-dialog .modal-content .modal-footer { + /* Styles here */ +} + +/* Default Mendix Window Modal */ +/* Default Mendix Login Modal */ +.mx-login { + /* Styles here */ +} +.mx-login .modal-body { + /* Styles here */ +} +.mx-login .modal-content { + /* Styles here */ +} +.mx-login .modal-header, +.mx-login .modal-footer { + /* Styles here */ +} +.mx-login button { + /* Styles here */ +} +.mx-login h4 { + /* Styles here */ +} + +/* ========================================================================== + Navigation + + Default Mendix Navigation Bar +========================================================================== */ +.mx-navbar { + /* Styles here */ +} +.mx-navbar ul.nav { + /* Styles here */ +} +.mx-navbar ul.nav > li.mx-navbar-item > a { + color: #FFF; +} +.mx-navbar ul.nav > li.mx-navbar-item > a:hover, .mx-navbar ul.nav > li.mx-navbar-item > a:focus, .mx-navbar ul.nav > li.mx-navbar-item > a.active { + /* Styles here */ +} +.mx-navbar ul.nav > li.mx-navbar-item > a.active { + /* Styles here */ +} +.mx-navbar ul.nav > li.mx-navbar-item > a .mx-navbar-submenu:before { + /* Dropdown Menu */ +} +.mx-navbar ul.nav > .mx-navbar-item > a:hover, +.mx-navbar ul.nav > .mx-navbar-item > a:focus, +.mx-navbar ul.nav > .mx-navbar-item.active a, +.mx-navbar ul.nav > .mx-navbar-item.open > a, +.mx-navbar ul.nav > .mx-navbar-item.open > a:hover, +.mx-navbar ul.nav > .mx-navbar-item.open > a:focus { + /* When hovering or the dropdown is open */ +} +.mx-navbar ul.nav > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a { + /* Styles here */ +} + +/* ========================================================================== + Navigation + + Default Mendix Navigation Tree +========================================================================== */ +.mx-navigationtree { + /* Styles here */ +} +.mx-navigationtree .navbar-inner ul { + /* Styles here */ +} +.mx-navigationtree .navbar-inner ul li { + /* Styles here */ +} +.mx-navigationtree .navbar-inner ul li a { + padding: 20px; + border: 0; +} +.mx-navigationtree .navbar-inner ul li a .glyphicon { + margin-right: 0.3em; +} +.mx-navigationtree .navbar-inner ul li a:hover, +.mx-navigationtree .navbar-inner ul li a:focus, +.mx-navigationtree .navbar-inner ul li a.active { + /* Styles here */ +} +.mx-navigationtree .navbar-inner ul li a.active { + /* Styles here */ +} +.mx-navigationtree li.mx-navigationtree-has-items { + /* Styles here */ +} +.mx-navigationtree li.mx-navigationtree-has-items > ul li a { + padding: 15px 40px; +} + +/* ========================================================================== + Navigation + + Default Mendix Simple Menu Bar +========================================================================== */ +.mx-menubar { + /* Styles here */ +} +.mx-menubar ul.mx-menubar-list { + /* Styles here */ +} +.mx-menubar ul.mx-menubar-list li.mx-menubar-item { + /* Styles here */ +} +.mx-menubar ul.mx-menubar-list li.mx-menubar-item a { + /* Styles here */ +} +.mx-menubar ul.mx-menubar-list li.mx-menubar-item:hover a, .mx-menubar ul.mx-menubar-list li.mx-menubar-item:focus a, .mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a { + /* Styles here */ +} +.mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a { + /* Styles here */ +} + +/* ========================================================================== + Navigation List + + Default Mendix Navigation List Widget. A navigation list can be used to attach an action to an entire row. Such a row is called a navigation list item +========================================================================== */ +.mx-navigationlist { + /* Styles here */ +} +.mx-navigationlist .mx-navigationlist-item { + /* Styles here */ +} +.mx-navigationlist .mx-navigationlist-item:hover { + /* Styles here */ +} + +/* ========================================================================== + Tab Container + + Default Mendix Tab Container Widget. Tab containers are used to show information categorized into multiple tab pages. + This can be very useful if the amount of information that has to be displayed is larger than the amount of space on the screen +========================================================================== */ +.mx-tabcontainer { + /* Styles here */ +} +.mx-tabcontainer .mx-tabcontainer-tabs { + /* Styles here */ +} +.mx-tabcontainer .mx-tabcontainer-tabs > li > a { + /* Styles here */ +} +.mx-tabcontainer .mx-tabcontainer-tabs > li > a:hover, .mx-tabcontainer .mx-tabcontainer-tabs > li > a:focus { + /* Styles here */ +} +.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a, +.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:hover, +.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:focus { + /* Styles here */ +} +.mx-tabcontainer .mx-tabcontainer-content { + /* Styles here */ +} + +/* ========================================================================== + Tables + + Default Mendix Table Widget. Tables can be used to lend structure to a page. They contain a number of rows (tr) and columns, the intersection of which is called a cell (td). Each cell can contain widgets +========================================================================== */ +table.mx-table { + /* Styles here */ +} +table.mx-table > tbody > tr { + /* Styles here */ +} +table.mx-table > tbody > tr > th { + /* Styles here */ +} +table.mx-table > tbody > tr > th > label { + /* Styles here */ +} +table.mx-table > tbody > tr > td { + /* Styles here */ +} + +/* ========================================================================== + Templategrid + + Default Mendix Templategrid Widget. The template grid shows a list of objects in a tile view. For example, a template grid can show a list of products. The template grid has a lot in common with the data grid. The main difference is that the objects are shown in templates (a sort of small data view) instead of rows +========================================================================== */ +.mx-templategrid { + /* Styles here */ +} +.mx-templategrid .mx-templategrid-item { + /* Styles here */ +} +.mx-templategrid .mx-templategrid-item:hover { + /* Styles here */ +} +.mx-templategrid .mx-templategrid-item.selected { + /* Styles here */ +} +.mx-templategrid .mx-templategrid-item.selected:hover { + /* Styles here */ +} + +/* ========================================================================== + Typography +========================================================================== */ +p { + /* Styles here */ +} + +label { + /* Styles here */ +} + +.mx-title { + /* Styles here */ +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + /* Styles here */ +} + +/* ========================================================================== + Regions + + Used for navigation layouts +========================================================================== */ +.region-topbar { + border-bottom-color: #0595db; + min-height: 60px; +} +.region-topbar > .mx-layoutcontainer-wrapper .navbar-brand img { + height: 26px; + margin-top: -5px; + margin-right: 5px; +} +.region-topbar .toggle-btn { + color: #FFF; + border-color: #FFF; +} +.region-topbar .navbar-right .mx-appswitcher-button-placeholder, +.region-topbar .navbar-right .mx-profilemenu-button-placeholder { + border: 0; +} +.region-topbar .navbar-right .mx-profilemenu-button-placeholder iframe { + width: 38px !important; + height: 38px !important; +} + +/* ========================================================================== + Navbar Brand + + Used to style your app brand and logo +========================================================================== */ +.navbar-brand a { + color: #FFF; + font-size: 18px; +} + +/* ========================================================================== + Layout + + Default Mendix Layout +========================================================================== */ +.profile-phone, +.profile-tablet { + /* Styles here */ +} +.profile-phone .mx-layoutcontainer-wrapper, +.profile-tablet .mx-layoutcontainer-wrapper { + /* Styles here */ +} + +/* ========================================================================== + Listview for phone and tablet +========================================================================== */ +.profile-phone .mx-listview, +.profile-tablet .mx-listview { + /* Styles here */ +} +.profile-phone .mx-listview .mx-listview-searchbar, +.profile-tablet .mx-listview .mx-listview-searchbar { + /* Styles here */ +} +.profile-phone .mx-listview .mx-listview-searchbar button, +.profile-tablet .mx-listview .mx-listview-searchbar button { + /* Reset Search Button - default hidden */ +} +.profile-phone .mx-listview .mx-listview-searchbar .mx-listview-search-input, +.profile-tablet .mx-listview .mx-listview-searchbar .mx-listview-search-input { + /* Search Field */ +} +.profile-phone .mx-listview .mx-listview-searchbar .mx-listview-search-input input, +.profile-tablet .mx-listview .mx-listview-searchbar .mx-listview-search-input input { + /* Styles here */ +} +.profile-phone label, +.profile-tablet label { + /* Styles here */ +} +.profile-phone .mx-listview-loadMore, +.profile-tablet .mx-listview-loadMore { + /* Listview Load More button */ +} + +/* ========================================================================== + Header + + Default Mendix Header for Mobile +========================================================================== */ +body .mx-header { + /* Styles here */ + border: 0; +} +body .mx-header .mx-header-center { + /* Styles here */ +} +body .mx-header .mx-header-left { + /* Styles here */ +} +body .mx-header .mx-header-left .mx-link { + /* Styles here */ +} +body .mx-header .mx-header-right { + /* Styles here */ +} +body .mx-header .mx-title { + /* Styles here */ +} +body .mx-header .mx-sidebartoggle { + /* Styles here */ +} + +/* ========================================================================== + Tabcontainer + + Default Mendix Tabcontainer for Mobile +========================================================================== */ +/* ========================================================================== + Special styles for presenting Page Template Dashboard +========================================================================== */ +.page-dashboard { + /* Styles here */ +} +.page-dashboard .chartjs-node { + /* Styles here */ +} + +.page-dashboard-default .card { + /* Styles here */ +} + +.page-dashboard-mytasks .card { + /* Styles here */ +} + +.page-dashboard-actions { + /* Styles here */ +} + +.page-dashboard-actions-tasks { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Form +========================================================================== */ +.page-form { + /* Styles here */ +} + +.page-form-default { + /* Styles here */ +} + +.page-form-imagemap { + /* Styles here */ +} + +.page-form-tabs { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Master Detail +========================================================================== */ +.page-masterdetail { + /* Styles here */ +} + +.page-masterdetail-basic { + /* Styles here */ +} + +.page-masterdetail-big { + /* Styles here */ +} + +.page-masterdetail-imagemap { + /* Styles here */ +} + +.page-masterdetail-multilevel { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Tabs +========================================================================== */ +.page-tabs .section.pageheader { + border: 0; + padding-bottom: 20px; +} +.page-tabs .tabsfullwidth { + /* Styles here */ +} + +.page-tabs-default { + /* Styles here */ +} + +.page-tabs-fullwidth .pageheader.pageheader-fullwidth { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Website +========================================================================== */ +.page-website { + /* Styles here */ +} + +.page-website-actions { + /* Styles here */ +} + +.page-website-items { + /* Styles here */ +} + +.page-website-items-detail { + /* Styles here */ +} + +.page-website-presentation { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Wizard +========================================================================== */ +.page-wizard { + /* Styles here */ +} + +.page-wizard-default { + /* Styles here */ +} + +.page-wizard-titlecentered { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Phone +========================================================================== */ +.phone-page-dashboard { + /* Styles here */ +} + +.phone-page-dashboard-default { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Phone Form +========================================================================== */ +.phone-page-form { + /* Styles here */ +} + +.phone-page-form-default { + /* Styles here */ +} + +.phone-page-form-edit { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Phone Listview +========================================================================== */ +.phone-page-listview { + /* Styles here */ +} + +.phone-page-listview-default { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Phone Wizard +========================================================================== */ +.phone-page-wizard { + /* Styles here */ +} + +.phone-page-wizard-default { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Tablet Dashboard +========================================================================== */ +.tablet-page-dashboard { + /* Styles here */ +} + +.tablet-page-dashboard-default { + /* Styles here */ +} + +.tablet-page-dashboard-big { + /* Styles here */ +} + +.tablet-page-dashboard-mytasks { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Tablet Form +========================================================================== */ +.tablet-page-form { + /* Styles here */ +} + +.tablet-page-form-default { + /* Styles here */ +} + +.tablet-page-form-edit { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Tablet Master Detail +========================================================================== */ +.tablet-page-masterdetail { + /* Styles here */ +} + +.tablet-page-masterdetail-default { + /* Styles here */ +} + +.tablet-page-masterdetail-leftright { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Tablet Wizard +========================================================================== */ +.tablet-page-wizard { + /* Styles here */ +} + +.tablet-page-wizard-default { + /* Styles here */ +} + +/* ========================================================================== + Card +========================================================================== */ +.card { + /* Styles here */ +} + +.card-header-action { + /* Title + button + border below title and button */ +} +.card-header-action .card-title { + /* Styles here */ +} +.card-header-action .btn { + /* Styles here */ +} + +.card-details { + /* Styles here */ +} + +.card-title { + /* Styles here */ +} + +.card-subtitle { + /* Styles here */ +} + +.card-annotation { + /* Styles here */ +} + +.card-icon { + /* Styles here */ +} +.card-icon .glyphicon { + /* Styles here */ +} + +.card-image { + /* Styles here */ +} + +.card-link { + /* Styles here */ +} + +/* ========================================================================== + Dashboard Card +========================================================================== */ +.dashboardcard { + /* Styles here */ +} + +.dashboardcard-title { + /* Styles here */ +} + +.dashboardcard-subtitle { + /* Styles here */ +} + +.dashboardcard-link { + /* Styles here */ +} + +/* ========================================================================== + Dashboard Stats + + Used in dashboard +========================================================================== */ +.dashboardstat { + /* Styles here */ +} +.dashboardstat .dashboardstat-left, +.dashboardstat .dashboardstat-right { + /* Styles here */ +} + +.dashboardstat-icon { + /* Styles here */ +} + +.dashboardstat-title { + /* Styles here */ +} + +.dashboardstat-number { + /* Styles here */ +} + +/* ========================================================================== + Form + + To extend the default form +========================================================================== */ +.form { + /* Styles here */ +} + +.control-label { + /* Styles here */ +} + +.form-footer { + /* Styles here */ +} + +/* ========================================================================== + Form Block + + Used in default forms +========================================================================== */ +.formblock { + /* Styles here */ +} + +.formblock-header { + /* Styles here */ +} + +/* ========================================================================== + Page Header +========================================================================== */ +.pageheader { + /* Styles here */ +} + +.pageheader.section { + /* Styles here */ +} + +.pageheader-title { + /* Styles here */ +} + +.pageheader-subtitle { + /* Styles here */ +} + +/* ========================================================================== + Section Header +========================================================================== */ +.sectionheader { + /* Styles here */ +} + +.sectionheader-title { + /* Styles here */ +} + +.sectionheader-subtitle { + /* Styles here */ +} + +.sectionheader-avatar { + /* Styles here */ +} + +/* ========================================================================== + Profile Card +========================================================================== */ +.profilecard { + /* Styles here */ +} +.profilecard .profilecard-contentwrapper { + /* Styles here */ +} +.profilecard .profilecard-imgwrapper { + /* Styles here */ +} +.profilecard .profilecard-actionwrapper { + /* Styles here */ +} +.profilecard .profilecard-contentwrapper, +.profilecard .profilecard-imgwrapper, +.profilecard .profilecard-actionwrapper { + /* Styles here */ +} + +.profilecard-btn { + /* Styles here */ +} + +.profilecard-img { + /* Styles here */ +} + +.profilecard-title { + /* Styles here */ +} + +.profilecard-subtitle { + /* Styles here */ +} + +.pageheader .profilecard { + /* Styles here */ +} + +/* ========================================================================== + Profile Header +========================================================================== */ +.profileheader { + /* Styles here */ +} +.profileheader .profileheader-content { + /* Styles here */ +} +.profileheader .profileheader-image { + /* Styles here */ +} + +/* ========================================================================== + Products + + Used in Website page templates +========================================================================== */ +.product-header { + /* Styles here */ +} + +.product-content { + /* Styles here */ +} + +.product-title { + /* Styles here */ +} + +.product-subtitle { + /* Styles here */ +} + +.product-btn { + /* Styles here */ +} + +.section { + /* Styles here */ +} + +.profile-phone .section { + /* Styles here */ +} + +.profile-tablet .section { + /* Styles here */ +} + +/* ========================================================================== + Sidebar Header +========================================================================== */ +.sidebarheader { + /* Styles here */ +} + +.sidebarheader-content { + /* Styles here */ +} + +.sidebarheader-img { + /* Styles here */ +} + +.sidebarheader-title { + /* Styles here */ +} + +.sidebarheader-subtitle { + /* Styles here */ +} + +/* ========================================================================== + Tabs full width +========================================================================== */ +.tabsfullwidth { + /* Styles here */ +} +.tabsfullwidth > .mx-tabcontainer-tabs { + /* Styles here */ +} +.tabsfullwidth > .mx-tabcontainer-content { + /* Styles here */ +} + +/* ========================================================================== + Wizard + + Styling for Wizard (Steps/Numbers) +========================================================================== */ +.wizard { + /* Wizard line between steps */ +} +.wizard:before { + /* Styles here */ +} + +.wizard-step { + /* Styles here */ +} + +.wizard-step-number { + /* Styles here */ +} + +.wizard-step-number-active { + /* Styles here */ +} + +.wizard-step-number-visited { + /* Styles here */ +} + +.wizard-step-title { + /* Styles here */ +} + +/* Phone Specific Styling */ +.profile-phone .wizard:before { + /* Styles here */ +} +.profile-phone .wizard .wizard-step-number { + /* Styles here */ +} + +/* ========================================================================== + Templategrid Profile Card + + Profile card styled for templategrid +========================================================================== */ +.templategrid-profilecard { + /* Styles here */ +} +.templategrid-profilecard .templategrid-profilecard-contentwrapper { + /* Styles here */ +} +.templategrid-profilecard .templategrid-profilecard-imgwrapper { + /* Styles here */ +} +.templategrid-profilecard .templategrid-profilecard-contentwrapper, +.templategrid-profilecard .templategrid-profilecard-imgwrapper { + /* Styles here */ +} +.templategrid-profilecard .templategrid-profilecard-btn { + /* Styles here */ +} +.templategrid-profilecard .templategrid-profilecard-img { + /* Styles here */ +} +.templategrid-profilecard .templategrid-profilecard-title { + /* Styles here */ +} +.templategrid-profilecard .templategrid-profilecard-subtitle { + /* Styles here */ +} diff --git a/test/theme/styles/css/lib/lib.css b/test/theme/styles/css/lib/lib.css new file mode 100644 index 0000000..3f039f5 --- /dev/null +++ b/test/theme/styles/css/lib/lib.css @@ -0,0 +1,4514 @@ +@media (max-width: 767px) { + .mx-grid, + .mx-tabcontainer, + .mx-listview, + .mx-templategrid, + .mx-groupbox { + margin-bottom: 10px; + } +} +@media (min-width: 768px) { + .mx-grid, + .mx-tabcontainer, + .mx-listview, + .mx-templategrid, + .mx-groupbox { + margin-bottom: 20px; + } +} +@media (min-width: 992px) { + .mx-grid, + .mx-tabcontainer, + .mx-listview, + .mx-templategrid, + .mx-groupbox { + margin-bottom: 35px; + } +} + +.mx-layoutcontainer .mx-layoutcontainer-wrapper { + padding: 0px; +} + +.profile-tablet .mx-layoutcontainer .mx-layoutcontainer-wrapper { + padding: 0px; +} + +.profile-phone .mx-layoutcontainer .mx-layoutcontainer-wrapper { + padding: 0px; +} + +.mx-layoutcontainer .mx-placeholder { + padding: 0; +} +.mx-layoutcontainer .mx-placeholder .mx-layoutgrid { + padding-top: 0; + padding-bottom: 0; +} +@media (max-width: 767px) { + .mx-layoutcontainer .mx-placeholder .mx-layoutgrid { + padding: 10px 15px 10px 15px; + } +} +@media (min-width: 768px) { + .mx-layoutcontainer .mx-placeholder .mx-layoutgrid { + padding: 20px 30px 20px 30px; + } +} +@media (min-width: 992px) { + .mx-layoutcontainer .mx-placeholder .mx-layoutgrid { + padding: 35px 40px 35px 40px; + } +} +@media (max-width: 767px) { + .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:first-child { + padding-top: 10px; + } +} +@media (min-width: 768px) { + .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:first-child { + padding-top: 20px; + } +} +@media (min-width: 992px) { + .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:first-child { + padding-top: 35px; + } +} +@media (max-width: 767px) { + .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:last-child { + padding-bottom: 10px; + } +} +@media (min-width: 768px) { + .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:last-child { + padding-bottom: 20px; + } +} +@media (min-width: 992px) { + .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:last-child { + padding-bottom: 35px; + } +} +.mx-layoutcontainer .mx-placeholder .mx-layoutgrid.container { + padding-left: 15px; + padding-right: 15px; +} +.mx-layoutcontainer .mx-placeholder .mx-layoutgrid .mx-layoutgrid { + padding: 0; +} + +.profile-phone .mx-layoutcontainer .mx-placeholder { + padding: 0; +} +.profile-phone .mx-layoutcontainer .mx-placeholder .mx-layoutgrid .mx-layoutgrid { + padding: 0; +} + +.profile-tablet .mx-layoutcontainer .mx-placeholder { + padding: 0; +} +.profile-tablet .mx-layoutcontainer .mx-placeholder .mx-layoutgrid { + padding: 20px 30px 20px 30px; +} +.profile-tablet .mx-layoutcontainer .mx-placeholder .mx-layoutgrid.container { + padding-left: 15px; + padding-right: 15px; +} +.profile-tablet .mx-layoutcontainer .mx-placeholder .mx-layoutgrid .mx-layoutgrid { + padding: 0; +} + +.mx-layoutcontainer-wrapper.mx-layoutcontainer-nested { + padding: 0; +} + +.pageheader .mx-grid, +.pageheader .mx-tabcontainer, +.pageheader .mx-listview, +.pageheader .mx-templategrid, +.pageheader .mx-groupbox { + margin-bottom: 0; +} + +.profile-phone .mx-placeholder > .mx-tabcontainer:only-child, +.profile-phone .mx-placeholder > .mx-grid:only-child, +.profile-tablet .mx-placeholder > .mx-tabcontainer:only-child, +.profile-tablet .mx-placeholder > .mx-grid:only-child { + margin-bottom: 0; +} + +/* ========================================================================== + Base + + Default settings +========================================================================== */ +html { + height: 100%; +} + +body { + font-weight: normal; + color: #555; + font-size: 14px; + line-height: 1.42857; + background-color: #FFF; + min-height: 100%; +} + +a { + color: #0595db; + -webkit-transition: 0.25s; + -moz-transition: 0.25s; + -o-transition: 0.25s; + transition: 0.25s; + -webkit-backface-visibility: hidden; +} + +a:hover { + text-decoration: underline; + color: #036290; +} + +a:focus { + outline: thin dotted; +} + +a:active, +a:hover { + outline: 0; +} + +input:focus, +button:focus, +.mx-link:focus { + outline: 0; +} + +div[tabindex] { + outline: 0; +} + +/* ========================================================================== + Inputs +========================================================================== */ +.form-control, .form-disabled p { + -moz-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + box-shadow: none; + display: block; + padding: 6px 8px; + width: 100%; + height: auto; + border: 1px solid #DDD; + border-radius: 4px; + background-color: #FFF; + background-image: none; + color: #555; + font-size: 14px; + line-height: 1.42857; +} + +.form-control:focus, .form-disabled p:focus { + border-color: #0595db; + background-color: #FFF; + outline: 0; +} + +textarea.form-control { + height: auto; +} + +.form-control-static, .form-group div[class*='textBox'] > label, +.form-group div[class*='textArea'] > label, +.form-group div[class*='datePicker'] > label { + overflow: hidden; + min-height: auto; + padding-top: 6px; + padding-bottom: 6px; + font-size: 14px; + line-height: 1.42857; +} + +/* Not editable textarea, textarea will be rendered as a label */ +.mx-textarea label { + height: auto; +} + +/* ========================================================================== + Group with label and input +========================================================================== */ +/* Input and textarea get properly aligned */ +.form-group { + margin-bottom: 15px; +} +.form-group [class*='col-'] { + padding-left: 15px; + padding-right: 15px; +} + +.form-group .control-label { + color: #666; + font-size: 14px; + font-weight: normal; +} + +@media (min-width: 768px) { + .form-horizontal .control-label { + line-height: 1.42857; + padding-top: 6px; + padding-bottom: 6px; + } +} + +/* ========================================================================== + Inputs File Upload +========================================================================== */ +.mx-fileinput { + /* File input widget hover fix */ +} +.mx-fileinput .mx-wrapped-label { + display: inline-block; + width: 200px; +} +.mx-fileinput .mx-wrapped-form .mx-wrapped-input { + cursor: pointer; +} +.mx-fileinput .mx-wrapped-form .mx-fileinput-upload-button:hover { + background-color: #DDDDDD; +} + +/* ========================================================================== + Alerts + + Default Bootstrap Alert boxes. Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages +========================================================================== */ +.alert { + border-radius: 4px; + margin-top: 0; + padding: 15px; + border: 0; +} + +.alert-bordered { + border: 1px solid; +} + +.alert-success { + border-color: #579501; + background-color: #e4f4cc; + color: #477901; +} + +.alert-info { + border-color: #3582b7; + background-color: #daeffd; + color: #2b6a94; +} + +.alert-warning { + border-color: #b87315; + background-color: #feebd2; + color: #955d11; +} + +.alert-danger { + border-color: #af151b; + background-color: #fbd2d3; + color: #8e1116; +} + +.has-error .alert { + margin-top: 8px; + margin-bottom: 0; +} + +/* ========================================================================== + Backgrounds + + Different background components, all managed by variables +========================================================================== */ +.background-layout { + background-color: #FFF !important; +} + +.background-layout-secondary { + background-color: #EFF4F7 !important; +} + +.background-default { + background-color: #DDDDDD !important; +} + +.background-default-darker { + background-color: #858585 !important; +} + +.background-default-dark { + background-color: #a4a4a4 !important; +} + +.background-default-light { + background-color: #ebebeb !important; +} + +.background-default-lighter { + background-color: #f8f8f8 !important; +} + +.background-inverse { + background-color: #4D4d4d !important; +} + +.background-inverse-darker { + background-color: #2e2e2e !important; +} + +.background-inverse-dark { + background-color: #393939 !important; +} + +.background-inverse-light { + background-color: #949494 !important; +} + +.background-inverse-lighter { + background-color: #dbdbdb !important; +} + +.background-primary { + background-color: #0595db !important; +} + +.background-primary-darker { + background-color: #035983 !important; +} + +.background-primary-dark { + background-color: #046ea2 !important; +} + +.background-primary-light { + background-color: #69bfe9 !important; +} + +.background-primary-lighter { + background-color: #cdeaf8 !important; +} + +.background-info { + background-color: #48B0F7 !important; +} + +.background-info-darker { + background-color: #2b6a94 !important; +} + +.background-info-dark { + background-color: #3582b7 !important; +} + +.background-info-light { + background-color: #91d0fa !important; +} + +.background-info-lighter { + background-color: #daeffd !important; +} + +.background-success { + background-color: #76ca02 !important; +} + +.background-success-darker { + background-color: #477901 !important; +} + +.background-success-dark { + background-color: #579501 !important; +} + +.background-success-light { + background-color: #addf67 !important; +} + +.background-success-lighter { + background-color: #e4f4cc !important; +} + +.background-warning { + background-color: #f99b1d !important; +} + +.background-warning-darker { + background-color: #955d11 !important; +} + +.background-warning-dark { + background-color: #b87315 !important; +} + +.background-warning-light { + background-color: #fbc377 !important; +} + +.background-warning-lighter { + background-color: #feebd2 !important; +} + +.background-danger { + background-color: #ed1c24 !important; +} + +.background-danger-darker { + background-color: #8e1116 !important; +} + +.background-danger-dark { + background-color: #af151b !important; +} + +.background-danger-light { + background-color: #f4777c !important; +} + +.background-danger-lighter { + background-color: #fbd2d3 !important; +} + +/* ========================================================================== + Buttons + + Default Bootstrap and Mendix Buttons +========================================================================== */ +.btn, +.mx-button { + /* MXID / Bootstrap values for when used in non-mendix apps */ + display: inline-block; + margin-bottom: 0; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; + font-weight: normal; + -moz-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + -webkit-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; + border-radius: 4px; + box-shadow: none; + padding: 8px 14px; + background-color: #DDDDDD; + color: #555; + text-shadow: none; + font-size: 12px; + line-height: 1.42857; +} +.btn:hover, .btn:focus, .btn:active, +.mx-button:hover, +.mx-button:focus, +.mx-button:active { + box-shadow: none; + outline: none; +} + +.mx-link { + padding: 0; + color: #0595db; +} +.mx-link a { + color: inherit; +} + +.btn img, +.mx-button img, +.mx-link img { + margin-top: -1px; + height: 18px; +} + +.dj_ie8 .mx-link { + margin-right: 0; + white-space: normal; +} + +.btn-default { + border-color: #DDDDDD; + background-color: #DDDDDD; + color: #555; +} +.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle { + border-color: #c4c4c4; + background-color: #c4c4c4; + color: #555; +} +.btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle { + background-image: none; +} +.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { + border-color: #DDDDDD; + background-color: #DDDDDD; +} +.btn-default.btn-bordered { + background-color: transparent; + color: #DDDDDD; +} +.btn-default.btn-bordered:hover, .btn-default.btn-bordered:focus, .btn-default.btn-bordered:active, .btn-default.btn-bordered.active, .open > .btn-default.btn-bordered.dropdown-toggle { + background-color: #DDDDDD; + border-color: #DDDDDD; + color: #555; +} + +.btn-primary, .mx-grid.datagrid-fullsearch .mx-grid-search-button, .mx-grid.multilevel-grid .mx-grid-search-button { + border-color: #0595db; + background-color: #0595db; + color: #FFF; +} +.btn-primary:hover, .mx-grid.datagrid-fullsearch .mx-grid-search-button:hover, .mx-grid.multilevel-grid .mx-grid-search-button:hover, .btn-primary:focus, .mx-grid.datagrid-fullsearch .mx-grid-search-button:focus, .mx-grid.multilevel-grid .mx-grid-search-button:focus, .btn-primary:active, .mx-grid.datagrid-fullsearch .mx-grid-search-button:active, .mx-grid.multilevel-grid .mx-grid-search-button:active, .btn-primary.active, .mx-grid.datagrid-fullsearch .active.mx-grid-search-button, .mx-grid.multilevel-grid .active.mx-grid-search-button, .open > .btn-primary.dropdown-toggle, .mx-grid.datagrid-fullsearch .open > .dropdown-toggle.mx-grid-search-button, .mx-grid.multilevel-grid .open > .dropdown-toggle.mx-grid-search-button { + border-color: #0473a9; + background-color: #0473a9; + color: #FFF; +} +.btn-primary:active, .mx-grid.datagrid-fullsearch .mx-grid-search-button:active, .mx-grid.multilevel-grid .mx-grid-search-button:active, .btn-primary.active, .mx-grid.datagrid-fullsearch .active.mx-grid-search-button, .mx-grid.multilevel-grid .active.mx-grid-search-button, .open > .btn-primary.dropdown-toggle, .mx-grid.datagrid-fullsearch .open > .dropdown-toggle.mx-grid-search-button, .mx-grid.multilevel-grid .open > .dropdown-toggle.mx-grid-search-button { + background-image: none; +} +.btn-primary.disabled, .mx-grid.datagrid-fullsearch .disabled.mx-grid-search-button, .mx-grid.multilevel-grid .disabled.mx-grid-search-button, .btn-primary.disabled:hover, .mx-grid.datagrid-fullsearch .disabled.mx-grid-search-button:hover, .mx-grid.multilevel-grid .disabled.mx-grid-search-button:hover, .btn-primary.disabled:focus, .mx-grid.datagrid-fullsearch .disabled.mx-grid-search-button:focus, .mx-grid.multilevel-grid .disabled.mx-grid-search-button:focus, .btn-primary.disabled:active, .mx-grid.datagrid-fullsearch .disabled.mx-grid-search-button:active, .mx-grid.multilevel-grid .disabled.mx-grid-search-button:active, .btn-primary.disabled.active, .mx-grid.datagrid-fullsearch .disabled.active.mx-grid-search-button, .mx-grid.multilevel-grid .disabled.active.mx-grid-search-button, .btn-primary[disabled], .mx-grid.datagrid-fullsearch [disabled].mx-grid-search-button, .mx-grid.multilevel-grid [disabled].mx-grid-search-button, .btn-primary[disabled]:hover, .mx-grid.datagrid-fullsearch [disabled].mx-grid-search-button:hover, .mx-grid.multilevel-grid [disabled].mx-grid-search-button:hover, .btn-primary[disabled]:focus, .mx-grid.datagrid-fullsearch [disabled].mx-grid-search-button:focus, .mx-grid.multilevel-grid [disabled].mx-grid-search-button:focus, .btn-primary[disabled]:active, .mx-grid.datagrid-fullsearch [disabled].mx-grid-search-button:active, .mx-grid.multilevel-grid [disabled].mx-grid-search-button:active, .btn-primary[disabled].active, .mx-grid.datagrid-fullsearch [disabled].active.mx-grid-search-button, .mx-grid.multilevel-grid [disabled].active.mx-grid-search-button, fieldset[disabled] .btn-primary, fieldset[disabled] .mx-grid.datagrid-fullsearch .mx-grid-search-button, .mx-grid.datagrid-fullsearch fieldset[disabled] .mx-grid-search-button, fieldset[disabled] .mx-grid.multilevel-grid .mx-grid-search-button, .mx-grid.multilevel-grid fieldset[disabled] .mx-grid-search-button, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .mx-grid.datagrid-fullsearch .mx-grid-search-button:hover, .mx-grid.datagrid-fullsearch fieldset[disabled] .mx-grid-search-button:hover, fieldset[disabled] .mx-grid.multilevel-grid .mx-grid-search-button:hover, .mx-grid.multilevel-grid fieldset[disabled] .mx-grid-search-button:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .mx-grid.datagrid-fullsearch .mx-grid-search-button:focus, .mx-grid.datagrid-fullsearch fieldset[disabled] .mx-grid-search-button:focus, fieldset[disabled] .mx-grid.multilevel-grid .mx-grid-search-button:focus, .mx-grid.multilevel-grid fieldset[disabled] .mx-grid-search-button:focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .mx-grid.datagrid-fullsearch .mx-grid-search-button:active, .mx-grid.datagrid-fullsearch fieldset[disabled] .mx-grid-search-button:active, fieldset[disabled] .mx-grid.multilevel-grid .mx-grid-search-button:active, .mx-grid.multilevel-grid fieldset[disabled] .mx-grid-search-button:active, fieldset[disabled] .btn-primary.active, fieldset[disabled] .mx-grid.datagrid-fullsearch .active.mx-grid-search-button, .mx-grid.datagrid-fullsearch fieldset[disabled] .active.mx-grid-search-button, fieldset[disabled] .mx-grid.multilevel-grid .active.mx-grid-search-button, .mx-grid.multilevel-grid fieldset[disabled] .active.mx-grid-search-button { + border-color: #0595db; + background-color: #0595db; +} +.btn-primary.btn-bordered, .mx-grid.datagrid-fullsearch .btn-bordered.mx-grid-search-button, .mx-grid.multilevel-grid .btn-bordered.mx-grid-search-button { + background-color: transparent; + color: #0595db; +} +.btn-primary.btn-bordered:hover, .mx-grid.datagrid-fullsearch .btn-bordered.mx-grid-search-button:hover, .mx-grid.multilevel-grid .btn-bordered.mx-grid-search-button:hover, .btn-primary.btn-bordered:focus, .mx-grid.datagrid-fullsearch .btn-bordered.mx-grid-search-button:focus, .mx-grid.multilevel-grid .btn-bordered.mx-grid-search-button:focus, .btn-primary.btn-bordered:active, .mx-grid.datagrid-fullsearch .btn-bordered.mx-grid-search-button:active, .mx-grid.multilevel-grid .btn-bordered.mx-grid-search-button:active, .btn-primary.btn-bordered.active, .mx-grid.datagrid-fullsearch .btn-bordered.active.mx-grid-search-button, .mx-grid.multilevel-grid .btn-bordered.active.mx-grid-search-button, .open > .btn-primary.btn-bordered.dropdown-toggle, .mx-grid.datagrid-fullsearch .open > .btn-bordered.dropdown-toggle.mx-grid-search-button, .mx-grid.multilevel-grid .open > .btn-bordered.dropdown-toggle.mx-grid-search-button { + background-color: #0595db; + border-color: #0595db; + color: #FFF; +} + +.btn-inverse { + border-color: #4D4d4d; + background-color: #4D4d4d; + color: #FFF; +} +.btn-inverse:hover, .btn-inverse:focus, .btn-inverse:active, .btn-inverse.active, .open > .btn-inverse.dropdown-toggle { + border-color: #343434; + background-color: #343434; + color: #FFF; +} +.btn-inverse:active, .btn-inverse.active, .open > .btn-inverse.dropdown-toggle { + background-image: none; +} +.btn-inverse.disabled, .btn-inverse.disabled:hover, .btn-inverse.disabled:focus, .btn-inverse.disabled:active, .btn-inverse.disabled.active, .btn-inverse[disabled], .btn-inverse[disabled]:hover, .btn-inverse[disabled]:focus, .btn-inverse[disabled]:active, .btn-inverse[disabled].active, fieldset[disabled] .btn-inverse, fieldset[disabled] .btn-inverse:hover, fieldset[disabled] .btn-inverse:focus, fieldset[disabled] .btn-inverse:active, fieldset[disabled] .btn-inverse.active { + border-color: #4D4d4d; + background-color: #4D4d4d; +} +.btn-inverse.btn-bordered { + background-color: transparent; + color: #4D4d4d; +} +.btn-inverse.btn-bordered:hover, .btn-inverse.btn-bordered:focus, .btn-inverse.btn-bordered:active, .btn-inverse.btn-bordered.active, .open > .btn-inverse.btn-bordered.dropdown-toggle { + background-color: #4D4d4d; + border-color: #4D4d4d; + color: #FFF; +} +.btn-inverse:hover, .btn-inverse:focus, .btn-inverse:active, .btn-inverse.active, .open > .btn-inverse.dropdown-toggle { + background-color: #676767; + border-color: #676767; +} + +.btn-success { + border-color: #76ca02; + background-color: #76ca02; + color: #FFF; +} +.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { + border-color: #599802; + background-color: #599802; + color: #FFF; +} +.btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { + background-image: none; +} +.btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active { + border-color: #76ca02; + background-color: #76ca02; +} +.btn-success.btn-bordered { + background-color: transparent; + color: #76ca02; +} +.btn-success.btn-bordered:hover, .btn-success.btn-bordered:focus, .btn-success.btn-bordered:active, .btn-success.btn-bordered.active, .open > .btn-success.btn-bordered.dropdown-toggle { + background-color: #76ca02; + border-color: #76ca02; + color: #FFF; +} + +.btn-info { + border-color: #48B0F7; + background-color: #48B0F7; + color: #FFF; +} +.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { + border-color: #179bf5; + background-color: #179bf5; + color: #FFF; +} +.btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { + background-image: none; +} +.btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active { + border-color: #48B0F7; + background-color: #48B0F7; +} +.btn-info.btn-bordered { + background-color: transparent; + color: #48B0F7; +} +.btn-info.btn-bordered:hover, .btn-info.btn-bordered:focus, .btn-info.btn-bordered:active, .btn-info.btn-bordered.active, .open > .btn-info.btn-bordered.dropdown-toggle { + background-color: #48B0F7; + border-color: #48B0F7; + color: #FFF; +} + +.btn-warning { + border-color: #f99b1d; + background-color: #f99b1d; + color: #FFF; +} +.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { + border-color: #dd8106; + background-color: #dd8106; + color: #FFF; +} +.btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { + background-image: none; +} +.btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active { + border-color: #f99b1d; + background-color: #f99b1d; +} +.btn-warning.btn-bordered { + background-color: transparent; + color: #f99b1d; +} +.btn-warning.btn-bordered:hover, .btn-warning.btn-bordered:focus, .btn-warning.btn-bordered:active, .btn-warning.btn-bordered.active, .open > .btn-warning.btn-bordered.dropdown-toggle { + background-color: #f99b1d; + border-color: #f99b1d; + color: #FFF; +} + +.btn-danger { + border-color: #ed1c24; + background-color: #ed1c24; + color: #FFF; +} +.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { + border-color: #c61017; + background-color: #c61017; + color: #FFF; +} +.btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { + background-image: none; +} +.btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active { + border-color: #ed1c24; + background-color: #ed1c24; +} +.btn-danger.btn-bordered { + background-color: transparent; + color: #ed1c24; +} +.btn-danger.btn-bordered:hover, .btn-danger.btn-bordered:focus, .btn-danger.btn-bordered:active, .btn-danger.btn-bordered.active, .open > .btn-danger.btn-bordered.dropdown-toggle { + background-color: #ed1c24; + border-color: #ed1c24; + color: #FFF; +} + +.btn-link { + border: 0; + background-color: transparent; + color: #0595db; +} +.btn-link:hover { + background-color: transparent; + color: #036290; +} + +/* Buttons appear disabled */ +.btn-disabled { + opacity: 0.65; + filter: alpha(opacity=65); + /* For IE8 and earlier */ + cursor: not-allowed; + pointer-events: none; +} + +.btn-transparent, +.btn-transparent:hover, +.btn-transparent:focus { + border-style: none; + background-color: transparent; +} + +.btn-lg { + font-size: 18px; + padding: 11px 18px; +} +.btn-lg img { + height: 18px; +} + +.btn-sm { + font-size: 12px; + padding: 7px 12px; +} +.btn-sm img { + height: 16px; +} + +/* Buttons Image */ +.btn-image { + padding: 0; + border-style: none; + background-color: transparent; + vertical-align: middle; +} +.btn-image img { + height: auto; + display: block; +} +.btn-image:hover, .btn-image:focus { + background-color: transparent; +} + +/* Buttons Position */ +.btn-right { + float: right; +} + +.btn-left { + float: left; +} + +/* Buttons Attached */ +.btn-attached-right { + margin-left: 5px; +} + +.btn-attached-left { + margin-right: 5px; +} + +.btn-attached-bottom { + margin-top: 5px; +} + +.btn-attached-top { + margin-bottom: 5px; +} + +/* ========================================================================== + Grid + + Default Mendix Grid (used for Mendix Datagrid) +========================================================================== */ +.mx-grid { + border-radius: 0; + padding: 0px; + border: 0; +} +.mx-grid .mx-grid-controlbar { + margin: 10px 0; + /* Paging */ +} +.mx-grid .mx-grid-controlbar .mx-grid-pagingbar { + /* Buttons */ + /* Text Paging .. to .. to .. */ +} +.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button { + padding: 6px; + background-color: transparent; + color: #999; + border-color: transparent; +} +.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button:hover { + background-color: transparent; + color: #0595db; + border-color: transparent; +} +.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button.disabled, .mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button[disabled] { + opacity: 0.4; + filter: alpha(opacity=40); + /* For IE8 and earlier */ +} +.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-grid-paging-status { + padding: 0 8px 8px; +} +.mx-grid .mx-grid-searchbar { + margin: 10px 0; +} +.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-label { + vertical-align: middle; +} +.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-label label { + padding-top: 5px; +} +.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input .form-control, .mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input .form-disabled p, .form-disabled .mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input p { + height: 28px; + font-size: 11px; +} +.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input select.form-control { + vertical-align: middle; + padding: 3px; +} +.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input .mx-button { + height: 28px; + padding-top: 2px; + padding-bottom: 2px; +} + +/* Remove default border from grid inside a Mendix Dataview */ +.mx-dataview .mx-grid { + border: 0; +} + +/* ========================================================================== + Datagrid Default + + Default Mendix Datagrid Widget. The datagrid shows a list of objects in a grid +========================================================================== */ +.mx-datagrid .mx-datagrid-head-table { + border-width: 0; + background-color: transparent; + /* Table header */ +} +.mx-datagrid .mx-datagrid-head-table th { + border-left: 0; + border-right: 0; + border-top-width: 0; + border-bottom-width: 2px; + border-style: solid; + border-color: #DDD; + background-color: transparent; +} +.mx-datagrid .mx-datagrid-head-table .mx-datagrid-head-wrapper { + padding: 8px 8px 8px 8px; + vertical-align: middle; +} +.mx-datagrid .mx-datagrid-head-table .mx-datagrid-head-wrapper .mx-datagrid-head-caption { + white-space: normal; +} +.mx-datagrid .mx-datagrid-body-table { + border-width: 0; + /* Table Body */ + /* Table Footer */ +} +.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td { + padding: 8px 8px 8px 8px; + background-color: #FFF; + border-width: 0; + border-top-width: 1px; + border-top-style: solid; + border-color: #DDD; + vertical-align: middle; + /* Text without spaces */ +} +.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td:focus { + outline: none; +} +.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td .mx-datagrid-data-wrapper { + text-overflow: ellipsis; +} +.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr.selected td, .mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr.selected:hover td { + background-color: #0595db !important; + color: #FFF; +} +.mx-datagrid .mx-datagrid-body-table .mx-datagrid-foot > tr > th { + padding: 8px 8px 8px 8px; + background-color: #DDD; + border-width: 0; +} +.mx-datagrid .mx-datagrid-body-table .mx-datagrid-foot > tr > td { + background-color: #FFF; + border-width: 0; + font-weight: bold; + padding: 8px 8px 8px 8px; +} +.mx-datagrid .mx-datagrid-body-table *:focus { + outline: 0; +} + +/* ========================================================================== + Datagrid Striped + + Default Mendix Datagrid Widget with striped rows +========================================================================== */ +.datagrid-striped.mx-datagrid .mx-datagrid-head-table th { + border-width: 0; +} +.datagrid-striped.mx-datagrid .mx-datagrid-body-table { + /* Body */ +} +.datagrid-striped.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td { + border-top-width: 0; +} +.datagrid-striped.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr:nth-child(odd) td { + background-color: #eaeaea; +} + +/* ========================================================================== + Datagrid Bordered + + Default Mendix Datagrid Widget with borders +========================================================================== */ +.datagrid-bordered.mx-datagrid .mx-datagrid-head-table th { + border: 1px solid #DDD; + border-bottom-width: 1px; +} +.datagrid-bordered.mx-datagrid .mx-datagrid-body-table { + border: 1px solid; +} +.datagrid-bordered.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td { + border: 1px solid #DDD; +} +.datagrid-bordered.mx-datagrid .mx-datagrid-foot > tr > th { + background-color: #DDD; + border-width: 0; +} +.datagrid-bordered.mx-datagrid .mx-datagrid-foot > tr > td { + border-width: 1px; +} + +/* ========================================================================== + Datagrid Hover + + Default Mendix Datagrid Widget with hover +========================================================================== */ +.datagrid-hover.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr:hover td, .mx-datagrid.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr:hover td { + background-color: #c7e3f1 !important; +} +.datagrid-hover.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr.selected:hover td, .mx-datagrid.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr.selected:hover td { + background-color: #c7e3f1 !important; +} + +/* ========================================================================== + Datagrid Large + + Default Mendix Datagrid Widget with large rows +========================================================================== */ +.datagrid-large.mx-datagrid .mx-datagrid-head-table .mx-datagrid-head-wrapper { + padding: 15px 10px; +} +.datagrid-large.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td { + padding: 15px 10px; +} + +/* ========================================================================== + Datagrid Transparent + + Default Mendix Datagrid Widget with transparent background for row and cells +========================================================================== */ +.datagrid-transparent.mx-datagrid .mx-datagrid-head-table, .mx-datagrid.multilevel-grid .mx-datagrid-head-table { + background-color: transparent; +} +.datagrid-transparent.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr:nth-of-type(odd), .mx-datagrid.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr:nth-of-type(odd) { + background-color: transparent; +} +.datagrid-transparent.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td, .mx-datagrid.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr td { + background-color: transparent; +} + +/* ========================================================================== + Datagrid Full Search + + Default Mendix Datagrid Widget with adjusted search field. Only 1 search field is allowed +========================================================================== */ +.mx-grid.datagrid-fullsearch .mx-grid-reset-button, .mx-grid.multilevel-grid .mx-grid-reset-button { + display: none; +} +.mx-grid.datagrid-fullsearch .mx-grid-search-item, .mx-grid.multilevel-grid .mx-grid-search-item { + display: block; +} +.mx-grid.datagrid-fullsearch .mx-grid-search-label, .mx-grid.multilevel-grid .mx-grid-search-label { + display: none; +} +.mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-controls, .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-controls { + position: absolute; + right: 0; +} +.mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-input, .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-input { + width: 80%; + padding-left: 0; +} +.mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-input .form-control, .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-input .form-control, .mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-input .form-disabled p, .form-disabled .mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-input p, .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-input .form-disabled p, .form-disabled .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-input p { + height: 35px; + font-size: 12px; +} + +/* ========================================================================== + Dataview + + Default Mendix Dataview Widget. The data view is used for showing the contents of exactly one object +========================================================================== */ +.mx-dataview { + /* Control bar */ + /* Dataview-content gives problems for nexted layout grid containers */ + /* Dataview empty message */ +} +.mx-dataview .mx-dataview-controls { + border-radius: 0; + clear: both; + margin-top: 10px; + padding: 8px 0; + border-top: 1px solid #DDD; + background-color: transparent; + /* Buttons */ +} +.mx-dataview .mx-dataview-controls .mx-button { + margin-bottom: 0; + margin-right: 0.3em; +} +.mx-dataview .mx-dataview-controls .mx-button:last-child { + margin-right: 0; +} +.mx-dataview > .mx-dataview-content > .mx-container-nested > .row { + margin-right: 0; + margin-left: 0; +} +.mx-dataview .mx-dataview-message { + background: #FFF; + color: #555; +} + +/* +* Mendix Documentation +* Special styles for presenting components +*/ +/* +* Dijit Widgets +* +* Default Dojo Dijit Widgets +*/ +/* + * Dijit Calendar Widget + * + * Used in dataviews + */ +.dijitCalendarContainer { + /* (must be higher than popup z-index) */ + z-index: 10010 !important; + background-color: #eff0f2; +} +.dijitCalendarContainer tr th { + background-color: #26323D; + color: #FFF; + text-align: center; +} +.dijitCalendarContainer tr th, +.dijitCalendarContainer tr td { + padding: 6px; + text-align: center; +} +.dijitCalendarContainer tr td .dijitCalendarDateLabel { + color: #000; +} +.dijitCalendarContainer tr tfoot h3 { + margin: 0; + padding: 0; + font-size: inherit; +} +.dijitCalendarContainer .dijitCalendarMonthLabel { + font-weight: bold; +} +.dijitCalendarContainer .dijitButtonNode { + border: 0; +} +.dijitCalendarContainer .dijitCalendarArrow { + cursor: pointer; +} +.dijitCalendarContainer .dijitCalendarSelectedDate, +.dijitCalendarContainer .dijitCalendarSelectedDate:hover { + border-radius: 10px; + background: #0595db; +} +.dijitCalendarContainer .dijitCalendarSelectedDate .dijitCalendarDateLabel, +.dijitCalendarContainer .dijitCalendarSelectedDate:hover .dijitCalendarDateLabel { + color: #fff; +} +.dijitCalendarContainer .dijitCalendarHoveredDate, +.dijitCalendarContainer .dijitCalendarPreviousYearHover, +.dijitCalendarContainer .dijitCalendarNextYearHover, +.dijitCalendarContainer .dijitCalendarMonthLabelHover { + border-radius: 10px; + background-color: #dbdcdd; +} +.dijitCalendarContainer .dijitCalendarYearContainer td { + border-top: 1px solid #DDD; + text-align: center; + color: #000; +} +.dijitCalendarContainer .dijitCalendarYearContainer td .dijitCalendarSelectedYear { + font-weight: bold; + text-decoration: underline; +} +.dijitCalendarContainer .dijitCalendarMonthContainer th:first-child { + border-top-left-radius: 3px; +} +.dijitCalendarContainer .dijitCalendarMonthContainer th:last-child { + border-top-right-radius: 3px; +} + +.dijitCalendarMonthMenuPopup { + border-radius: 3px; + /* (must be higher than popup z-index) */ + z-index: 10020 !important; + padding: 3px 4px; + background-color: #26323D; +} +.dijitCalendarMonthMenuPopup .dijitCalendarMonthMenu { + border-style: none; + background: none; +} +.dijitCalendarMonthMenuPopup .dijitCalendarMonthMenu .dijitCalendarMonthLabel { + padding: 2px 0; + color: #FFF; +} +.dijitCalendarMonthMenuPopup .dijitCalendarMonthMenu .dijitCalendarMonthLabel:hover, .dijitCalendarMonthMenuPopup .dijitCalendarMonthMenu .dijitCalendarMonthLabel:focus { + color: #4280cb; +} + +.dj_rtl .dijitCalendarContainer .dijitCalendarMonthContainer th:first-child { + border-top-left-radius: 0px; + border-top-right-radius: 3px; +} +.dj_rtl .dijitCalendarContainer .dijitCalendarMonthContainer th:last-child { + border-top-left-radius: 3px; + border-top-right-radius: 0px; +} + +/* + * Dijit Tooltip Widget + * + * Default tooltip used for Mendix widgets + */ +.mx-tooltip .dijitTooltipContainer { + border-radius: 4px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + border-width: 1px; + border-color: #999; + background: #FFF; +} +.mx-tooltip .dijitTooltipContainer .mx-tooltip-content { + padding: 10px; +} +.mx-tooltip .dijitTooltipContainer .form-group { + margin-bottom: 5px; +} +.mx-tooltip .dijitTooltipConnector { + margin-left: -10px; + width: 0; + height: 0; + border-width: 10px 10px 10px 0; + border-style: solid; + border-color: transparent; + border-right-color: #999; +} + +/* + * Dijit Border Container + * + * Used in Mendix as split pane containers + */ +.dijitBorderContainer { + padding: 5px; + background-color: #fcfcfc; +} +.dijitBorderContainer .dijitSplitterV, +.dijitBorderContainer .dijitGutterV { + width: 5px; + border: 0; + background: #fcfcfc; +} +.dijitBorderContainer .dijitSplitterH, +.dijitBorderContainer .dijitGutterH { + height: 5px; + border: 0; + background: #fcfcfc; +} +.dijitBorderContainer .dijitSplitterH .dijitSplitterThumb { + top: 2px; + width: 19px; + height: 1px; + background: #B0B0B0; +} +.dijitBorderContainer .dijitSplitterV .dijitSplitterThumb { + left: 2px; + width: 1px; + height: 19px; + background: #B0B0B0; +} +.dijitBorderContainer .dijitSplitContainer-child, +.dijitBorderContainer .dijitBorderContainer-child { + border: 1px solid #ccc; +} +.dijitBorderContainer .dijitBorderContainer-dijitTabContainerTop, +.dijitBorderContainer .dijitBorderContainer-dijitTabContainerBottom, +.dijitBorderContainer .dijitBorderContainer-dijitTabContainerLeft, +.dijitBorderContainer .dijitBorderContainer-dijitTabContainerRight { + border: none; +} +.dijitBorderContainer .dijitBorderContainer-dijitBorderContainer { + padding: 0; + border: none; +} +.dijitBorderContainer .dijitSplitterActive { + opacity: 0.6; + filter: alpha(opacity=60); + /* For IE8 and earlier */ + margin: 0; + background-color: #aaa; + background-image: none; + font-size: 1px; +} +.dijitBorderContainer .dijitSplitContainer-dijitContentPane, +.dijitBorderContainer .dijitBorderContainer-dijitContentPane { + padding: 5px; + background-color: #fff; +} + +/* + * Dijit Menu Popup + * + * Used in datepickers and calendar widgets + */ +.dijitMenuPopup { + margin-top: 10px; +} +.dijitMenuPopup .dijitMenu { + border-radius: 3px; + display: block; + margin-top: 0; + padding: 12px 10px; + background: #4D4d4d; + width: 200px !important; +} +.dijitMenuPopup .dijitMenu:after { + position: absolute; + bottom: 100%; + left: 20px; + margin-left: -10px; + width: 0px; + height: 0px; + border: medium solid transparent; + border-width: 10px; + border-bottom-color: #4D4d4d; + content: " "; + pointer-events: none; +} +.dijitMenuPopup .dijitMenu .dijitMenuItem { + background: transparent; +} +.dijitMenuPopup .dijitMenu .dijitMenuItem .dijitMenuItemLabel { + border-radius: 3px; + padding: 10px; + color: #FFF; + width: 180px !important; + display: block; + overflow: hidden; + text-overflow: ellipsis; +} +.dijitMenuPopup .dijitMenu .dijitMenuItem.dijitMenuItemHover { + background: none; +} +.dijitMenuPopup .dijitMenu .dijitMenuItem.dijitMenuItemHover .dijitMenuItemLabel { + background: #0595db; +} +.dijitMenuPopup .dijitMenu .tg_newlabelmenuitem .dijitMenuItemLabel { + font-weight: bold; +} +.dijitMenuPopup .dijitMenu .dijitMenuSeparator td { + padding: 0; + border-bottom-width: 3px; +} +.dijitMenuPopup .dijitMenu .dijitMenuSeparator .dijitMenuSeparatorIconCell > div { + margin: 0; +} + +/* ========================================================================== + Glyphicons + + Glyphicons alternaed to use with Mendix +========================================================================== */ +.mx-glyphicon:before { + display: inline-block; + font-family: 'Glyphicons Halflings'; + -webkit-font-smoothing: antialiased; + font-style: normal; + font-weight: normal; + vertical-align: middle; + margin-right: 0.4555555em; + margin-top: -0.2em; + line-height: inherit; + -moz-osx-font-smoothing: grayscale; +} + +/* ========================================================================== + Groupbox + + Default Mendix Groupboxes +========================================================================== */ +.mx-groupbox > .mx-groupbox-header { + font-weight: bold; + border-radius: 0; + margin: 0; + background: #DDDDDD; + color: #000; + font-size: 16px; + border-style: solid; + border-width: 1px 1px 0 1px; + border-color: #DDDDDD; +} +.mx-groupbox > .mx-groupbox-header .mx-groupbox-collapse-icon { + margin-top: 0.1em; +} +.mx-groupbox > .mx-groupbox-body { + border-radius: 0; + padding: 10px 15px; + border-color: #DDDDDD; + background-color: #FFF; + border-style: solid; + border-width: 1px; +} +.mx-groupbox .mx-groupbox-header + .mx-groupbox-body { + border-radius: 0; + border-top: none; +} +.mx-groupbox.collapsed > .mx-groupbox-header { + border-radius: 0; +} + +/* ========================================================================== + Groupbox Callouts + + Default Mendix Groupboxes rendered as (Bootstrap) callouts +========================================================================== */ +.mx-groupbox.groupbox-stylingless > .mx-groupbox-header { + border-radius: 0; + padding: 0; + border-style: none; + background-color: transparent; +} +.mx-groupbox.groupbox-stylingless > .mx-groupbox-body { + border-radius: 0; + padding: 0; + border-style: none; + background-color: transparent; +} +.mx-groupbox.groupbox-border-radius > .mx-groupbox-header { + border-radius: 3px 3px 0 0 !important; +} +.mx-groupbox.groupbox-border-radius > .mx-groupbox-body { + border-radius: 3px !important; +} +.mx-groupbox.groupbox-border-radius .mx-groupbox-header + .mx-groupbox-body { + border-radius: 0 0 3px 3px !important; +} +.mx-groupbox.groupbox-borderless > .mx-groupbox-body { + border: 0 !important; +} +.mx-groupbox.groupbox-border-top > .mx-groupbox-header { + border-style: none; + border-top-style: solid !important; +} +.mx-groupbox.groupbox-border-top > .mx-groupbox-body { + border-style: none; + border-top-style: solid !important; +} +.mx-groupbox.groupbox-border-top .mx-groupbox-header + .mx-groupbox-body { + border-top-style: none !important; +} +.mx-groupbox.groupbox-border-right > .mx-groupbox-header { + border-style: none; + border-right-style: solid !important; +} +.mx-groupbox.groupbox-border-right > .mx-groupbox-body { + border-style: none; + border-right-style: solid !important; +} +.mx-groupbox.groupbox-border-bottom > .mx-groupbox-header { + border-style: none; +} +.mx-groupbox.groupbox-border-bottom > .mx-groupbox-body { + border-style: none; + border-bottom-style: solid !important; +} +.mx-groupbox.groupbox-border-left > .mx-groupbox-header { + border-style: none; + border-left-style: solid !important; +} +.mx-groupbox.groupbox-border-left > .mx-groupbox-body { + border-style: none; + border-left-style: solid !important; +} + +/* ========================================================================== + Groupbox Colors +========================================================================== */ +.mx-groupbox.groupbox-default > .mx-groupbox-header { + background: #DDDDDD; + color: #000; + border-color: #DDDDDD; +} +.mx-groupbox.groupbox-default > .mx-groupbox-body { + border-color: #DDDDDD; +} +.mx-groupbox.groupbox-primary > .mx-groupbox-header { + background: #0595db; + color: #FFF; + border-color: #0595db; +} +.mx-groupbox.groupbox-primary > .mx-groupbox-body { + border-color: #0595db; +} +.mx-groupbox.groupbox-inverse > .mx-groupbox-header { + background: #4D4d4d; + color: #FFF; + border-color: #4D4d4d; +} +.mx-groupbox.groupbox-inverse > .mx-groupbox-body { + border-color: #4D4d4d; +} +.mx-groupbox.groupbox-success > .mx-groupbox-header { + background: #76ca02; + color: #FFF; + border-color: #76ca02; +} +.mx-groupbox.groupbox-success > .mx-groupbox-body { + border-color: #76ca02; +} +.mx-groupbox.groupbox-info > .mx-groupbox-header { + background: #48B0F7; + color: #FFF; + border-color: #48B0F7; +} +.mx-groupbox.groupbox-info > .mx-groupbox-body { + border-color: #48B0F7; +} +.mx-groupbox.groupbox-warning > .mx-groupbox-header { + background: #f99b1d; + color: #FFF; + border-color: #f99b1d; +} +.mx-groupbox.groupbox-warning > .mx-groupbox-body { + border-color: #f99b1d; +} +.mx-groupbox.groupbox-danger > .mx-groupbox-header { + background: #ed1c24; + color: #FFF; + border-color: #ed1c24; +} +.mx-groupbox.groupbox-danger > .mx-groupbox-body { + border-color: #ed1c24; +} +.mx-groupbox.groupbox-white > .mx-groupbox-header { + background: #FFF; + color: #555; + border-color: #FFF; +} +.mx-groupbox.groupbox-white > .mx-groupbox-body { + border-color: #FFF; +} +.mx-groupbox.groupbox-transparent { + background-color: transparent; +} +.mx-groupbox.groupbox-transparent > .mx-groupbox-header { + border-style: none; + background-color: transparent; +} +.mx-groupbox.groupbox-transparent > .mx-groupbox-body { + border-style: none; + background-color: transparent; +} + +/* ========================================================================== + Groupbox Spacing +========================================================================== */ +.mx-groupbox.groupbox-sideless > .mx-groupbox-header { + padding-right: 0; + padding-left: 0; +} +.mx-groupbox.groupbox-sideless > .mx-groupbox-body { + padding-right: 0; + padding-left: 0; +} +.mx-groupbox.groupbox-bodyless > .mx-groupbox-body { + padding: 0; +} + +/* ========================================================================== + Groupbox Headers +========================================================================== */ +.mx-groupbox.groupbox-h1 > .mx-groupbox-header { + font-size: 31px; +} +.mx-groupbox.groupbox-h2 > .mx-groupbox-header { + font-size: 26px; +} +.mx-groupbox.groupbox-h3 > .mx-groupbox-header { + font-size: 20px; +} +.mx-groupbox.groupbox-h4 > .mx-groupbox-header { + font-size: 16px; +} +.mx-groupbox.groupbox-h5 > .mx-groupbox-header { + font-size: 14px; +} +.mx-groupbox.groupbox-h6 > .mx-groupbox-header { + font-size: 11px; +} + +/* ========================================================================== + Groupbox Callouts +========================================================================== */ +.mx-groupbox.groupbox-callout > .mx-groupbox-header, +.mx-groupbox.groupbox-callout > .mx-groupbox-body { + border: 0; +} +.mx-groupbox.groupbox-callout .mx-groupbox-header + .mx-groupbox-body { + padding-top: 0; +} +.mx-groupbox.groupbox-callout-info > .mx-groupbox-header, +.mx-groupbox.groupbox-callout-info > .mx-groupbox-body { + background-color: #daeffd; +} +.mx-groupbox.groupbox-callout-info > .mx-groupbox-header { + color: #48B0F7; +} +.mx-groupbox.groupbox-callout-success > .mx-groupbox-header, +.mx-groupbox.groupbox-callout-success > .mx-groupbox-body { + background-color: #e4f4cc; +} +.mx-groupbox.groupbox-callout-success > .mx-groupbox-header { + color: #76ca02; +} +.mx-groupbox.groupbox-callout-warning > .mx-groupbox-header, +.mx-groupbox.groupbox-callout-warning > .mx-groupbox-body { + background-color: #feebd2; +} +.mx-groupbox.groupbox-callout-warning > .mx-groupbox-header { + color: #f99b1d; +} +.mx-groupbox.groupbox-callout-danger > .mx-groupbox-header, +.mx-groupbox.groupbox-callout-danger > .mx-groupbox-body { + background-color: #fbd2d3; +} +.mx-groupbox.groupbox-callout-danger > .mx-groupbox-header { + color: #ed1c24; +} + +/* ========================================================================== + Helpers + + Default Mendix Helpers +========================================================================== */ +.show { + display: block !important; +} + +.hidden { + display: none !important; + visibility: hidden !important; +} + +.invisible { + visibility: hidden; +} + +.display-ie8-only:not([attr*='']) { + display: none; + padding: 0; +} + +.list-nostyle ul { + padding: 0; + margin: 0; +} +.list-nostyle ul li { + list-style-type: none !important; +} + +.nowrap, +.nowrap * { + white-space: nowrap; +} + +.form-disabled p { + background-color: #eee !important; +} + +.padding-bottom-none { + padding-bottom: 0; +} + +/* Vertical Align Elements in a bootstrap row, add class on row */ +.v-center { + display: table; + width: 100%; +} +.v-center div[class*='col-'] { + display: table-cell; + vertical-align: middle; + float: none; +} + +/* Remove padding for Bootstrap columns, add class on row */ +.no-gutter > [class*='col-'] { + padding-right: 0; + padding-left: 0; +} + +/* Render DIV as Table Cells */ +.table { + display: table; +} + +.table-cell { + display: table-cell; +} + +.align-top { + vertical-align: top; +} + +.align-middle { + vertical-align: middle; +} + +.align-bottom { + vertical-align: bottom; +} + +/* ========================================================================== + Images + + Default Mendix Image Widgets +========================================================================== */ +img.img-rounded, +.img-rounded img { + border-radius: 6px; +} + +img.img-thumbnail, +.img-thumbnail img { + -moz-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + -webkit-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; + border-radius: 4px; + display: inline-block; + height: auto; + max-width: 100%; + padding: 4px; + line-height: 1.42857; + background-color: #fff; + border: 1px solid #DDDDDD; +} + +img.img-circle, +.img-circle img { + border-radius: 50%; +} + +img.img-auto, +.img-auto img { + width: auto !important; + height: auto !important; + max-width: 100% !important; + max-height: 100% !important; +} + +/* ========================================================================== + Labels + + Default labels combined with Bootstrap labels +========================================================================== */ +.label { + font-weight: bold; + border-radius: .25em; + display: inline; + padding: .2em .6em .3em !important; + color: #fff; + vertical-align: baseline; + text-align: center; + white-space: nowrap; + font-size: 100%; + line-height: 1; +} + +.label-default { + background-color: #DDDDDD; + color: #555; +} + +.label-primary { + background-color: #0595db; + color: #FFF; +} + +.label-success { + background-color: #76ca02; + color: #FFF; +} + +.label-info { + background-color: #48B0F7; + color: #FFF; +} + +.label-warning { + background-color: #f99b1d; + color: #FFF; +} + +.label-danger { + background-color: #ed1c24; + color: #FFF; +} + +/* ========================================================================== + Listview + + Default Mendix Listview Widget. The list view shows a list of objects arranged vertically. Each object is shown using a template +========================================================================== */ +.mx-listview { + /* Remove widget padding */ + padding: 0; + /* Clear search button (overrides load more button stying) */ + /* Load more button */ +} +.mx-listview .mx-button.mx-listview-clear-button { + width: auto; +} +.mx-listview > .mx-button { + width: 100%; + margin: 10px auto; +} +.mx-listview .mx-listview-list { + margin: 0; +} +.mx-listview .mx-listview-item { + background-color: #FFF; + padding: 10px 0; +} +.mx-listview .mx-listview-item:hover { + background-color: #FFF; +} +.mx-listview .mx-listview-item.selected { + background-color: #0595db !important; +} +.mx-listview .mx-listview-item.selected:hover { + background-color: #c7e3f1 !important; +} +.mx-listview .mx-listview-item:nth-child(2n+1) { + background-color: #FFF; +} +.mx-listview .mx-layoutgrid { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +/* ========================================================================== + Listview Hover + + Default Mendix Listview Widget with hover +========================================================================== */ +.listview-hover.mx-listview .mx-listview-item:hover, .mx-listview.multilevel-list .mx-listview-item:hover, .listview-hover.mx-listview .mx-listview-item:active, .mx-listview.multilevel-list .mx-listview-item:active { + background-color: #c7e3f1 !important; +} + +/* ========================================================================== + Listview Lined + + Default Mendix Listview Widget with only border bottom in listview item +========================================================================== */ +.listview-lined.mx-listview .mx-listview-item, .mx-listview.multilevel-list .mx-listview-item { + border-top: 1px solid #DDD; + border-right: none; + border-left: none; +} +.listview-lined.mx-listview .mx-listview-item:first-child, .mx-listview.multilevel-list .mx-listview-item:first-child { + border-radius: 0; +} +.listview-lined.mx-listview .mx-listview-item:last-child, .mx-listview.multilevel-list .mx-listview-item:last-child { + border-radius: 0; + border-bottom: 1px solid #DDD; +} + +/* ========================================================================== + Listview Striped + + Default Mendix Listview Widget with striped listview items +========================================================================== */ +.listview-striped.mx-listview .mx-listview-item:nth-child(2n+1) { + background-color: #eaeaea; +} + +/* ========================================================================== + Listview Seperated + + Default Mendix Listview Widget with listview items seperated +========================================================================== */ +.listview-seperated.mx-listview .mx-listview-item { + border-radius: 4px; + margin-bottom: 10px; + border-style: solid; +} + +/* ========================================================================== + Listview Stylingless + + Default Mendix Listview Widget with listview items seperated +========================================================================== */ +.listview-stylingless.mx-listview .mx-listview-item { + background-color: transparent; + border: 0; + padding: 0; + cursor: default; +} +.listview-stylingless.mx-listview .mx-listview-item:hover { + background-color: transparent; +} +.listview-stylingless.mx-listview .mx-listview-item.selected { + background-color: transparent !important; +} +.listview-stylingless.mx-listview .mx-listview-item.selected:hover { + background-color: transparent !important; +} + +/* ========================================================================== + Modals + + Default Mendix Modals. Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults +========================================================================== */ +.modal-dialog .modal-content { + border-radius: 4px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); + border: 1px solid #DDD; +} +.modal-dialog .modal-content .modal-header { + border-radius: 0; + padding: 15px 20px; + background-color: transparent; + border-bottom-color: #DDD; +} +.modal-dialog .modal-content .modal-header h4 { + font-weight: bold; + color: #555; + font-size: 16px; + margin: 0; +} +.modal-dialog .modal-content .modal-header .close { + opacity: 1; + filter: alpha(opacity=100); + /* For IE8 and earlier */ + color: #555; + text-shadow: none; + margin-top: -3px; +} +.modal-dialog .modal-content .modal-body { + padding: 20px; +} +.modal-dialog .modal-content .modal-footer { + padding: 20px; + margin-top: 0; + border-style: none; + text-align: left; +} + +/* Default Mendix Window Modal */ +.mx-window.mx-window-view .mx-window-body { + padding: 0; +} +.mx-window.mx-window-view .mx-window-body > .mx-dataview > .mx-dataview-content, +.mx-window.mx-window-view .mx-window-body > .mx-placeholder > .mx-dataview > .mx-dataview-content { + padding: 20px; +} +.mx-window.mx-window-view .mx-window-body > .mx-dataview > .mx-dataview-controls, +.mx-window.mx-window-view .mx-window-body > .mx-placeholder > .mx-dataview > .mx-dataview-controls { + padding: 20px; + border-style: none; + text-align: left; + margin: 0; +} +.mx-window .mx-dataview-controls { + padding-bottom: 0; +} +.mx-window .mx-layoutgrid { + padding-left: 0; + padding-right: 0; +} + +/* Default Mendix Login Modal */ +.mx-login .modal-body { + padding: 0 15px; +} +.mx-login .modal-content input { + box-shadow: none; + padding: 12px 12px; + height: 56px; + border: 1px solid #EEE; + background: #eee; + font-size: 16px; +} +.mx-login .modal-content input:focus { + border-color: #66afe9; +} +.mx-login .modal-header, +.mx-login .modal-footer { + border: 0; +} +.mx-login button { + font-size: 16px; +} +.mx-login h4 { + color: #aaa; + font-weight: bold; + font-size: 20px; +} + +/* ========================================================================== + Navigation + + Default Mendix Navigation Bar +========================================================================== */ +.mx-navbar { + border-radius: 0; + margin: 0; + border-style: none; + background-color: #0595db; + /* remove focus */ +} +.mx-navbar ul.nav { + margin: 0; + /* Navigation item */ + /* When hovering or the dropdown is open */ +} +.mx-navbar ul.nav > li.mx-navbar-item > a { + font-weight: normal; + border-radius: 0; + padding: 15px 20px; + color: #FFF; + font-size: 14px; + vertical-align: middle; + /* Dropdown arrow */ + /* Dropdown */ +} +.mx-navbar ul.nav > li.mx-navbar-item > a .caret { + border-top-color: #FFF; + border-bottom-color: #FFF; +} +.mx-navbar ul.nav > li.mx-navbar-item > a:hover, .mx-navbar ul.nav > li.mx-navbar-item > a:focus, .mx-navbar ul.nav > li.mx-navbar-item > a.active { + background-color: #0587c7; + color: #FFF; + text-decoration: none; +} +.mx-navbar ul.nav > li.mx-navbar-item > a:hover .caret, .mx-navbar ul.nav > li.mx-navbar-item > a:focus .caret, .mx-navbar ul.nav > li.mx-navbar-item > a.active .caret { + border-top-color: #FFF; + border-bottom-color: #FFF; +} +.mx-navbar ul.nav > li.mx-navbar-item > a.active { + color: #FFF; + background-color: #047ab3; +} +.mx-navbar ul.nav > li.mx-navbar-item > a .mx-navbar-submenu:before { + position: absolute; + top: -9px; + left: 15px; + width: 0; + height: 0; + border-width: 0 9px 9px 9px; + border-style: solid; + border-color: transparent transparent #0587c7 transparent; + content: ""; + transform: rotate(360deg); + -webkit-transform: rotate(360deg); +} +.mx-navbar ul.nav > li.mx-navbar-item > a img { + width: 20px; + height: auto; +} +.mx-navbar ul.nav > li.mx-navbar-item > a .glyphicon { + vertical-align: middle; + font-size: 1.2em; + top: -1px; +} +.mx-navbar ul.nav > .mx-navbar-item > a:hover, +.mx-navbar ul.nav > .mx-navbar-item > a:focus, +.mx-navbar ul.nav > .mx-navbar-item.active a, +.mx-navbar ul.nav > .mx-navbar-item.open > a, +.mx-navbar ul.nav > .mx-navbar-item.open > a:hover, +.mx-navbar ul.nav > .mx-navbar-item.open > a:focus { + background-color: #0587c7; + color: #FFF; + text-decoration: none; +} +.mx-navbar ul.nav > .mx-navbar-item > a:hover .caret, +.mx-navbar ul.nav > .mx-navbar-item > a:focus .caret, +.mx-navbar ul.nav > .mx-navbar-item.active a .caret, +.mx-navbar ul.nav > .mx-navbar-item.open > a .caret, +.mx-navbar ul.nav > .mx-navbar-item.open > a:hover .caret, +.mx-navbar ul.nav > .mx-navbar-item.open > a:focus .caret { + border-top-color: #FFF; + border-bottom-color: #FFF; +} +.mx-navbar ul.nav > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a { + background-color: #05a3ef; + color: #FFF; +} +.mx-navbar ul.nav > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a .caret { + border-top-color: #FFF; + border-bottom-color: #FFF; +} +@media (max-width: 768px) { + .mx-navbar ul.nav > li.mx-navbar-item > a { + padding: 10px 20px; + } + .mx-navbar .mx-navbar-item.open .dropdown-menu { + background-color: #05a3ef; + border-radius: 0; + padding: 0; + } + .mx-navbar .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem > a { + font-weight: normal; + padding: 10px 20px; + border-radius: 0; + color: #FFF; + font-size: 12px; + } + .mx-navbar .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem > a:hover, .mx-navbar .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem > a:focus { + color: #FFF; + background-color: #05a3ef; + } + .mx-navbar .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem > a.active { + color: #FFF; + background-color: #05a3ef; + } +} +.mx-navbar:focus { + outline: 0; +} + +/* ========================================================================== + Navigation + + Default Mendix Navigation Tree +========================================================================== */ +.mx-navigationtree { + background-color: #4D4d4d; + /* Every navigation item */ + /* Sub navigation item specific */ + /* remove focus */ +} +.mx-navigationtree .navbar-inner ul { + margin: 0; + padding-left: 0; +} +.mx-navigationtree .navbar-inner ul li { + padding: 0; + border-style: none; +} +.mx-navigationtree .navbar-inner ul li a { + font-weight: normal; + display: block; + padding: 15px 20px 15px 16px; + border-bottom: 1px solid #575757; + border-radius: 0; + color: rgba(255, 255, 255, 0.7); + text-shadow: none; + font-size: 14px; + vertical-align: middle; + background-color: #4D4d4d; + border-left: 4px solid transparent; +} +.mx-navigationtree .navbar-inner ul li a .caret { + border-top-color: rgba(255, 255, 255, 0.7); + border-bottom-color: rgba(255, 255, 255, 0.7); +} +.mx-navigationtree .navbar-inner ul li a img { + margin-right: 4px; + width: 20px; + height: auto; +} +.mx-navigationtree .navbar-inner ul li a .glyphicon { + vertical-align: middle; + font-size: 1.2em; + top: -1px; +} +.mx-navigationtree .navbar-inner ul li a:hover, +.mx-navigationtree .navbar-inner ul li a:focus, +.mx-navigationtree .navbar-inner ul li a.active { + background-color: #575757; + color: #FFF; + text-decoration: none; +} +.mx-navigationtree .navbar-inner ul li a:hover .caret, +.mx-navigationtree .navbar-inner ul li a:focus .caret, +.mx-navigationtree .navbar-inner ul li a.active .caret { + border-top-color: #FFF; + border-bottom-color: #FFF; +} +.mx-navigationtree .navbar-inner ul li a.active { + border-left-color: #FFF; + color: #FFF; + background-color: #616161; +} +.mx-navigationtree li.mx-navigationtree-has-items > ul { + margin: 0; + padding-left: 0; + background-color: #434343; +} +.mx-navigationtree li.mx-navigationtree-has-items > ul li { + margin: 0; + padding: 0; +} +.mx-navigationtree li.mx-navigationtree-has-items > ul li a { + font-weight: normal; + color: rgba(255, 255, 255, 0.7); + font-size: 12px; + background-color: #434343; + padding: 12px 20px 12px 25px; + border: 0; +} +.mx-navigationtree li.mx-navigationtree-has-items > ul li a:hover, .mx-navigationtree li.mx-navigationtree-has-items > ul li a:focus, .mx-navigationtree li.mx-navigationtree-has-items > ul li a.active { + color: #FFF; + background-color: #434343; +} +.mx-navigationtree li.mx-navigationtree-has-items > ul li a.active { + border: 0; + color: #FFF; + background-color: #434343; +} +.mx-navigationtree:focus { + outline: 0; +} + +/* Content Centerd text and icons */ +.mx-navigationtree.nav-content-center-text-icons .navbar-inner ul a { + text-align: center; +} +.mx-navigationtree.nav-content-center-text-icons .navbar-inner ul a .glyphicon { + display: block; + margin-bottom: 5px; +} + +/* Content Centerd icons only */ +.mx-navigationtree.nav-content-center .navbar-inner ul a { + text-align: center; +} + +/* ========================================================================== + Navigation + + Default Mendix Simple Menu Bar +========================================================================== */ +.mx-menubar { + padding: 0; + background-color: #4D4d4d; + /* Two menu items */ + /* Three menu items */ + /* Four menu items */ + /* Five menu items */ + /* remove focus */ +} +.mx-menubar ul.mx-menubar-list { + width: 100%; + min-height: 50px; + table-layout: fixed; +} +.mx-menubar ul.mx-menubar-list li.mx-menubar-item { + margin: 0; + width: 100%; + display: inline-block; +} +.mx-menubar ul.mx-menubar-list li.mx-menubar-item a { + font-weight: normal; + border-radius: 0; + color: rgba(255, 255, 255, 0.7); + font-size: 12px; + padding: 0 8px; + text-align: center; + line-height: 50px; + overflow: hidden; + display: block; + vertical-align: middle; +} +.mx-menubar ul.mx-menubar-list li.mx-menubar-item a .glyphicon { + vertical-align: middle; + font-size: 1.2em; + top: -1px; +} +.mx-menubar ul.mx-menubar-list li.mx-menubar-item a:hover, +.mx-menubar ul.mx-menubar-list li.mx-menubar-item a:focus, .mx-menubar ul.mx-menubar-list li.mx-menubar-item:hover a, .mx-menubar ul.mx-menubar-list li.mx-menubar-item:focus a, .mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a { + background-color: #575757; + color: #FFF; + text-decoration: none; +} +.mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a { + color: #FFF; + background-color: #616161; +} +.mx-menubar.menubar-col-6 ul.mx-menubar-list li.mx-menubar-item { + width: 50%; +} +.mx-menubar.menubar-col-4 ul.mx-menubar-list li.mx-menubar-item { + width: 33.33333333%; +} +.mx-menubar.menubar-col-3 ul.mx-menubar-list li.mx-menubar-item { + width: 25%; +} +.mx-menubar.menubar-col-2 ul.mx-menubar-list li.mx-menubar-item { + width: 20%; +} +.mx-menubar:focus { + outline: 0; +} + +/* text and icons centerd */ +.mx-menubar.bottom-nav-text-icons ul.mx-menubar-list li.mx-menubar-item a { + line-height: normal; + padding: 8px 8px 6px 8px; +} +.mx-menubar.bottom-nav-text-icons ul.mx-menubar-list li.mx-menubar-item a .glyphicon { + display: block; + font-size: 18px; + margin-bottom: 4px; +} + +/* Vertical variation specifics */ +.mx-menubar-vertical { + background-color: #0595db; +} +.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a { + color: #FFF; + font-size: 14px; + border-bottom: 1px solid #0587c7; +} +.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a .glyphicon { + vertical-align: middle; + font-size: 1.2em; + top: -1px; +} +.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a:hover, .mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a:focus, .mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a.active { + background-color: #0587c7; + color: #FFF; + text-decoration: none; +} +.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a.active { + color: #FFF; + background-color: #047ab3; +} + +/* Horizontal variation specifics */ +.mx-menubar-horizontal ul.mx-menubar-list li.mx-menubar-item { + width: auto; +} + +/* ========================================================================== + Navigation List + + Default Mendix Navigation List Widget. A navigation list can be used to attach an action to an entire row. Such a row is called a navigation list item +========================================================================== */ +.mx-navigationlist { + padding: 0; + margin: 0; +} +.mx-navigationlist .mx-navigationlist-item { + padding: 15px 20px 15px 16px; + border-left: 4px solid transparent; + border-bottom: 1px solid #575757; + border-top: none; + border-radius: 0; + background-color: #4D4d4d; +} +.mx-navigationlist .mx-navigationlist-item label { + font-weight: normal; + color: rgba(255, 255, 255, 0.7); + font-size: 14px; +} +.mx-navigationlist .mx-navigationlist-item:hover, .mx-navigationlist .mx-navigationlist-item:focus, .mx-navigationlist .mx-navigationlist-item.active { + background-color: #575757; +} +.mx-navigationlist .mx-navigationlist-item:hover label, .mx-navigationlist .mx-navigationlist-item:focus label, .mx-navigationlist .mx-navigationlist-item.active label { + color: #FFF; +} +.mx-navigationlist .mx-navigationlist-item.active { + border-left-color: #FFF; + color: #FFF; + background-color: #616161; +} + +/* ========================================================================== + Tab Container + + Default Mendix Tab Container Widget. Tab containers are used to show information categorized into multiple tab pages. + This can be very useful if the amount of information that has to be displayed is larger than the amount of space on the screen +========================================================================== */ +.mx-tabcontainer .mx-tabcontainer-tabs { + margin-bottom: 20px; + border-color: #DDD; +} +.mx-tabcontainer .mx-tabcontainer-tabs > li > a { + font-weight: normal; + -moz-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + -webkit-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; + margin-right: 0; + color: #666666; +} +.mx-tabcontainer .mx-tabcontainer-tabs > li > a:hover, .mx-tabcontainer .mx-tabcontainer-tabs > li > a:focus { + background-color: #eaeaea; +} +.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a, +.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:hover, +.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:focus { + border: 1px solid #DDD; + border-bottom-color: transparent; + background-color: #FFF; + color: #000; +} + +/* ========================================================================== + Tab Container Pills + + Default Mendix Tab Container Widget rendered as Pills +========================================================================== */ +.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs { + border: 0; +} +.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li > a { + border-radius: 4px; + margin-right: 2px; + border: 1px solid #DDD; + color: #666666; +} +.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li > a:hover, .tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li > a:focus { + background-color: #eaeaea; +} +.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a, +.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:hover, +.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:focus { + background-color: #0595db; + color: #FFF; + border-color: #0595db; +} + +/* ========================================================================== + Tab Container Lined + + Default Mendix Tab Container Widget rendered with tabs rendered without background +========================================================================== */ +.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs { + border-width: 3px; +} +.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li { + margin-bottom: -3px; + margin-right: 30px; +} +.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li > a { + padding: 10px 0; + border: 0; + border-style: solid; + border-color: transparent; + border-bottom-width: 3px; + border-radius: 0; + color: #666666; +} +.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li > a:hover, .tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li > a:focus { + border: 0; + border-color: transparent; + background: transparent; + color: #666666; +} +.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li.active > a, .tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li.active > a:hover, .tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li.active > a:focus { + border: 0; + border-bottom: 3px solid #0595db; + background-color: transparent; + color: #0595db; +} + +/* ========================================================================== + Tab Container Justified + + Default Mendix Tab Container Widget rendered as justified +========================================================================== */ +.tab-justified.mx-tabcontainer .mx-tabcontainer-tabs { + width: 100%; + border-bottom: 0; +} +.tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li { + display: table-cell; + float: none; + margin: 0; + width: 1%; +} +@media (max-width: 768px) { + .tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li { + display: block; + width: 100%; + } +} +.tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li > a { + border-bottom: 1px solid #DDD; + text-align: center; +} +.tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a { + border-radius: 4px; + border-bottom-color: transparent; +} +@media (max-width: 768px) { + .tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a { + border-bottom-color: #DDD; + } +} + +/* ========================================================================== + Tab Container Bordered + + Default Mendix Tab Container Widget rendered with borders +========================================================================== */ +.tab-bordered.mx-tabcontainer .mx-tabcontainer-tabs { + margin: 0; +} +.tab-bordered.mx-tabcontainer .mx-tabcontainer-content { + padding: 10px; + border-width: 0 1px 1px 1px; + border-style: solid; + border-color: #DDD; + background-color: #FFF; +} + +/* ========================================================================== + Tab Container Mobile + + Default Mendix Tab Container Widget rendered for mobile use +========================================================================== */ +.tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs { + margin: 0 0 10px 0 !important; + border-color: transparent; + background-color: #0595db; + text-align: center; +} +.tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li { + display: table-cell; + float: none; + margin: 0; + width: 1%; +} +.tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li a { + padding: 15px 0; + border-style: none; + color: #FFF; + font-weight: normal; + font-size: 11px; + text-transform: uppercase; +} +.tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li a:hover, .tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li a:focus { + color: #000; + border-style: none; + background-color: transparent; +} +.tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li.active a { + color: #000; + background-color: transparent; + position: relative; +} +.tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li.active a:after, .tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li.active a:before { + position: absolute; + width: 0; + height: 0; + border: solid transparent; + border-color: transparent; + content: " "; + pointer-events: none; +} +.tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li.active a:after, .tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li.active a:before { + top: 100%; +} +.tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li.active a:after { + left: 50%; + margin-left: -5px; + border-width: 5px 5px; + border-top-color: #FFF; +} +.tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li.active a:before { + left: 50%; + margin-left: -5px; + border-width: 6px 5px; + border-top-color: #FFF; +} +.tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li.active a:after, .tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li.active a:before { + -webkit-transform: rotate(180deg); +} +.tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li.active a:after { + top: 80%; +} +.tab-mobile.mx-tabcontainer .mx-tabcontainer-tabs li.active a:before { + top: 75%; +} + +/* ========================================================================== + Tables + + Default Mendix Table Widget. Tables can be used to lend structure to a page. They contain a number of rows (tr) and columns, the intersection of which is called a cell (td). Each cell can contain widgets +========================================================================== */ +th { + font-weight: bold; +} + +table.mx-table > tbody { + /* Table row */ +} +table.mx-table > tbody > tr { + /* Table header */ + /* Table cells */ +} +table.mx-table > tbody > tr > th { + padding: 8px 8px 8px 8px; +} +table.mx-table > tbody > tr > th * { + font-weight: bold; + color: #666; + font-weight: normal; +} +table.mx-table > tbody > tr > th > label { + padding-top: 7px; + padding-bottom: 6px; +} +table.mx-table > tbody > tr > td { + padding: 8px 8px 8px 8px; +} +table.mx-table > tbody > tr > td > div > label, +table.mx-table > tbody > tr > td .mx-referenceselector-input-wrapper label { + padding-top: 7px; + padding-bottom: 6px; +} + +/* Default Mendix Table Widget inside TemplateGrid */ +.mx-templategrid table.mx-table > tbody > tr > th, +.mx-templategrid table.mx-table > tbody > tr > td { + padding: 8px 8px 8px 8px; +} + +/* Default Mendix Table Widget inside Listview */ +.mx-list table.mx-table > tbody > tr > th, +.mx-list table.mx-table > tbody > tr > td { + padding: 8px 8px 8px 8px; +} + +/* ========================================================================== + Tables Lined + + Default Mendix Table Widget with borders top and bottom +========================================================================== */ +table.table-lined.mx-table > tbody > tr > th, +table.table-lined.mx-table > tbody > tr > td { + border-width: 1px 0; + border-style: solid; + border-color: #DDD; +} + +/* ========================================================================== + Tables Bordered + + Default Mendix Table Widget with borders +========================================================================== */ +table.table-bordered.mx-table > tbody > tr > th, +table.table-bordered.mx-table > tbody > tr > td { + border-width: 1px; + border-style: solid; + border-color: #DDD; +} + +/* ========================================================================== + Tables Compact + + Default Mendix Table Widget with less spacing in table cells +========================================================================== */ +table.table-compact.mx-table > tbody > tr > th, +table.table-compact.mx-table > tbody > tr > td { + padding-top: 2px; + padding-bottom: 2px; +} + +/* ========================================================================== + Tables Sideless + + Default Mendix Table Widget inside TemplateGrid +========================================================================== */ +table.table-sideless.mx-table > tbody > tr > td, +table.table-sideless.mx-table > tbody > tr > th { + padding-right: 0; +} +table.table-sideless.mx-table > tbody > tr > th:first-child, +table.table-sideless.mx-table > tbody > tr > td:first-child { + padding-left: 0; +} + +/* ========================================================================== + Tables Spaceless + + Default Mendix Table Widget without padding +========================================================================== */ +table.table-spaceless.mx-table > tbody > tr > th, +table.table-spaceless.mx-table > tbody > tr > td { + padding: 0; +} + +/* ========================================================================== + Tables Vertical + + Default Mendix Table Widget vertical aligned +========================================================================== */ +table.table-vertical.mx-table > tbody > tr > th { + padding-bottom: 0; +} +table.table-vertical.mx-table > tbody > tr > th > label { + padding: 0; +} +table.table-vertical.mx-table > tbody > tr > th > div > label { + padding: 0; +} + +/* ========================================================================== + Tables Vertical Middle + + Default Mendix Table Widget vertical aligned middle +========================================================================== */ +table.table-align-vertical-middle.mx-table > tbody > tr > th, +table.table-align-vertical-middle.mx-table > tbody > tr > td { + vertical-align: middle; +} + +/* ========================================================================== + Tables Compact + + Default Mendix Table Widget without padding and margin +========================================================================== */ +table.table-label-compact.mx-table > tbody > tr > th > label, +table.table-label-compact.mx-table > tbody > tr > td > label { + padding: 0; + margin: 0; +} +table.table-label-compact.mx-table > tbody > tr > th > div > label, +table.table-label-compact.mx-table > tbody > tr > th .mx-referenceselector-input-wrapper label, +table.table-label-compact.mx-table > tbody > tr > td > div > label, +table.table-label-compact.mx-table > tbody > tr > td .mx-referenceselector-input-wrapper label { + padding: 0; + margin: 0; +} + +html body .mx-page table.mx-table th.nopadding, +html body .mx-page table.mx-table td.nopadding { + padding: 0; +} + +/* ========================================================================== + Tables Row Sizes +========================================================================== */ +/* Small rows + ========================================================================== */ +table.table-row-s.mx-table > tbody > tr > th, +table.table-row-s.mx-table > tbody > tr > td { + height: 55px; +} + +/* Medium rows + ========================================================================== */ +table.table-row-m.mx-table > tbody > tr > th, +table.table-row-m.mx-table > tbody > tr > td { + height: 70px; +} + +/* Large rows + ========================================================================== */ +table.table-row-l.mx-table > tbody > tr > th, +table.table-row-l.mx-table > tbody > tr > td { + height: 120px; +} + +/* Table Fixed + ========================================================================== */ +table.table-fixed { + table-layout: fixed; +} + +/* ========================================================================== + Templategrid + + Default Mendix Templategrid Widget. The template grid shows a list of objects in a tile view. For example, a template grid can show a list of products. The template grid has a lot in common with the data grid. The main difference is that the objects are shown in templates (a sort of small data view) instead of rows +========================================================================== */ +.mx-templategrid .mx-templategrid-content-wrapper { + table-layout: fixed; +} +.mx-templategrid .mx-templategrid-item { + background-color: #FFF; + padding: 8px 8px 8px 8px; + cursor: default; +} +.mx-templategrid .mx-templategrid-item:hover { + background-color: transparent; +} +.mx-templategrid .mx-templategrid-item.selected { + background-color: #0595db !important; +} +.mx-templategrid .mx-layoutgrid { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +/* ========================================================================== + Templategrid Hover + + Default Mendix Templategrid Widget Hover +========================================================================== */ +.templategrid-hover.mx-templategrid .mx-templategrid-item:hover { + background-color: #c7e3f1 !important; +} +.templategrid-hover.mx-templategrid .mx-templategrid-item.selected { + background-color: #0595db !important; +} +.templategrid-hover.mx-templategrid .mx-templategrid-item.selected:hover { + background-color: #c7e3f1 !important; +} + +/* ========================================================================== + Templategrid Selectable + + Default Mendix Templategrid Widget with selection enabled +========================================================================== */ +.templategrid-selectable.mx-templategrid .mx-templategrid-item { + cursor: pointer; +} + +/* ========================================================================== + Templategrid Lined + + Default Mendix Templategrid Widget with borders between items +========================================================================== */ +.templategrid-lined.mx-templategrid .mx-grid-content { + border-top-style: solid; + border-top-color: #DDD; + border-top-width: 2px; +} +.templategrid-lined.mx-templategrid .mx-templategrid-item { + border-left: none; + border-right: none; + border-top: 1px solid #DDD; + border-bottom: 1px solid #DDD; +} + +/* ========================================================================== + Templategrid Striped + + Default Mendix Templategrid Widget with background between items +========================================================================== */ +.templategrid-striped.mx-templategrid .mx-templategrid-row:nth-child(odd) .mx-templategrid-item { + background-color: #f9f9f9; +} + +/* ========================================================================== + Templategrid Stylingless + + Default Mendix Templategrid Widget without styling +========================================================================== */ +.templategrid-stylingless.mx-templategrid .mx-templategrid-item { + background-color: transparent; + border: 0; + padding: 0; + cursor: default; +} +.templategrid-stylingless.mx-templategrid .mx-templategrid-item:hover { + background-color: transparent; +} +.templategrid-stylingless.mx-templategrid .mx-templategrid-item.selected { + background-color: transparent !important; +} +.templategrid-stylingless.mx-templategrid .mx-templategrid-item.selected:hover { + background-color: transparent !important; +} + +/* ========================================================================== + Templategrid Transparent + + Default Mendix Templategrid Widget without background and padding in items +========================================================================== */ +.templategrid-transparent.mx-templategrid .mx-templategrid-item { + background-color: transparent; + border: 0; +} + +/* ========================================================================== + Typography +========================================================================== */ +p { + line-height: 1.42857; +} + +label { + padding-top: 0; +} + +.mx-title { + font-weight: normal; + color: #555; + font-size: 31px; +} + +h1, .h1, .h1 > * { + font-size: 31px; +} + +h2, .h2, .h2 > * { + font-size: 26px; +} + +h3, .h3, .h3 > * { + font-size: 20px; +} + +h4, .h4, .h4 > * { + font-size: 16px; +} + +h5, .h5, .h5 > * { + font-size: 14px; +} + +h6, .h6, .h6 > * { + font-size: 11px; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + font-weight: normal; + color: #555; + line-height: 1.3; +} + +/* Text Weights */ +.text-light, .text-light > *, .text-light label { + font-weight: 100; +} + +.text-normal, .text-normal > *, .text-normal label { + font-weight: normal; +} + +.text-semibold, .text-semibold > *, .text-semibold label { + font-weight: 500; +} + +.text-bold, .text-bold > *, .text-bold label { + font-weight: bold; +} + +/* ========================================================================== + Text Utility Classes +========================================================================== */ +.text-spacing { + margin-top: 1em; + margin-bottom: 1em; +} + +.text-lined { + padding-bottom: 10px; + border-bottom: 1px solid #DDD; +} + +/* Text Break */ +.text-break { + -ms-word-break: break-all; + word-break: break-all; + word-break: break-word; + -webkit-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; +} + +/* ========================================================================== + Typography + + Text Colors +========================================================================== */ +.text-gray-darker { + color: #222; +} + +.text-gray-dark { + color: #333; +} + +.text-gray { + color: #555; +} + +.text-gray-light { + color: #999; +} + +.text-gray-primary { + color: #DDD; +} + +.text-gray-lighter { + color: #eee; +} + +.text-default, .text-default:hover { + color: #000; +} + +.text-primary, .text-primary:hover { + color: #0595db; +} + +.text-info, .text-info:hover { + color: #48B0F7; +} + +.text-success, .text-success:hover { + color: #76ca02; +} + +.text-warning, .text-warning:hover { + color: #f99b1d; +} + +.text-danger, .text-danger:hover { + color: #ed1c24; +} + +.text-black { + color: #000; +} + +.text-black-secondary { + color: #666666; +} + +.text-black-disabled { + color: rgba(0, 0, 0, 0.26); +} + +.text-black-hint { + color: rgba(0, 0, 0, 0.26); +} + +.text-white { + color: #FFF; +} + +.text-white-secondary { + color: rgba(255, 255, 255, 0.7); +} + +.text-white-disabled { + color: rgba(255, 255, 255, 0.3); +} + +.text-white-hint { + color: rgba(255, 255, 255, 0.3); +} + +/* ========================================================================== + Special styles for presenting Page Template Dashboard +========================================================================== */ +.page-dashboard { + background-color: #EFF4F7; +} +.page-dashboard .chartjs-node { + margin-top: 30px; +} + +.page-dashboard-default .card { + min-height: 345px; +} + +.page-dashboard-mytasks .card { + min-height: 320px; +} + +/* ========================================================================== + Special styles for presenting Page Template Form +========================================================================== */ +.page-form { + /* Styles here */ +} + +.page-form-default { + /* Styles here */ +} + +.page-form-imagemap { + /* Styles here */ +} + +.page-form-tabs { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Login +========================================================================== */ +.page-login-users .profilecard:hover, .page-login-users .profilecard:focus { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); + opacity: 0.8; +} +.page-login-users .mx-navigationlist .mx-navigationlist-item { + padding: 0; + border-style: none; + background-color: transparent; +} + +/* ========================================================================== + Special styles for presenting Page Template Master Detail +========================================================================== */ +.page-masterdetail { + /* Styles here */ +} + +.page-masterdetail-basic { + /* Styles here */ +} + +.page-masterdetail-big { + /* Styles here */ +} + +.page-masterdetail-imagemap { + /* Styles here */ +} + +.page-masterdetail-multilevel { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Tabs +========================================================================== */ +.page-tabs { + /* Styles here */ +} +.page-tabs .tabsfullwidth { + background-color: #EFF4F7; +} + +.page-tabs-default { + /* Styles here */ +} + +.page-tabs-fullwidth { + /* Styles here */ +} +.page-tabs-fullwidth .pageheader.pageheader-fullwidth { + border-style: none; +} + +/* ========================================================================== + Special styles for presenting Page Template Website +========================================================================== */ +.page-website { + /* Styles here */ +} + +.page-website-actions { + /* Styles here */ +} + +.page-website-items { + /* Styles here */ +} + +.page-website-items-detail { + /* Styles here */ +} + +.page-website-presentation { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Wizard +========================================================================== */ +.page-wizard { + /* Styles here */ +} + +.page-wizard-default { + /* Styles here */ +} + +.page-wizard-titlecentered { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Phone +========================================================================== */ +.phone-page-dashboard { + background-color: #EFF4F7; +} + +.phone-page-dashboard-default { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Phone Form +========================================================================== */ +.phone-page-form { + /* Styles here */ +} + +.phone-page-form-default { + /* Styles here */ +} + +.phone-page-form-edit { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Phone Listview +========================================================================== */ +.phone-page-listview { + /* Styles here */ +} + +.phone-page-listview-default { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Phone Wizard +========================================================================== */ +.phone-page-wizard { + /* Styles here */ +} + +.phone-page-wizard-default { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Tablet Dashboard +========================================================================== */ +.tablet-page-dashboard { + background-color: #EFF4F7; +} + +.tablet-page-dashboard-default { + /* Styles here */ +} + +.tablet-page-dashboard-big { + /* Styles here */ +} + +.tablet-page-dashboard-mytasks { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Tablet Form +========================================================================== */ +.tablet-page-form { + /* Styles here */ +} + +.tablet-page-form-default { + /* Styles here */ +} + +.tablet-page-form-edit { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Tablet Master Detail +========================================================================== */ +.tablet-page-masterdetail { + /* Styles here */ +} + +.tablet-page-masterdetail-default { + /* Styles here */ +} + +.tablet-page-masterdetail-leftright { + /* Styles here */ +} + +/* ========================================================================== + Special styles for presenting Page Template Tablet Wizard +========================================================================== */ +.tablet-page-wizard { + /* Styles here */ +} + +.tablet-page-wizard-default { + /* Styles here */ +} + +/* ========================================================================== + Action Block +========================================================================== */ +.actionblock { + font-weight: bold; + padding: 20px 0; + margin: 10px 0; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; + white-space: nowrap; +} +.actionblock span { + display: block; + margin: auto auto 20px auto; + font-size: 72px; +} +.actionblock img { + height: 72px; + display: block; + margin: auto auto 20px auto; +} + +/* ========================================================================== + Card +========================================================================== */ +.card { + padding: 20px; + margin: 0 0 30px 0; + border: 1px solid #DDD; + background-color: #FFF; + border-radius: 3px; +} +@media only screen and (max-width: 1024px) { + .card { + padding: 10px; + } +} + +.card-maps { + padding: 0; +} + +/* Title + button + border below title and button */ +.card-header-action { + overflow: hidden; + margin-bottom: 20px; +} +.card-header-action .card-title { + float: left; +} +.card-header-action .btn { + float: right; +} + +.card-details { + padding: 10px; +} + +.card-title { + margin-top: 0; +} +@media only screen and (max-width: 1024px) { + .card-title { + font-size: 18px; + } +} + +.card-subtitle { + font-size: 14px; + color: #666666; + margin-bottom: 10px; +} + +.card-annotation { + text-transform: uppercase; + letter-spacing: 8px; + padding-bottom: 10px; +} + +.card-icon { + border-radius: 50%; + margin: 30px auto; + width: 125px; + height: 125px; +} +@media (max-width: 992px) { + .card-icon { + width: 75px; + height: 75px; + } +} +.card-icon .glyphicon { + font-size: 60px; + position: relative; + top: 50%; + transform: translateY(-50%); +} +@media (max-width: 992px) { + .card-icon .glyphicon { + font-size: 28px; + } +} + +.card-image { + margin: 30px auto; +} + +.card-user-image { + border: 4px solid #FFF; +} + +.card-link { + font-size: 12px; +} + +/* ========================================================================== + Dashboard Card +========================================================================== */ +.dashboardcard { + padding: 20px; + margin: 0 0 40px 0; + border: 1px solid #DDD; + background-color: #FFF; + border-radius: 3px; +} + +.dashboardcard-title { + margin-top: 0; +} + +.dashboardcard-subtitle { + font-size: 14px; + color: #666666; + margin-bottom: 10px; +} + +.dashboardcard-link { + font-size: 12px; +} + +@media only screen and (max-width: 960px) { + .dashboardcard { + padding: 10px; + margin: 0 0 20px 0; + } +} +/* ========================================================================== + Dashboard Stats + + Used in dashboard +========================================================================== */ +.dashboardstat { + margin: 30px 0; +} +@media (max-width: 992px) { + .dashboardstat { + margin: 10px 0; + } +} +.dashboardstat .dashboardstat-left, +.dashboardstat .dashboardstat-right { + display: table-cell; + vertical-align: top; +} + +.dashboardstat-icon { + font-size: 30px; + padding: 8px 14px; + margin: 5px 10px 0 0; +} +@media (max-width: 992px) { + .dashboardstat-icon { + font-size: 20px; + } +} + +.dashboardstat-title { + font-size: 18px; + color: #999; + text-transform: uppercase; +} +@media (max-width: 992px) { + .dashboardstat-title { + font-size: 13px; + } +} + +.dashboardstat-number { + font-size: 72px; + line-height: 1em; + color: #000; +} +@media (max-width: 992px) { + .dashboardstat-number { + font-size: 30px; + } +} + +/* ========================================================================== + Form + + To extend the default Bootstrap form +========================================================================== */ +.form-footer { + border-top: 1px solid #eee; + padding: 10px 0; + margin-top: 20px; +} + +/* ========================================================================== + Form Block + + Used in default forms +========================================================================== */ +.formblock { + margin-bottom: 20px; + margin-top: 20px; +} + +.formblock-header { + color: #0595db; + border-bottom: 1px solid #DDD; + padding-bottom: 5px; + margin-bottom: 15px; +} + +/* ========================================================================== + Master Detail Listview +========================================================================== */ +.masterdetail-listview { + background-color: #EFF4F7; +} +.masterdetail-listview .mx-listview { + height: 100%; + margin: 0; +} +.masterdetail-listview .mx-listview .mx-listview-item { + background-color: transparent; +} +.masterdetail-listview .mx-listview .mx-listview-item.selected { + color: #FFF; +} +.masterdetail-listview .mx-listview .mx-listview-item.selected .mx-link { + color: #FFF; +} +.masterdetail-listview .mx-listview .mx-listview-item.selected:hover, .masterdetail-listview .mx-listview .mx-listview-item.selected:active { + background-color: #0595db !important; +} + +/* ========================================================================== + Multilevel +========================================================================== */ +.multilevel-tabs .mx-tabcontainer-tabs { + margin-bottom: 10px; +} + +.multilevel-list .mx-listview-list { + border-left: 1px solid #eee; + border-right: 1px solid #eee; +} +.multilevel-list .mx-listview-list .mx-listview-item { + padding: 10px; + border-color: #eee; + border-left: 4px solid #eee; + border-right: none; + border-radius: 0; + -webkit-transition: all .2s; + -o-transition: all .2s; + transition: all .2s; +} +.multilevel-list .mx-listview-list .mx-listview-item:first-child { + border-radius: 0; +} +.multilevel-list .mx-listview-list .mx-listview-item:last-child { + border-radius: 0; +} +.multilevel-list .mx-listview-list .mx-listview-item.selected { + border-left: 4px solid #0595db; + background-color: #eee !important; +} + +.multilevel-title label { + font-weight: bold; +} + +.multilevel-subtitle { + color: #555; +} + +.multilevel-message-header { + color: #555; + margin-bottom: 10px; + border-bottom: 1px solid #DDD; +} + +.multilevel-message-header-title { + font-size: 26px; +} + +.multilevel-message-header-subtitle { + font-size: 16px; + margin-bottom: 10px; +} + +.multilevel-message-text { + margin: 10px 0; +} + +.multilevel-grid .mx-datagrid-head-table th { + border-style: none; +} +.multilevel-grid .mx-datagrid-body-table { + border-left: 1px solid #DDD; + border-right: 1px solid #DDD; + border-bottom: 1px solid #DDD; +} +.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr td { + border-color: #eee; + border-left: 4px solid #eee; + -webkit-transition: all .2s; + -o-transition: all .2s; + transition: all .2s; +} +.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr.selected td, .multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr.selected:hover td { + border-left: 4px solid #0595db; + background-color: #eee !important; +} + +/* ========================================================================== + Page Header +========================================================================== */ +.pageheader { + border-bottom: 2px solid #DDD; +} +@media (max-width: 767px) { + .pageheader { + margin-bottom: 10px; + } +} +@media (min-width: 768px) { + .pageheader { + margin-bottom: 20px; + } +} +@media (min-width: 992px) { + .pageheader { + margin-bottom: 35px; + } +} + +.pageheader.pageheader-fullwidth { + background-color: #EFF4F7; + border-bottom: 1px solid #DDD; + margin-bottom: 0; +} + +.profile-tablet .pageheader.pageheader-fullwidth { + border-style: none; +} + +.pageheader-title { + margin-bottom: 0; + margin-top: 0; +} + +.pageheader-subtitle { + color: #666666; +} + +/* ========================================================================== + Section Header +========================================================================== */ +.sectionheader { + margin-bottom: 20px; + border-bottom: 1px solid #DDD; + padding-bottom: 10px; +} + +.sectionheader-title { + margin-top: 0; + margin-bottom: 10px; +} + +.sectionheader-subtitle { + color: #666666; + margin-bottom: 10px; +} + +.sectionheader-avatar { + padding: 4px; + border: 2px solid #DDD; + background-color: #FFF; +} + +/* ========================================================================== + Profile Card +========================================================================== */ +.profilecard { + display: table; + width: 100%; + margin-bottom: 20px; +} +.profilecard .profilecard-contentwrapper { + width: auto; +} +.profilecard .profilecard-imgwrapper { + width: 150px; +} +.profilecard .profilecard-actionwrapper { + width: auto; + text-align: right; +} +.profilecard .profilecard-contentwrapper, +.profilecard .profilecard-imgwrapper, +.profilecard .profilecard-actionwrapper { + display: table-cell; + vertical-align: middle; +} + +.profilecard-btn { + display: inline-block; + width: 150px; + margin-left: 5px; + margin-bottom: 5px; +} + +.profilecard-img { + border-radius: 50%; + margin-right: 40px; + padding: 4px; + border: 2px solid #DDD; + background-color: #FFF; +} + +.profilecard-title { + font-size: 20px; + margin-bottom: 0; + margin-top: 0; +} + +.profilecard-subtitle { + color: #666666; +} + +.pageheader .profilecard { + margin-bottom: 0; +} + +/* ========================================================================== + Profile Header +========================================================================== */ +.profileheader { + margin: 20px 0; +} +.profileheader .profileheader-content { + padding: 0 10px; +} +.profileheader .profileheader-image { + display: block; + margin: auto auto 10px auto; +} + +/* ========================================================================== + Products + + Used in Website page templates +========================================================================== */ +.product-header { + padding: 25px 0; + border-bottom: 1px solid #DDD; +} + +.product-title { + margin-bottom: 0; + margin-top: 0; +} + +.product-subtitle { + color: #666666; +} + +.product-btn { + margin-top: 10px; +} + +/* ========================================================================== + Sidebar Header +========================================================================== */ +.sidebarheader { + padding: 10px 20px; +} + +.sidebarheader-img { + margin-bottom: 10px; +} + +.sidebarheader-title { + color: #FFF; +} + +.sidebarheader-subtitle { + color: #666666; +} + +/* ========================================================================== + Tabs full width +========================================================================== */ +.tabsfullwidth { + background-color: #EFF4F7; +} +.tabsfullwidth > .mx-tabcontainer-tabs { + margin-bottom: 0; +} +@media (min-width: 768px) { + .tabsfullwidth > .mx-tabcontainer-tabs { + padding: 0 40px; + } +} +.tabsfullwidth > .mx-tabcontainer-content { + background-color: #FFF; +} + +/* ========================================================================== + Wizard + + Styling for Wizard (Steps/Numbers) +========================================================================== */ +.wizard { + position: relative; + margin: auto; +} +.wizard .row:before { + left: 0; + top: 40px; + bottom: 0; + position: absolute; + content: " "; + width: 100%; + height: 1px; + background-color: #ccc; +} +.wizard .row { + position: relative; + width: 100%; + display: table; + margin: auto; +} + +.wizard-step { + text-align: center; + display: table-cell; + vertical-align: middle; + float: none; +} + +.wizard-step-number { + font-weight: bold; + border-radius: 50%; + font-size: 20px; + width: 72px; + height: 72px; + color: #DDD; + border: 2px solid #DDD; + background-color: #FFF; + line-height: 3.5em; + padding: 0; +} + +.wizard-step-number-active { + color: #FFF; + border-color: #0595db; + background-color: #0595db; +} + +.wizard-step-number-visited { + color: #0595db; + border-color: #0595db; + background-color: #FFF; +} + +.wizard-step-title { + display: block; + margin-top: 10px; +} + +.profile-phone .wizard .row:before { + top: 20px; +} +.profile-phone .wizard .wizard-step-number { + width: 40px; + height: 40px; + line-height: 2em; + font-size: 16px; +} + +/* ========================================================================== + Wizard Progress + + Styling for Wizard (Progress Steps) +========================================================================== */ +.wizard-progress { + border: 1px solid #DDD; + border-radius: 4px; + background-color: #eee; + position: relative; +} +.wizard-progress [class*=col-]:first-child .wizard-progress-step { + margin-left: 0; +} + +.wizard-steps-container { + border-bottom: 1px solid #DDD; +} + +.wizard-progress-step { + margin: 0 0 0 -30px; + padding: 14px 20px 14px 30px; + position: relative; + background: #eee; +} +.wizard-progress-step:after, .wizard-progress-step:before { + position: absolute; + width: 0; + height: 0; + border: solid transparent; + border-color: transparent; + content: " "; + pointer-events: none; + left: 100%; + z-index: 10; +} +.wizard-progress-step:before { + top: 50%; + margin-top: -25px; + border-width: 25px 15px; + border-left-color: #DDD; +} +.wizard-progress-step:after { + top: 50%; + margin-top: -24px; + border-width: 24px 14px; + border-left-color: #eee; +} + +.wizard-progress-step-active { + background-color: #cdeaf8; +} +.wizard-progress-step-active:after { + border-left-color: #cdeaf8; +} +.wizard-progress-step-active .wizard-progress-number { + background-color: #0595db; +} + +.wizard-progress-step-visited { + background-color: #cdeaf8; +} +.wizard-progress-step-visited:after { + border-left-color: #cdeaf8; +} +.wizard-progress-step-visited .wizard-progress-number { + background-color: #76ca02; +} +.wizard-progress-step-visited .wizard-progress-title { + color: #76ca02; +} + +.wizard-progress-number { + display: inline-block; + padding: 1px 7px; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: #999; + margin-right: 10px; + border-radius: 10px; +} + +.wizard-progress-title { + color: #0595db; +} + +.wizard-step-content { + padding: 10px 20px; +} + +/* ========================================================================== + Templategrid Profile Card + + Profile card styled for templategrid +========================================================================== */ +.templategrid-profilecard { + padding: 20px; + border: 1px solid #DDD; + background-color: #FFF; + border-radius: 3px; +} +.templategrid-profilecard .templategrid-profilecard-contentwrapper { + width: auto; +} +.templategrid-profilecard .templategrid-profilecard-imgwrapper { + width: 150px; +} +.templategrid-profilecard .templategrid-profilecard-contentwrapper, +.templategrid-profilecard .templategrid-profilecard-imgwrapper { + display: table-cell; + vertical-align: middle; +} +.templategrid-profilecard .templategrid-profilecard-btn { + display: block; + margin-top: 10px; +} +.templategrid-profilecard .templategrid-profilecard-img { + border-radius: 50%; + margin-right: 40px; + padding: 4px; + border: 2px solid #DDD; + background-color: #FFF; +} +.templategrid-profilecard .templategrid-profilecard-title { + font-size: 20px; + margin-bottom: 0; + margin-top: 0; +} +.templategrid-profilecard .templategrid-profilecard-subtitle { + color: #666666; +} + +/* ========================================================================== + Layout + + Default Mendix Layout +========================================================================== */ +.profile-phone .region-topbar { + min-height: 44px; + background-color: #0595db; + border: 0; +} + +/* +* Mendix Documentation +* Special styles for presenting mobile components +*/ +/* +* Listview +* +* Default Mendix Listview +*/ +.profile-phone, +.profile-tablet { + /* Listview Load More button */ +} +.profile-phone .mx-listview .mx-listview-searchbar, +.profile-tablet .mx-listview .mx-listview-searchbar { + padding: 10px; + margin-bottom: 0; + position: relative; + /* Reset Search Button */ + /* Search Field */ +} +.profile-phone .mx-listview .mx-listview-searchbar button, +.profile-tablet .mx-listview .mx-listview-searchbar button { + position: absolute; + right: 10px; + background: none; +} +.profile-phone .mx-listview .mx-listview-searchbar .mx-listview-search-input input, +.profile-tablet .mx-listview .mx-listview-searchbar .mx-listview-search-input input { + box-shadow: none; + border-style: none; + background-color: #eee; + text-align: center; +} +.profile-phone .mx-listview .mx-list .mx-listview-item:first-child, +.profile-tablet .mx-listview .mx-list .mx-listview-item:first-child { + border-radius: 0; +} +.profile-phone .mx-listview .mx-list .mx-listview-item:last-child, +.profile-tablet .mx-listview .mx-list .mx-listview-item:last-child { + border-radius: 0; +} +.profile-phone label, +.profile-tablet label { + overflow: hidden; + text-overflow: ellipsis; +} +.profile-phone .mx-listview-loadMore, +.profile-tablet .mx-listview-loadMore { + margin: 20px auto; + width: 95%; + display: block; +} + +/* +* Mendix Documentation +* Special styles for presenting mobile components +*/ +/* +* Loader +* +* Default Mendix Loader +*/ +.profile-phone .mx-progress { + width: 100%; + height: 100%; + max-width: 100%; + top: 0; +} +.profile-phone .mx-progress .modal-content { + border-radius: 0; + box-shadow: none; + height: 100%; + border-style: none; + background: none; +} +.profile-phone .mx-progress .modal-header { + display: none; +} +.profile-phone .mx-progress .mx-dialog-body { + height: 100% !important; + width: 100%; +} +.profile-phone .mx-progress .mx-progress-list { + height: 100%; + width: 100%; + margin: 0; +} +.profile-phone .mx-progress .mx-progress-item { + border-radius: 12px; + position: relative; + padding: 0; + width: 12px; + height: 12px; + top: 50%; + left: 50%; + -webkit-animation: loader10m 1.5s ease-in-out infinite; + animation: loader10m 1.5s ease-in-out infinite; + text-indent: -9999px; + background: none; +} +.profile-phone .mx-progress .mx-progress-item:before { + border-radius: 12px; + content: ""; + position: absolute; + top: 0px; + left: -25px; + height: 12px; + width: 12px; + -webkit-animation: loader10g 1.5s ease-in-out infinite; + animation: loader10g 1.5s ease-in-out infinite; +} +.profile-phone .mx-progress .mx-progress-item:after { + border-radius: 12px; + content: ""; + position: absolute; + top: 0px; + left: 25px; + height: 12px; + width: 12px; + -webkit-animation: loader10d 1.5s ease-in-out infinite; + animation: loader10d 1.5s ease-in-out infinite; +} + +@-webkit-keyframes loader10g { + 0% { + background-color: rgba(255, 255, 255, 0.2); + } + 25% { + background-color: white; + } + 50% { + background-color: rgba(255, 255, 255, 0.2); + } + 75% { + background-color: rgba(255, 255, 255, 0.2); + } + 100% { + background-color: rgba(255, 255, 255, 0.2); + } +} +@keyframes loader10g { + 0% { + background-color: rgba(255, 255, 255, 0.2); + } + 25% { + background-color: white; + } + 50% { + background-color: rgba(255, 255, 255, 0.2); + } + 75% { + background-color: rgba(255, 255, 255, 0.2); + } + 100% { + background-color: rgba(255, 255, 255, 0.2); + } +} +@-webkit-keyframes loader10m { + 0% { + background-color: rgba(255, 255, 255, 0.2); + } + 25% { + background-color: rgba(255, 255, 255, 0.2); + } + 50% { + background-color: white; + } + 75% { + background-color: rgba(255, 255, 255, 0.2); + } + 100% { + background-color: rgba(255, 255, 255, 0.2); + } +} +@keyframes loader10m { + 0% { + background-color: rgba(255, 255, 255, 0.2); + } + 25% { + background-color: rgba(255, 255, 255, 0.2); + } + 50% { + background-color: white; + } + 75% { + background-color: rgba(255, 255, 255, 0.2); + } + 100% { + background-color: rgba(255, 255, 255, 0.2); + } +} +@-webkit-keyframes loader10d { + 0% { + background-color: rgba(255, 255, 255, 0.2); + } + 25% { + background-color: rgba(255, 255, 255, 0.2); + } + 50% { + background-color: rgba(255, 255, 255, 0.2); + } + 75% { + background-color: white; + } + 100% { + background-color: rgba(255, 255, 255, 0.2); + } +} +@keyframes loader10d { + 0% { + background-color: rgba(255, 255, 255, 0.2); + } + 25% { + background-color: rgba(255, 255, 255, 0.2); + } + 50% { + background-color: rgba(255, 255, 255, 0.2); + } + 75% { + background-color: white; + } + 100% { + background-color: rgba(255, 255, 255, 0.2); + } +} +/* +* Mendix Documentation +* Special styles for presenting mobile components +*/ +/* +* Header +* +* Default Mendix Header for Mobile +*/ +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .mx-header .mx-header-right { + right: 63px !important; + } +} +body .mx-header { + padding: 0; + height: 44px; + color: #FFF; + border-bottom: 1px solid #DDD; + background-color: #0595db; + display: table; + width: 100%; +} +body .mx-header .mx-header-center { + display: table-cell; + width: 100%; + text-align: center; +} +body .mx-header .mx-header-left, +body .mx-header .mx-header-right { + display: table; + width: 25%; + top: 0; + position: absolute; + padding: 0 8px; + height: 44px; +} +body .mx-header .mx-header-left .mx-placeholder, +body .mx-header .mx-header-right .mx-placeholder { + display: table-cell; + vertical-align: middle; +} +body .mx-header .mx-link { + color: #FFF; +} +body .mx-header .mx-sidebartoggle { + font-size: 24px; + margin-top: 4px; +} +body .mx-header .mx-title { + margin: 0; + color: #FFF; + font-size: 16px; + line-height: 44px; + overflow: hidden; + text-overflow: ellipsis; +} +body .mx-header .btn-image.glyphicon { + font-size: 21px; +} + +body[dir="ltr"] .mx-header-left, +body[dir="rtl"] .mx-header-right { + left: 0; + text-align: left; +} + +body[dir="rtl"] .mx-header-left, +body[dir="ltr"] .mx-header-right { + right: 0; + text-align: right; +} + +/* ========================================================================== + Tabcontainer + + Default Mendix Tabcontainer for Mobile +========================================================================== */ +.profile-phone .mx-tabcontainer .mx-tabcontainer-tabs { + margin: 10px; +} + +.profile-phone .mx-tabcontainer .mx-listview .mx-listview-searchbar, +.profile-tablet .mx-tabcontainer .mx-listview .mx-listview-searchbar { + padding-top: 0; +} +.profile-phone .tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li, +.profile-tablet .tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li { + display: table-cell; + float: none; + margin: 0; + width: 1%; + text-align: center; +} + +/* ========================================================================== + Regions + + Used for navigation layouts +========================================================================== */ +.region-topbar { + min-height: 60px; + border-bottom: 1px solid #0587c7; + background-color: #0595db; +} +.region-topbar > .mx-layoutcontainer-wrapper { + padding: 0; +} +.region-topbar .toggle-btn { + font-size: 16px; + float: left; + margin: -20px 15px 0 0; + transform: translateY(30px); +} +.region-topbar .navbar-header { + width: 100%; +} +.region-topbar .navbar-right { + min-height: 60px; + max-width: 100%; +} +.region-topbar .navbar-right .mx-appswitcher-button-placeholder, +.region-topbar .navbar-right .mx-profilemenu-button-placeholder { + display: inline-block; + border-left: 1px solid #DDD; + width: 60px; + height: 60px; + position: relative; + float: left; + max-width: 50%; +} +.region-topbar .navbar-right .mx-appswitcher-button-placeholder iframe, +.region-topbar .navbar-right .mx-profilemenu-button-placeholder iframe { + width: 48px; + height: 48px; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + margin: auto auto; +} +@media (max-width: 768px) { + .region-topbar .navbar-right { + display: none; + } +} + +.region-sidebar, .layout-sidebar-responsive .region-sidebar-fixed, +.region-sidebar-fixed { + background-color: #4D4d4d; +} +.region-sidebar > .mx-layoutcontainer-wrapper, .layout-sidebar-responsive .region-sidebar-fixed > .mx-layoutcontainer-wrapper, +.region-sidebar-fixed > .mx-layoutcontainer-wrapper { + padding: 0; +} + +.region-content { + padding: 0; +} +.region-content > .mx-layoutcontainer-wrapper { + padding: 0; +} +.region-content > .mx-placeholder .mx-layoutgrid-fixed, +.region-content > .mx-layoutcontainer-wrapper .mx-placeholder .mx-layoutgrid-fixed { + max-width: 1170px; + margin: auto; +} + +.region-footer > .mx-layoutcontainer-wrapper { + padding: 0; +} + +.layout-sidebar-responsive .region-sidebar-fixed { + display: none; +} +@media (min-width: 768px) { + .layout-sidebar-responsive .region-sidebar-fixed { + position: fixed; + top: 60px; + bottom: 0; + z-index: 10; + display: block; + overflow-x: hidden; + overflow-y: auto; + padding: 0; + } +} +@media (min-width: 768px) { + .layout-sidebar-responsive .mx-scrollcontainer-open { + left: -200px !important; + } +} + +@media (min-width: 768px) { + body[dir="rtl"] .layout-sidebar-responsive .region-sidebar-fixed { + right: 0; + } +} + +@media (min-width: 768px) { + body[dir="ltr"] .layout-sidebar-responsive .region-sidebar-fixed { + left: 0; + } +} + +/* ========================================================================== + Navbar Brand + + For your company, product, or project name +========================================================================== */ +.navbar-brand { + display: block; + min-height: 60px; + float: left; + padding: 0; + line-height: 60px; +} +.navbar-brand img { + height: 40px; + width: auto; + display: inline-block; + vertical-align: middle; +} +.navbar-brand a { + font-size: 20px; + color: #FFF; +} +.navbar-brand a:hover, .navbar-brand a:focus { + text-decoration: none; +} + +/* ========================================================================== + Region Content + + Specific content styling +========================================================================== */ +/* ========================================================================== + Region Sidebar + + Specific sidebar styling +========================================================================== */ +.region-sidebar, .layout-sidebar-responsive .region-sidebar-fixed { + background-color: #4D4d4d; +} +.region-sidebar > .mx-layoutcontainer-wrapper, .layout-sidebar-responsive .region-sidebar-fixed > .mx-layoutcontainer-wrapper { + padding: 0; +} + +/* ========================================================================== + Region Topbar + + Specific topbar styling +========================================================================== */ +.navlayout-topbar .region-topbar { + /* Reset Layout Grid spacing */ +} +.navlayout-topbar .region-topbar .container-fluid { + padding: 0 20px; +} +.navlayout-topbar .region-topbar .mx-navbar { + float: left; + background-color: transparent; +} +@media (max-width: 768px) { + .navlayout-topbar .region-topbar .mx-navbar { + float: none; + clear: both; + } +} +.navlayout-topbar .region-topbar .mx-navbar ul.nav > li.mx-navbar-item > a { + padding: 0 30px; + line-height: 60px; +} diff --git a/test/theme/styles/login.css b/test/theme/styles/login.css new file mode 100644 index 0000000..2fd8445 --- /dev/null +++ b/test/theme/styles/login.css @@ -0,0 +1,56 @@ +html, body { + height: 100%; +} +.login-container { + display: table; + width: 90%; + max-width: 300px; + min-width: 180px; + height: 80%; + margin: auto; + text-align: center; +} +.login-form { + display: table-cell; + padding: 30px 10px 10px; + vertical-align: middle; + text-align: center; +} +.login-logo { + height: 40px; + margin-bottom: 50px; + background: url(../css/images/mendix-logo.png) no-repeat center; +} +.login-message { + display: none; +} +label { + font-weight: bold; +} +.login-form input { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + width: 100%; + height: 30px; +} +.login-sso-button { + display: block; + margin: auto; +} +.login-or-label { + display: block; + width: 80%; + margin: 20px auto; + text-align: center; + font-weight: normal; +} +.login-form-inputs .login-local-label { + font-weight: bold; +} +.login-form-inputs { + text-align: left; +} +.login-form-inputs label { + font-weight: normal; +} \ No newline at end of file diff --git a/test/userlib/antisamy-1.4.4.jar b/test/userlib/antisamy-1.4.4.jar deleted file mode 100644 index 45ce10b..0000000 Binary files a/test/userlib/antisamy-1.4.4.jar and /dev/null differ diff --git a/test/userlib/antisamy-1.5.3.jar b/test/userlib/antisamy-1.5.3.jar deleted file mode 100644 index 97011b0..0000000 Binary files a/test/userlib/antisamy-1.5.3.jar and /dev/null differ diff --git a/test/userlib/axiom-api-1.2.12.jar b/test/userlib/axiom-api-1.2.12.jar new file mode 100644 index 0000000..4ee047d Binary files /dev/null and b/test/userlib/axiom-api-1.2.12.jar differ diff --git a/test/userlib/axiom-api-1.2.12.jar.AppCloudServices.RequiredLib b/test/userlib/axiom-api-1.2.12.jar.AppCloudServices.RequiredLib new file mode 100644 index 0000000..e69de29 diff --git a/test/userlib/com.google.guava-14.0.1.jar b/test/userlib/com.google.guava-14.0.1.jar deleted file mode 100644 index 3a3d925..0000000 Binary files a/test/userlib/com.google.guava-14.0.1.jar and /dev/null differ diff --git a/test/userlib/com.mendix.webservices-rt-2.1.0.jar b/test/userlib/com.mendix.webservices-rt-2.1.0.jar deleted file mode 100644 index 1a494a8..0000000 Binary files a/test/userlib/com.mendix.webservices-rt-2.1.0.jar and /dev/null differ diff --git a/test/userlib/com.springsource.org.apache.batik.css-1.7.0.jar b/test/userlib/com.springsource.org.apache.batik.css-1.7.0.jar deleted file mode 100644 index db2d761..0000000 Binary files a/test/userlib/com.springsource.org.apache.batik.css-1.7.0.jar and /dev/null differ diff --git a/test/userlib/com.springsource.org.apache.commons.httpclient-3.1.0.jar b/test/userlib/com.springsource.org.apache.commons.httpclient-3.1.0.jar deleted file mode 100644 index ae8b9e9..0000000 Binary files a/test/userlib/com.springsource.org.apache.commons.httpclient-3.1.0.jar and /dev/null differ diff --git a/test/userlib/com.springsource.org.apache.commons.lang-2.5.0.jar b/test/userlib/com.springsource.org.apache.commons.lang-2.5.0.jar deleted file mode 100644 index 3c7b34f..0000000 Binary files a/test/userlib/com.springsource.org.apache.commons.lang-2.5.0.jar and /dev/null differ diff --git a/test/userlib/com.springsource.org.apache.commons.logging-1.1.1.jar b/test/userlib/com.springsource.org.apache.commons.logging-1.1.1.jar deleted file mode 100644 index f50c78c..0000000 Binary files a/test/userlib/com.springsource.org.apache.commons.logging-1.1.1.jar and /dev/null differ diff --git a/test/userlib/com.sun.mail.javax.mail-1.4.5.jar b/test/userlib/com.sun.mail.javax.mail-1.4.5.jar deleted file mode 100644 index b5531bd..0000000 Binary files a/test/userlib/com.sun.mail.javax.mail-1.4.5.jar and /dev/null differ diff --git a/test/userlib/commons-codec-1.3.jar b/test/userlib/commons-codec-1.3.jar deleted file mode 100644 index 957b675..0000000 Binary files a/test/userlib/commons-codec-1.3.jar and /dev/null differ diff --git a/test/userlib/commons-fileupload-1.2.1.jar b/test/userlib/commons-fileupload-1.2.1.jar deleted file mode 100644 index aa209b3..0000000 Binary files a/test/userlib/commons-fileupload-1.2.1.jar and /dev/null differ diff --git a/test/userlib/commons-io-2.3.jar b/test/userlib/commons-io-2.3.jar deleted file mode 100644 index d5a0771..0000000 Binary files a/test/userlib/commons-io-2.3.jar and /dev/null differ diff --git a/test/userlib/commons-lang-2.5.jar.AppCloudServices.RequiredLib b/test/userlib/commons-lang-2.5.jar.AppCloudServices.RequiredLib new file mode 100644 index 0000000..e69de29 diff --git a/test/userlib/commons-logging-1.1.jar b/test/userlib/commons-logging-1.1.jar new file mode 100644 index 0000000..2ff9bbd Binary files /dev/null and b/test/userlib/commons-logging-1.1.jar differ diff --git a/test/userlib/commons-logging-1.1.jar.AppCloudServices.RequiredLib b/test/userlib/commons-logging-1.1.jar.AppCloudServices.RequiredLib new file mode 100644 index 0000000..e69de29 diff --git a/test/userlib/communitycommons.txt b/test/userlib/communitycommons.txt deleted file mode 100644 index e36cfd9..0000000 --- a/test/userlib/communitycommons.txt +++ /dev/null @@ -1,4 +0,0 @@ -lib dependencies: - -antisamy-1.4.4.jar -nekohtml.jar \ No newline at end of file diff --git a/test/userlib/fontbox-1.8.5.jar b/test/userlib/fontbox-1.8.5.jar deleted file mode 100644 index 0b93d88..0000000 Binary files a/test/userlib/fontbox-1.8.5.jar and /dev/null differ diff --git a/test/userlib/guava-12.0.jar b/test/userlib/guava-12.0.jar deleted file mode 100644 index fefd6b2..0000000 Binary files a/test/userlib/guava-12.0.jar and /dev/null differ diff --git a/test/userlib/guice-2.0.jar b/test/userlib/guice-2.0.jar new file mode 100644 index 0000000..ef058df Binary files /dev/null and b/test/userlib/guice-2.0.jar differ diff --git a/test/userlib/guice-2.0.jar.AppCloudServices.RequiredLib b/test/userlib/guice-2.0.jar.AppCloudServices.RequiredLib new file mode 100644 index 0000000..e69de29 diff --git a/test/userlib/javax.servlet-3.0.0.jar b/test/userlib/javax.servlet-3.0.0.jar deleted file mode 100644 index 0a28788..0000000 Binary files a/test/userlib/javax.servlet-3.0.0.jar and /dev/null differ diff --git a/test/userlib/jempbox-1.8.5.jar b/test/userlib/jempbox-1.8.5.jar deleted file mode 100644 index b4880d3..0000000 Binary files a/test/userlib/jempbox-1.8.5.jar and /dev/null differ diff --git a/test/userlib/joda-time-1.6.2.jar b/test/userlib/joda-time-1.6.2.jar deleted file mode 100644 index 9b045c3..0000000 Binary files a/test/userlib/joda-time-1.6.2.jar and /dev/null differ diff --git a/test/userlib/nekohtml.jar b/test/userlib/nekohtml.jar deleted file mode 100644 index 16261d2..0000000 Binary files a/test/userlib/nekohtml.jar and /dev/null differ diff --git a/test/userlib/nekohtml.txt b/test/userlib/nekohtml.txt deleted file mode 100644 index f433b1a..0000000 --- a/test/userlib/nekohtml.txt +++ /dev/null @@ -1,177 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/test/userlib/openid4java-0.9.8.jar b/test/userlib/openid4java-0.9.8.jar new file mode 100644 index 0000000..5fe886f Binary files /dev/null and b/test/userlib/openid4java-0.9.8.jar differ diff --git a/test/userlib/openid4java-1.0.0.jar b/test/userlib/openid4java-1.0.0.jar new file mode 100644 index 0000000..447f6c6 Binary files /dev/null and b/test/userlib/openid4java-1.0.0.jar differ diff --git a/test/userlib/openid4java-1.0.0.jar.AppCloudServices.RequiredLib b/test/userlib/openid4java-1.0.0.jar.AppCloudServices.RequiredLib new file mode 100644 index 0000000..e69de29 diff --git a/test/userlib/org.apache.commons.fileupload-1.2.1.jar b/test/userlib/org.apache.commons.fileupload-1.2.1.jar deleted file mode 100644 index bd4cccd..0000000 Binary files a/test/userlib/org.apache.commons.fileupload-1.2.1.jar and /dev/null differ diff --git a/test/userlib/org.apache.commons.io-2.3.0.jar b/test/userlib/org.apache.commons.io-2.3.0.jar deleted file mode 100644 index 2b6deb4..0000000 Binary files a/test/userlib/org.apache.commons.io-2.3.0.jar and /dev/null differ diff --git a/test/userlib/org.apache.commons.lang3.jar b/test/userlib/org.apache.commons.lang3.jar deleted file mode 100644 index 5de04f9..0000000 Binary files a/test/userlib/org.apache.commons.lang3.jar and /dev/null differ diff --git a/test/userlib/org.apache.httpcomponents.httpclient-osgi.jar b/test/userlib/org.apache.httpcomponents.httpclient-osgi.jar new file mode 100644 index 0000000..63e6615 Binary files /dev/null and b/test/userlib/org.apache.httpcomponents.httpclient-osgi.jar differ diff --git a/test/userlib/org.apache.httpcomponents.httpclient-osgi.jar.AppCloudServices.RequiredLib b/test/userlib/org.apache.httpcomponents.httpclient-osgi.jar.AppCloudServices.RequiredLib new file mode 100644 index 0000000..e69de29 diff --git a/test/userlib/org.apache.httpcomponents.httpcore-osgi.jar b/test/userlib/org.apache.httpcomponents.httpcore-osgi.jar new file mode 100644 index 0000000..ba3854e Binary files /dev/null and b/test/userlib/org.apache.httpcomponents.httpcore-osgi.jar differ diff --git a/test/userlib/org.apache.httpcomponents.httpcore-osgi.jar.AppCloudServices.RequiredLib b/test/userlib/org.apache.httpcomponents.httpcore-osgi.jar.AppCloudServices.RequiredLib new file mode 100644 index 0000000..e69de29 diff --git a/test/userlib/org.apache.servicemix.bundles.avalon-framework-4.3.1.jar b/test/userlib/org.apache.servicemix.bundles.avalon-framework-4.3.1.jar deleted file mode 100644 index b1d5fd6..0000000 Binary files a/test/userlib/org.apache.servicemix.bundles.avalon-framework-4.3.1.jar and /dev/null differ diff --git a/test/userlib/org.apache.servicemix.bundles.batik-1.7.0.jar b/test/userlib/org.apache.servicemix.bundles.batik-1.7.0.jar deleted file mode 100644 index 28649a3..0000000 Binary files a/test/userlib/org.apache.servicemix.bundles.batik-1.7.0.jar and /dev/null differ diff --git a/test/userlib/org.apache.servicemix.bundles.commons-codec-1.3.0.jar b/test/userlib/org.apache.servicemix.bundles.commons-codec-1.3.0.jar deleted file mode 100644 index 5814863..0000000 Binary files a/test/userlib/org.apache.servicemix.bundles.commons-codec-1.3.0.jar and /dev/null differ diff --git a/test/userlib/org.apache.servicemix.bundles.xalan-2.7.1.jar b/test/userlib/org.apache.servicemix.bundles.xalan-2.7.1.jar deleted file mode 100644 index 1ed232c..0000000 Binary files a/test/userlib/org.apache.servicemix.bundles.xalan-2.7.1.jar and /dev/null differ diff --git a/test/userlib/org.apache.servicemix.bundles.xerces-2.11.0.jar b/test/userlib/org.apache.servicemix.bundles.xerces-2.11.0.jar deleted file mode 100644 index 7c910ec..0000000 Binary files a/test/userlib/org.apache.servicemix.bundles.xerces-2.11.0.jar and /dev/null differ diff --git a/test/userlib/org.glassfish.metro.webservices-api-osgi-2.2.0.jar b/test/userlib/org.glassfish.metro.webservices-api-osgi-2.2.0.jar deleted file mode 100644 index 56ef4be..0000000 Binary files a/test/userlib/org.glassfish.metro.webservices-api-osgi-2.2.0.jar and /dev/null differ diff --git a/test/userlib/pdfbox-1.8.5.jar b/test/userlib/pdfbox-1.8.5.jar deleted file mode 100644 index db95cc1..0000000 Binary files a/test/userlib/pdfbox-1.8.5.jar and /dev/null differ diff --git a/test/userlib/xml-apis-ext.jar b/test/userlib/xml-apis-ext.jar deleted file mode 100644 index a7869d6..0000000 Binary files a/test/userlib/xml-apis-ext.jar and /dev/null differ diff --git a/test/widgets/DynamicImage.mpk b/test/widgets/DynamicImage.mpk deleted file mode 100644 index 83326e6..0000000 Binary files a/test/widgets/DynamicImage.mpk and /dev/null differ diff --git a/test/widgets/FormLoader.mpk b/test/widgets/FormLoader.mpk deleted file mode 100644 index 48f2d81..0000000 Binary files a/test/widgets/FormLoader.mpk and /dev/null differ diff --git a/test/widgets/MendixAppCloudNavigation.mpk b/test/widgets/MendixAppCloudNavigation.mpk new file mode 100644 index 0000000..5bf816d Binary files /dev/null and b/test/widgets/MendixAppCloudNavigation.mpk differ diff --git a/test/widgets/MendixAppSwitcher.mpk b/test/widgets/MendixAppSwitcher.mpk new file mode 100644 index 0000000..5be9d3c Binary files /dev/null and b/test/widgets/MendixAppSwitcher.mpk differ diff --git a/test/widgets/MendixProfileMenu.mpk b/test/widgets/MendixProfileMenu.mpk new file mode 100644 index 0000000..113b00c Binary files /dev/null and b/test/widgets/MendixProfileMenu.mpk differ diff --git a/test/widgets/MicroflowTimer.mpk b/test/widgets/MicroflowTimer.mpk deleted file mode 100644 index c358dec..0000000 Binary files a/test/widgets/MicroflowTimer.mpk and /dev/null differ diff --git a/test/widgets/SprintrFeedbackWidget.mpk b/test/widgets/SprintrFeedbackWidget.mpk new file mode 100644 index 0000000..96dd6cc Binary files /dev/null and b/test/widgets/SprintrFeedbackWidget.mpk differ diff --git a/test/widgets/TooltipImage.mpk b/test/widgets/TooltipImage.mpk index 185b6bd..506f3ed 100644 Binary files a/test/widgets/TooltipImage.mpk and b/test/widgets/TooltipImage.mpk differ