From 2606a2739a6334c111062abee594ea16aa05cead Mon Sep 17 00:00:00 2001 From: Ozge Oneyman Date: Fri, 19 Jul 2024 17:00:01 +0200 Subject: [PATCH] [UIA-15] Add support for web push --- build.gradle | 2 +- package.json | 2 +- test/PushNotfications.mpr | Bin 27152384 -> 27668480 bytes .../RegisterForPushNotificationsWeb.js | 55 + .../proxies/constants/Constants.java | 25 - .../proxies/LoginContext.java | 326 ----- .../proxies/Enum_DistanceUnit.java | 32 - .../proxies/GeocodingProvider.java | 33 - .../nanoflowcommons/proxies/Geolocation.java | 465 ------- .../nanoflowcommons/proxies/Platform.java | 32 - .../nanoflowcommons/proxies/Position.java | 243 ---- .../proxies/constants/Constants.java | 25 - .../proxies/DeviceInfo.java | 1168 ----------------- .../proxies/Enum_PermissionStatus.java | 34 - .../proxies/Enum_Permissions.java | 79 -- .../proxies/ImageMetaData.java | 465 ------- .../InAppBrowserDismissButtonStyle.java | 32 - .../proxies/PictureQuality.java | 34 - .../proxies/PictureSource.java | 31 - .../proxies/StatusBarHideShowAnimation.java | 32 - .../proxies/StatusBarStyle.java | 32 - .../proxies/Test.java | 215 --- .../proxies/microflows/Microflows.java | 89 -- .../system/UserActionsRegistrar.java | 118 -- .../system/actions/VerifyPassword.java | 53 - test/theme/web/firebase-messaging-sw.js | 14 + test/theme/web/index.html | 47 + 27 files changed, 118 insertions(+), 3565 deletions(-) create mode 100644 test/javascriptsource/pushnotifications/actions/RegisterForPushNotificationsWeb.js delete mode 100644 test/javasource/atlas_nativemobile_content/proxies/constants/Constants.java delete mode 100644 test/javasource/atlas_web_content/proxies/LoginContext.java delete mode 100644 test/javasource/nanoflowcommons/proxies/Enum_DistanceUnit.java delete mode 100755 test/javasource/nanoflowcommons/proxies/GeocodingProvider.java delete mode 100755 test/javasource/nanoflowcommons/proxies/Geolocation.java delete mode 100755 test/javasource/nanoflowcommons/proxies/Platform.java delete mode 100755 test/javasource/nanoflowcommons/proxies/Position.java delete mode 100644 test/javasource/nanoflowcommons/proxies/constants/Constants.java delete mode 100755 test/javasource/nativemobileresources/proxies/DeviceInfo.java delete mode 100644 test/javasource/nativemobileresources/proxies/Enum_PermissionStatus.java delete mode 100644 test/javasource/nativemobileresources/proxies/Enum_Permissions.java delete mode 100644 test/javasource/nativemobileresources/proxies/ImageMetaData.java delete mode 100755 test/javasource/nativemobileresources/proxies/InAppBrowserDismissButtonStyle.java delete mode 100755 test/javasource/nativemobileresources/proxies/PictureQuality.java delete mode 100755 test/javasource/nativemobileresources/proxies/PictureSource.java delete mode 100755 test/javasource/nativemobileresources/proxies/StatusBarHideShowAnimation.java delete mode 100755 test/javasource/nativemobileresources/proxies/StatusBarStyle.java delete mode 100644 test/javasource/pushnotificationexampleimplementation/proxies/Test.java delete mode 100644 test/javasource/pushnotificationexampleimplementation/proxies/microflows/Microflows.java delete mode 100755 test/javasource/system/UserActionsRegistrar.java delete mode 100755 test/javasource/system/actions/VerifyPassword.java create mode 100644 test/theme/web/firebase-messaging-sw.js create mode 100644 test/theme/web/index.html diff --git a/build.gradle b/build.gradle index 7a359fd..ae081e8 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ apply plugin: 'org.owasp.dependencycheck' apply plugin: 'com.github.ben-manes.versions' project.ext { - PNC_VERSION = '7.3.0' + PNC_VERSION = '7.4.0' MXBUILD_VERSION = '9.24.0.2965' MODULE_NAME = 'PushNotifications' } diff --git a/package.json b/package.json index c16d65b..a53462d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "MxPushNotifications", - "version": "7.3.0", + "version": "7.4.0", "description": "Phonegap widget for notifications", "license": "Apache 2.0", "author": "Mendix Technology B.V.", diff --git a/test/PushNotfications.mpr b/test/PushNotfications.mpr index d5cd0b775166793dee5c41c2a31c99ee5c287028..e4564096d75ad936d08f286f6d5b676a7f7e7d13 100755 GIT binary patch delta 165362 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 >%G`EkR;g4}&mxu&t9Hmnr8I9sm60`;FionO+c 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

|c?Hw5ABXz4p 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ƿCy4!7CWiY3OmFUw`j%#10FE^ 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 Wn5mVY&DRsJvDuN#rKJWAN&Xj`T$PFd diff --git a/test/javascriptsource/pushnotifications/actions/RegisterForPushNotificationsWeb.js b/test/javascriptsource/pushnotifications/actions/RegisterForPushNotificationsWeb.js new file mode 100644 index 0000000..322404d --- /dev/null +++ b/test/javascriptsource/pushnotifications/actions/RegisterForPushNotificationsWeb.js @@ -0,0 +1,55 @@ +// This file was generated by Mendix Studio Pro. +// +// 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. +import "mx-global"; +import { Big } from "big.js"; + +// BEGIN EXTRA CODE +async function wait(timeout) { + return new Promise(resolve => setTimeout(resolve, timeout)) +} + +async function attemptWithRetries(retries, timeout, action) { + for (let trial = 0; trial < retries; trial++) { + try { + return await action(); + } catch (err) { + await wait(timeout); + } + } + return await action(); +} +// END EXTRA CODE + +/** + * @param {string} vapidKey + * @returns {Promise.} + */ +export async function RegisterForPushNotificationsWeb(vapidKey) { + // BEGIN USER CODE + if ("Notification" in window !== true) + throw new Error("Notification API not available."); + + if ("firebase" in window !== true) + throw new Error("Firebase API not available."); + + if (vapidKey === undefined || vapidKey === "") + throw new Error("VAPID (Voluntary Application Server Identification) key not available.") + + // Request permission + const permission = await Notification.requestPermission(); + if (permission !== "granted") + throw new Error("Permission to receive push notifications not granted.") + + // Get token + const messaging = firebase.messaging(); + const token = await attemptWithRetries(3, 1000, async () => await messaging.getToken({ vapidKey })); + + console.info("Registered for push notifications with token: " + token); + return token; + // END USER CODE +} diff --git a/test/javasource/atlas_nativemobile_content/proxies/constants/Constants.java b/test/javasource/atlas_nativemobile_content/proxies/constants/Constants.java deleted file mode 100644 index 5249782..0000000 --- a/test/javasource/atlas_nativemobile_content/proxies/constants/Constants.java +++ /dev/null @@ -1,25 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package atlas_nativemobile_content.proxies.constants; - -import com.mendix.core.Core; - -public class Constants -{ - /** - * @deprecated - * The default constructor of the Constants class should not be used. - * Use the static get methods instead. - */ - @java.lang.Deprecated(since = "9.12", forRemoval = true) - public Constants() {} - - // These are the constants for the Atlas_NativeMobile_Content module - - public static java.lang.String getAtlas_Native_Content_Version() - { - return (java.lang.String)Core.getConfiguration().getConstantValue("Atlas_NativeMobile_Content.Atlas_Native_Content_Version"); - } -} \ No newline at end of file diff --git a/test/javasource/atlas_web_content/proxies/LoginContext.java b/test/javasource/atlas_web_content/proxies/LoginContext.java deleted file mode 100644 index 82535e4..0000000 --- a/test/javasource/atlas_web_content/proxies/LoginContext.java +++ /dev/null @@ -1,326 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package atlas_web_content.proxies; - -public class LoginContext -{ - private final com.mendix.systemwideinterfaces.core.IMendixObject loginContextMendixObject; - - private final com.mendix.systemwideinterfaces.core.IContext context; - - /** - * Internal name of this entity - */ - public static final java.lang.String entityName = "Atlas_Web_Content.LoginContext"; - - /** - * Enum describing members of this entity - */ - public enum MemberNames - { - Username("Username"), - Password("Password"), - RememberMe("RememberMe"), - ValidationMessage("ValidationMessage"); - - private final java.lang.String metaName; - - MemberNames(java.lang.String s) - { - metaName = s; - } - - @java.lang.Override - public java.lang.String toString() - { - return metaName; - } - } - - public LoginContext(com.mendix.systemwideinterfaces.core.IContext context) - { - this(context, com.mendix.core.Core.instantiate(context, entityName)); - } - - protected LoginContext(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject loginContextMendixObject) - { - if (loginContextMendixObject == null) { - throw new java.lang.IllegalArgumentException("The given object cannot be null."); - } - if (!com.mendix.core.Core.isSubClassOf(entityName, loginContextMendixObject.getType())) { - throw new java.lang.IllegalArgumentException(String.format("The given object is not a %s", entityName)); - } - - this.loginContextMendixObject = loginContextMendixObject; - this.context = context; - } - - /** - * @deprecated Use 'LoginContext.load(IContext, IMendixIdentifier)' instead. - */ - @java.lang.Deprecated - public static atlas_web_content.proxies.LoginContext initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException - { - return atlas_web_content.proxies.LoginContext.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.createSudoClone() can be used to obtain sudo access). - * @param context The context to be used - * @param mendixObject The Mendix object for the new instance - * @return a new instance of this proxy class - */ - public static atlas_web_content.proxies.LoginContext initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) - { - return new atlas_web_content.proxies.LoginContext(context, mendixObject); - } - - public static atlas_web_content.proxies.LoginContext 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 atlas_web_content.proxies.LoginContext.initialize(context, mendixObject); - } - - public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException - { - return com.mendix.core.Core.createXPathQuery(String.format("//%1$s%2$s", entityName, xpathConstraint)) - .execute(context) - .stream() - .map(obj -> atlas_web_content.proxies.LoginContext.initialize(context, obj)) - .collect(java.util.stream.Collectors.toList()); - } - - /** - * Commit the changes made on this proxy object. - * @throws com.mendix.core.CoreException - */ - 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. - * @throws com.mendix.core.CoreException - */ - 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 Username - */ - public final java.lang.String getUsername() - { - return getUsername(getContext()); - } - - /** - * @param context - * @return value of Username - */ - public final java.lang.String getUsername(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Username.toString()); - } - - /** - * Set value of Username - * @param username - */ - public final void setUsername(java.lang.String username) - { - setUsername(getContext(), username); - } - - /** - * Set value of Username - * @param context - * @param username - */ - public final void setUsername(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String username) - { - getMendixObject().setValue(context, MemberNames.Username.toString(), username); - } - - /** - * @return value of Password - */ - public final java.lang.String getPassword() - { - return getPassword(getContext()); - } - - /** - * @param context - * @return value of Password - */ - public final java.lang.String getPassword(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Password.toString()); - } - - /** - * Set value of Password - * @param password - */ - public final void setPassword(java.lang.String password) - { - setPassword(getContext(), password); - } - - /** - * Set value of Password - * @param context - * @param password - */ - public final void setPassword(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String password) - { - getMendixObject().setValue(context, MemberNames.Password.toString(), password); - } - - /** - * @return value of RememberMe - */ - public final java.lang.Boolean getRememberMe() - { - return getRememberMe(getContext()); - } - - /** - * @param context - * @return value of RememberMe - */ - public final java.lang.Boolean getRememberMe(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.RememberMe.toString()); - } - - /** - * Set value of RememberMe - * @param rememberme - */ - public final void setRememberMe(java.lang.Boolean rememberme) - { - setRememberMe(getContext(), rememberme); - } - - /** - * Set value of RememberMe - * @param context - * @param rememberme - */ - public final void setRememberMe(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean rememberme) - { - getMendixObject().setValue(context, MemberNames.RememberMe.toString(), rememberme); - } - - /** - * @return value of ValidationMessage - */ - public final java.lang.String getValidationMessage() - { - return getValidationMessage(getContext()); - } - - /** - * @param context - * @return value of ValidationMessage - */ - public final java.lang.String getValidationMessage(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.ValidationMessage.toString()); - } - - /** - * Set value of ValidationMessage - * @param validationmessage - */ - public final void setValidationMessage(java.lang.String validationmessage) - { - setValidationMessage(getContext(), validationmessage); - } - - /** - * Set value of ValidationMessage - * @param context - * @param validationmessage - */ - public final void setValidationMessage(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String validationmessage) - { - getMendixObject().setValue(context, MemberNames.ValidationMessage.toString(), validationmessage); - } - - /** - * @return the IMendixObject instance of this proxy for use in the Core interface. - */ - public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() - { - return loginContextMendixObject; - } - - /** - * @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; - } - - @java.lang.Override - public boolean equals(Object obj) - { - if (obj == this) { - return true; - } - if (obj != null && getClass().equals(obj.getClass())) - { - final atlas_web_content.proxies.LoginContext that = (atlas_web_content.proxies.LoginContext) obj; - return getMendixObject().equals(that.getMendixObject()); - } - return false; - } - - @java.lang.Override - public int hashCode() - { - return getMendixObject().hashCode(); - } - - /** - * @return String name of this class - */ - public static java.lang.String getType() - { - return entityName; - } - - /** - * @return String GUID from this object, format: ID_0000000000 - * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. - */ - @java.lang.Deprecated - public java.lang.String getGUID() - { - return "ID_" + getMendixObject().getId().toLong(); - } -} diff --git a/test/javasource/nanoflowcommons/proxies/Enum_DistanceUnit.java b/test/javasource/nanoflowcommons/proxies/Enum_DistanceUnit.java deleted file mode 100644 index 34fd683..0000000 --- a/test/javasource/nanoflowcommons/proxies/Enum_DistanceUnit.java +++ /dev/null @@ -1,32 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nanoflowcommons.proxies; - -public enum Enum_DistanceUnit -{ - KILOMETER(new java.lang.String[][] { new java.lang.String[] { "en_US", "KILOMETER" } }), - STATUTE_MILE(new java.lang.String[][] { new java.lang.String[] { "en_US", "STATUTE_MILE" } }), - NAUTICAL_MILE(new java.lang.String[][] { new java.lang.String[] { "en_US", "NAUTICAL_MILE" } }); - - private final java.util.Map captions; - - private Enum_DistanceUnit(java.lang.String[][] captionStrings) - { - this.captions = new java.util.HashMap<>(); - for (java.lang.String[] captionString : captionStrings) { - captions.put(captionString[0], captionString[1]); - } - } - - public java.lang.String getCaption(java.lang.String languageCode) - { - return captions.getOrDefault(languageCode, "en_US"); - } - - public java.lang.String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/nanoflowcommons/proxies/GeocodingProvider.java b/test/javasource/nanoflowcommons/proxies/GeocodingProvider.java deleted file mode 100755 index b235020..0000000 --- a/test/javasource/nanoflowcommons/proxies/GeocodingProvider.java +++ /dev/null @@ -1,33 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nanoflowcommons.proxies; - -public enum GeocodingProvider -{ - Google(new java.lang.String[][] { new java.lang.String[] { "en_US", "Google" } }), - Geocodio(new java.lang.String[][] { new java.lang.String[] { "en_US", "Geocodio" } }), - LocationIQ(new java.lang.String[][] { new java.lang.String[] { "en_US", "LocationIQ" } }), - MapQuest(new java.lang.String[][] { new java.lang.String[] { "en_US", "MapQuest" } }); - - private final java.util.Map captions; - - private GeocodingProvider(java.lang.String[][] captionStrings) - { - this.captions = new java.util.HashMap<>(); - for (java.lang.String[] captionString : captionStrings) { - captions.put(captionString[0], captionString[1]); - } - } - - public java.lang.String getCaption(java.lang.String languageCode) - { - return captions.getOrDefault(languageCode, "en_US"); - } - - public java.lang.String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/nanoflowcommons/proxies/Geolocation.java b/test/javasource/nanoflowcommons/proxies/Geolocation.java deleted file mode 100755 index df8c09a..0000000 --- a/test/javasource/nanoflowcommons/proxies/Geolocation.java +++ /dev/null @@ -1,465 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nanoflowcommons.proxies; - -public class Geolocation -{ - private final com.mendix.systemwideinterfaces.core.IMendixObject geolocationMendixObject; - - private final com.mendix.systemwideinterfaces.core.IContext context; - - /** - * Internal name of this entity - */ - public static final java.lang.String entityName = "NanoflowCommons.Geolocation"; - - /** - * Enum describing members of this entity - */ - public enum MemberNames - { - Timestamp("Timestamp"), - Latitude("Latitude"), - Longitude("Longitude"), - Altitude("Altitude"), - Accuracy("Accuracy"), - AltitudeAccuracy("AltitudeAccuracy"), - Heading("Heading"), - Speed("Speed"); - - private final java.lang.String metaName; - - MemberNames(java.lang.String s) - { - metaName = s; - } - - @java.lang.Override - public java.lang.String toString() - { - return metaName; - } - } - - public Geolocation(com.mendix.systemwideinterfaces.core.IContext context) - { - this(context, com.mendix.core.Core.instantiate(context, entityName)); - } - - protected Geolocation(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject geolocationMendixObject) - { - if (geolocationMendixObject == null) { - throw new java.lang.IllegalArgumentException("The given object cannot be null."); - } - if (!com.mendix.core.Core.isSubClassOf(entityName, geolocationMendixObject.getType())) { - throw new java.lang.IllegalArgumentException(String.format("The given object is not a %s", entityName)); - } - - this.geolocationMendixObject = geolocationMendixObject; - this.context = context; - } - - /** - * @deprecated Use 'Geolocation.load(IContext, IMendixIdentifier)' instead. - */ - @java.lang.Deprecated - public static nanoflowcommons.proxies.Geolocation initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException - { - return nanoflowcommons.proxies.Geolocation.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.createSudoClone() can be used to obtain sudo access). - * @param context The context to be used - * @param mendixObject The Mendix object for the new instance - * @return a new instance of this proxy class - */ - public static nanoflowcommons.proxies.Geolocation initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) - { - return new nanoflowcommons.proxies.Geolocation(context, mendixObject); - } - - public static nanoflowcommons.proxies.Geolocation 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 nanoflowcommons.proxies.Geolocation.initialize(context, mendixObject); - } - - /** - * Commit the changes made on this proxy object. - * @throws com.mendix.core.CoreException - */ - 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. - * @throws com.mendix.core.CoreException - */ - 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 Timestamp - */ - public final java.util.Date getTimestamp() - { - return getTimestamp(getContext()); - } - - /** - * @param context - * @return value of Timestamp - */ - public final java.util.Date getTimestamp(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.util.Date) getMendixObject().getValue(context, MemberNames.Timestamp.toString()); - } - - /** - * Set value of Timestamp - * @param timestamp - */ - public final void setTimestamp(java.util.Date timestamp) - { - setTimestamp(getContext(), timestamp); - } - - /** - * Set value of Timestamp - * @param context - * @param timestamp - */ - public final void setTimestamp(com.mendix.systemwideinterfaces.core.IContext context, java.util.Date timestamp) - { - getMendixObject().setValue(context, MemberNames.Timestamp.toString(), timestamp); - } - - /** - * @return value of Latitude - */ - public final java.lang.String getLatitude() - { - return getLatitude(getContext()); - } - - /** - * @param context - * @return value of Latitude - */ - public final java.lang.String getLatitude(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Latitude.toString()); - } - - /** - * Set value of Latitude - * @param latitude - */ - public final void setLatitude(java.lang.String latitude) - { - setLatitude(getContext(), latitude); - } - - /** - * Set value of Latitude - * @param context - * @param latitude - */ - public final void setLatitude(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String latitude) - { - getMendixObject().setValue(context, MemberNames.Latitude.toString(), latitude); - } - - /** - * @return value of Longitude - */ - public final java.lang.String getLongitude() - { - return getLongitude(getContext()); - } - - /** - * @param context - * @return value of Longitude - */ - public final java.lang.String getLongitude(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Longitude.toString()); - } - - /** - * Set value of Longitude - * @param longitude - */ - public final void setLongitude(java.lang.String longitude) - { - setLongitude(getContext(), longitude); - } - - /** - * Set value of Longitude - * @param context - * @param longitude - */ - public final void setLongitude(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String longitude) - { - getMendixObject().setValue(context, MemberNames.Longitude.toString(), longitude); - } - - /** - * @return value of Altitude - */ - public final java.lang.String getAltitude() - { - return getAltitude(getContext()); - } - - /** - * @param context - * @return value of Altitude - */ - public final java.lang.String getAltitude(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Altitude.toString()); - } - - /** - * Set value of Altitude - * @param altitude - */ - public final void setAltitude(java.lang.String altitude) - { - setAltitude(getContext(), altitude); - } - - /** - * Set value of Altitude - * @param context - * @param altitude - */ - public final void setAltitude(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String altitude) - { - getMendixObject().setValue(context, MemberNames.Altitude.toString(), altitude); - } - - /** - * @return value of Accuracy - */ - public final java.lang.String getAccuracy() - { - return getAccuracy(getContext()); - } - - /** - * @param context - * @return value of Accuracy - */ - public final java.lang.String getAccuracy(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Accuracy.toString()); - } - - /** - * Set value of Accuracy - * @param accuracy - */ - public final void setAccuracy(java.lang.String accuracy) - { - setAccuracy(getContext(), accuracy); - } - - /** - * Set value of Accuracy - * @param context - * @param accuracy - */ - public final void setAccuracy(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String accuracy) - { - getMendixObject().setValue(context, MemberNames.Accuracy.toString(), accuracy); - } - - /** - * @return value of AltitudeAccuracy - */ - public final java.lang.String getAltitudeAccuracy() - { - return getAltitudeAccuracy(getContext()); - } - - /** - * @param context - * @return value of AltitudeAccuracy - */ - public final java.lang.String getAltitudeAccuracy(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.AltitudeAccuracy.toString()); - } - - /** - * Set value of AltitudeAccuracy - * @param altitudeaccuracy - */ - public final void setAltitudeAccuracy(java.lang.String altitudeaccuracy) - { - setAltitudeAccuracy(getContext(), altitudeaccuracy); - } - - /** - * Set value of AltitudeAccuracy - * @param context - * @param altitudeaccuracy - */ - public final void setAltitudeAccuracy(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String altitudeaccuracy) - { - getMendixObject().setValue(context, MemberNames.AltitudeAccuracy.toString(), altitudeaccuracy); - } - - /** - * @return value of Heading - */ - public final java.lang.String getHeading() - { - return getHeading(getContext()); - } - - /** - * @param context - * @return value of Heading - */ - public final java.lang.String getHeading(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Heading.toString()); - } - - /** - * Set value of Heading - * @param heading - */ - public final void setHeading(java.lang.String heading) - { - setHeading(getContext(), heading); - } - - /** - * Set value of Heading - * @param context - * @param heading - */ - public final void setHeading(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String heading) - { - getMendixObject().setValue(context, MemberNames.Heading.toString(), heading); - } - - /** - * @return value of Speed - */ - public final java.lang.String getSpeed() - { - return getSpeed(getContext()); - } - - /** - * @param context - * @return value of Speed - */ - public final java.lang.String getSpeed(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Speed.toString()); - } - - /** - * Set value of Speed - * @param speed - */ - public final void setSpeed(java.lang.String speed) - { - setSpeed(getContext(), speed); - } - - /** - * Set value of Speed - * @param context - * @param speed - */ - public final void setSpeed(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String speed) - { - getMendixObject().setValue(context, MemberNames.Speed.toString(), speed); - } - - /** - * @return the IMendixObject instance of this proxy for use in the Core interface. - */ - public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() - { - return geolocationMendixObject; - } - - /** - * @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; - } - - @java.lang.Override - public boolean equals(Object obj) - { - if (obj == this) { - return true; - } - if (obj != null && getClass().equals(obj.getClass())) - { - final nanoflowcommons.proxies.Geolocation that = (nanoflowcommons.proxies.Geolocation) obj; - return getMendixObject().equals(that.getMendixObject()); - } - return false; - } - - @java.lang.Override - public int hashCode() - { - return getMendixObject().hashCode(); - } - - /** - * @return String name of this class - */ - public static java.lang.String getType() - { - return entityName; - } - - /** - * @return String GUID from this object, format: ID_0000000000 - * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. - */ - @java.lang.Deprecated - public java.lang.String getGUID() - { - return "ID_" + getMendixObject().getId().toLong(); - } -} diff --git a/test/javasource/nanoflowcommons/proxies/Platform.java b/test/javasource/nanoflowcommons/proxies/Platform.java deleted file mode 100755 index 3b2f43e..0000000 --- a/test/javasource/nanoflowcommons/proxies/Platform.java +++ /dev/null @@ -1,32 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nanoflowcommons.proxies; - -public enum Platform -{ - Web(new java.lang.String[][] { new java.lang.String[] { "en_US", "Web" } }), - Native_mobile(new java.lang.String[][] { new java.lang.String[] { "en_US", "Native mobile" } }), - Hybrid_mobile(new java.lang.String[][] { new java.lang.String[] { "en_US", "Hybrid mobile" } }); - - private final java.util.Map captions; - - private Platform(java.lang.String[][] captionStrings) - { - this.captions = new java.util.HashMap<>(); - for (java.lang.String[] captionString : captionStrings) { - captions.put(captionString[0], captionString[1]); - } - } - - public java.lang.String getCaption(java.lang.String languageCode) - { - return captions.getOrDefault(languageCode, "en_US"); - } - - public java.lang.String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/nanoflowcommons/proxies/Position.java b/test/javasource/nanoflowcommons/proxies/Position.java deleted file mode 100755 index 559af97..0000000 --- a/test/javasource/nanoflowcommons/proxies/Position.java +++ /dev/null @@ -1,243 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nanoflowcommons.proxies; - -public class Position -{ - private final com.mendix.systemwideinterfaces.core.IMendixObject positionMendixObject; - - private final com.mendix.systemwideinterfaces.core.IContext context; - - /** - * Internal name of this entity - */ - public static final java.lang.String entityName = "NanoflowCommons.Position"; - - /** - * Enum describing members of this entity - */ - public enum MemberNames - { - Latitude("Latitude"), - Longitude("Longitude"); - - private final java.lang.String metaName; - - MemberNames(java.lang.String s) - { - metaName = s; - } - - @java.lang.Override - public java.lang.String toString() - { - return metaName; - } - } - - public Position(com.mendix.systemwideinterfaces.core.IContext context) - { - this(context, com.mendix.core.Core.instantiate(context, entityName)); - } - - protected Position(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject positionMendixObject) - { - if (positionMendixObject == null) { - throw new java.lang.IllegalArgumentException("The given object cannot be null."); - } - if (!com.mendix.core.Core.isSubClassOf(entityName, positionMendixObject.getType())) { - throw new java.lang.IllegalArgumentException(String.format("The given object is not a %s", entityName)); - } - - this.positionMendixObject = positionMendixObject; - this.context = context; - } - - /** - * @deprecated Use 'Position.load(IContext, IMendixIdentifier)' instead. - */ - @java.lang.Deprecated - public static nanoflowcommons.proxies.Position initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException - { - return nanoflowcommons.proxies.Position.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.createSudoClone() can be used to obtain sudo access). - * @param context The context to be used - * @param mendixObject The Mendix object for the new instance - * @return a new instance of this proxy class - */ - public static nanoflowcommons.proxies.Position initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) - { - return new nanoflowcommons.proxies.Position(context, mendixObject); - } - - public static nanoflowcommons.proxies.Position 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 nanoflowcommons.proxies.Position.initialize(context, mendixObject); - } - - /** - * Commit the changes made on this proxy object. - * @throws com.mendix.core.CoreException - */ - 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. - * @throws com.mendix.core.CoreException - */ - 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 Latitude - */ - public final java.lang.String getLatitude() - { - return getLatitude(getContext()); - } - - /** - * @param context - * @return value of Latitude - */ - public final java.lang.String getLatitude(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Latitude.toString()); - } - - /** - * Set value of Latitude - * @param latitude - */ - public final void setLatitude(java.lang.String latitude) - { - setLatitude(getContext(), latitude); - } - - /** - * Set value of Latitude - * @param context - * @param latitude - */ - public final void setLatitude(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String latitude) - { - getMendixObject().setValue(context, MemberNames.Latitude.toString(), latitude); - } - - /** - * @return value of Longitude - */ - public final java.lang.String getLongitude() - { - return getLongitude(getContext()); - } - - /** - * @param context - * @return value of Longitude - */ - public final java.lang.String getLongitude(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Longitude.toString()); - } - - /** - * Set value of Longitude - * @param longitude - */ - public final void setLongitude(java.lang.String longitude) - { - setLongitude(getContext(), longitude); - } - - /** - * Set value of Longitude - * @param context - * @param longitude - */ - public final void setLongitude(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String longitude) - { - getMendixObject().setValue(context, MemberNames.Longitude.toString(), longitude); - } - - /** - * @return the IMendixObject instance of this proxy for use in the Core interface. - */ - public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() - { - return positionMendixObject; - } - - /** - * @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; - } - - @java.lang.Override - public boolean equals(Object obj) - { - if (obj == this) { - return true; - } - if (obj != null && getClass().equals(obj.getClass())) - { - final nanoflowcommons.proxies.Position that = (nanoflowcommons.proxies.Position) obj; - return getMendixObject().equals(that.getMendixObject()); - } - return false; - } - - @java.lang.Override - public int hashCode() - { - return getMendixObject().hashCode(); - } - - /** - * @return String name of this class - */ - public static java.lang.String getType() - { - return entityName; - } - - /** - * @return String GUID from this object, format: ID_0000000000 - * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. - */ - @java.lang.Deprecated - public java.lang.String getGUID() - { - return "ID_" + getMendixObject().getId().toLong(); - } -} diff --git a/test/javasource/nanoflowcommons/proxies/constants/Constants.java b/test/javasource/nanoflowcommons/proxies/constants/Constants.java deleted file mode 100644 index 3b1cfcd..0000000 --- a/test/javasource/nanoflowcommons/proxies/constants/Constants.java +++ /dev/null @@ -1,25 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nanoflowcommons.proxies.constants; - -import com.mendix.core.Core; - -public class Constants -{ - /** - * @deprecated - * The default constructor of the Constants class should not be used. - * Use the static get methods instead. - */ - @java.lang.Deprecated(since = "9.12", forRemoval = true) - public Constants() {} - - // These are the constants for the NanoflowCommons module - - public static java.lang.String getNanoflow_Commons_Version() - { - return (java.lang.String)Core.getConfiguration().getConstantValue("NanoflowCommons.Nanoflow_Commons_Version"); - } -} \ No newline at end of file diff --git a/test/javasource/nativemobileresources/proxies/DeviceInfo.java b/test/javasource/nativemobileresources/proxies/DeviceInfo.java deleted file mode 100755 index 597cf5b..0000000 --- a/test/javasource/nativemobileresources/proxies/DeviceInfo.java +++ /dev/null @@ -1,1168 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nativemobileresources.proxies; - -public class DeviceInfo -{ - private final com.mendix.systemwideinterfaces.core.IMendixObject deviceInfoMendixObject; - - private final com.mendix.systemwideinterfaces.core.IContext context; - - /** - * Internal name of this entity - */ - public static final java.lang.String entityName = "NativeMobileResources.DeviceInfo"; - - /** - * Enum describing members of this entity - */ - public enum MemberNames - { - ApplicationName("ApplicationName"), - BatteryLevel("BatteryLevel"), - Brand("Brand"), - BuildNumber("BuildNumber"), - BundleId("BundleId"), - Carrier("Carrier"), - DeviceCountry("DeviceCountry"), - DeviceId("DeviceId"), - DeviceLocale("DeviceLocale"), - FontScale("FontScale"), - FreeDiskStorage("FreeDiskStorage"), - Manufacturer("Manufacturer"), - Model("Model"), - ReadableVersion("ReadableVersion"), - SystemName("SystemName"), - SystemVersion("SystemVersion"), - Timezone("Timezone"), - TotalDiskCapacity("TotalDiskCapacity"), - TotalMemory("TotalMemory"), - UniqueId("UniqueId"), - UserAgent("UserAgent"), - Version("Version"), - Is24Hour("Is24Hour"), - IsEmulator("IsEmulator"), - IsTablet("IsTablet"), - IsLandscape("IsLandscape"), - HasNotch("HasNotch"); - - private final java.lang.String metaName; - - MemberNames(java.lang.String s) - { - metaName = s; - } - - @java.lang.Override - public java.lang.String toString() - { - return metaName; - } - } - - public DeviceInfo(com.mendix.systemwideinterfaces.core.IContext context) - { - this(context, com.mendix.core.Core.instantiate(context, entityName)); - } - - protected DeviceInfo(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject deviceInfoMendixObject) - { - if (deviceInfoMendixObject == null) { - throw new java.lang.IllegalArgumentException("The given object cannot be null."); - } - if (!com.mendix.core.Core.isSubClassOf(entityName, deviceInfoMendixObject.getType())) { - throw new java.lang.IllegalArgumentException(String.format("The given object is not a %s", entityName)); - } - - this.deviceInfoMendixObject = deviceInfoMendixObject; - this.context = context; - } - - /** - * @deprecated Use 'DeviceInfo.load(IContext, IMendixIdentifier)' instead. - */ - @java.lang.Deprecated - public static nativemobileresources.proxies.DeviceInfo initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException - { - return nativemobileresources.proxies.DeviceInfo.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.createSudoClone() can be used to obtain sudo access). - * @param context The context to be used - * @param mendixObject The Mendix object for the new instance - * @return a new instance of this proxy class - */ - public static nativemobileresources.proxies.DeviceInfo initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) - { - return new nativemobileresources.proxies.DeviceInfo(context, mendixObject); - } - - public static nativemobileresources.proxies.DeviceInfo 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 nativemobileresources.proxies.DeviceInfo.initialize(context, mendixObject); - } - - /** - * Commit the changes made on this proxy object. - * @throws com.mendix.core.CoreException - */ - 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. - * @throws com.mendix.core.CoreException - */ - 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 ApplicationName - */ - public final java.lang.String getApplicationName() - { - return getApplicationName(getContext()); - } - - /** - * @param context - * @return value of ApplicationName - */ - public final java.lang.String getApplicationName(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.ApplicationName.toString()); - } - - /** - * Set value of ApplicationName - * @param applicationname - */ - public final void setApplicationName(java.lang.String applicationname) - { - setApplicationName(getContext(), applicationname); - } - - /** - * Set value of ApplicationName - * @param context - * @param applicationname - */ - public final void setApplicationName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String applicationname) - { - getMendixObject().setValue(context, MemberNames.ApplicationName.toString(), applicationname); - } - - /** - * @return value of BatteryLevel - */ - public final java.math.BigDecimal getBatteryLevel() - { - return getBatteryLevel(getContext()); - } - - /** - * @param context - * @return value of BatteryLevel - */ - public final java.math.BigDecimal getBatteryLevel(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.math.BigDecimal) getMendixObject().getValue(context, MemberNames.BatteryLevel.toString()); - } - - /** - * Set value of BatteryLevel - * @param batterylevel - */ - public final void setBatteryLevel(java.math.BigDecimal batterylevel) - { - setBatteryLevel(getContext(), batterylevel); - } - - /** - * Set value of BatteryLevel - * @param context - * @param batterylevel - */ - public final void setBatteryLevel(com.mendix.systemwideinterfaces.core.IContext context, java.math.BigDecimal batterylevel) - { - getMendixObject().setValue(context, MemberNames.BatteryLevel.toString(), batterylevel); - } - - /** - * @return value of Brand - */ - public final java.lang.String getBrand() - { - return getBrand(getContext()); - } - - /** - * @param context - * @return value of Brand - */ - public final java.lang.String getBrand(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Brand.toString()); - } - - /** - * Set value of Brand - * @param brand - */ - public final void setBrand(java.lang.String brand) - { - setBrand(getContext(), brand); - } - - /** - * Set value of Brand - * @param context - * @param brand - */ - public final void setBrand(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String brand) - { - getMendixObject().setValue(context, MemberNames.Brand.toString(), brand); - } - - /** - * @return value of BuildNumber - */ - public final java.lang.String getBuildNumber() - { - return getBuildNumber(getContext()); - } - - /** - * @param context - * @return value of BuildNumber - */ - public final java.lang.String getBuildNumber(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.BuildNumber.toString()); - } - - /** - * Set value of BuildNumber - * @param buildnumber - */ - public final void setBuildNumber(java.lang.String buildnumber) - { - setBuildNumber(getContext(), buildnumber); - } - - /** - * Set value of BuildNumber - * @param context - * @param buildnumber - */ - public final void setBuildNumber(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String buildnumber) - { - getMendixObject().setValue(context, MemberNames.BuildNumber.toString(), buildnumber); - } - - /** - * @return value of BundleId - */ - public final java.lang.String getBundleId() - { - return getBundleId(getContext()); - } - - /** - * @param context - * @return value of BundleId - */ - public final java.lang.String getBundleId(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.BundleId.toString()); - } - - /** - * Set value of BundleId - * @param bundleid - */ - public final void setBundleId(java.lang.String bundleid) - { - setBundleId(getContext(), bundleid); - } - - /** - * Set value of BundleId - * @param context - * @param bundleid - */ - public final void setBundleId(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String bundleid) - { - getMendixObject().setValue(context, MemberNames.BundleId.toString(), bundleid); - } - - /** - * @return value of Carrier - */ - public final java.lang.String getCarrier() - { - return getCarrier(getContext()); - } - - /** - * @param context - * @return value of Carrier - */ - public final java.lang.String getCarrier(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Carrier.toString()); - } - - /** - * Set value of Carrier - * @param carrier - */ - public final void setCarrier(java.lang.String carrier) - { - setCarrier(getContext(), carrier); - } - - /** - * Set value of Carrier - * @param context - * @param carrier - */ - public final void setCarrier(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String carrier) - { - getMendixObject().setValue(context, MemberNames.Carrier.toString(), carrier); - } - - /** - * @return value of DeviceCountry - */ - public final java.lang.String getDeviceCountry() - { - return getDeviceCountry(getContext()); - } - - /** - * @param context - * @return value of DeviceCountry - */ - public final java.lang.String getDeviceCountry(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.DeviceCountry.toString()); - } - - /** - * Set value of DeviceCountry - * @param devicecountry - */ - public final void setDeviceCountry(java.lang.String devicecountry) - { - setDeviceCountry(getContext(), devicecountry); - } - - /** - * Set value of DeviceCountry - * @param context - * @param devicecountry - */ - public final void setDeviceCountry(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String devicecountry) - { - getMendixObject().setValue(context, MemberNames.DeviceCountry.toString(), devicecountry); - } - - /** - * @return value of DeviceId - */ - public final java.lang.String getDeviceId() - { - return getDeviceId(getContext()); - } - - /** - * @param context - * @return value of DeviceId - */ - public final java.lang.String getDeviceId(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.DeviceId.toString()); - } - - /** - * Set value of DeviceId - * @param deviceid - */ - public final void setDeviceId(java.lang.String deviceid) - { - setDeviceId(getContext(), deviceid); - } - - /** - * Set value of DeviceId - * @param context - * @param deviceid - */ - public final void setDeviceId(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String deviceid) - { - getMendixObject().setValue(context, MemberNames.DeviceId.toString(), deviceid); - } - - /** - * @return value of DeviceLocale - */ - public final java.lang.String getDeviceLocale() - { - return getDeviceLocale(getContext()); - } - - /** - * @param context - * @return value of DeviceLocale - */ - public final java.lang.String getDeviceLocale(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.DeviceLocale.toString()); - } - - /** - * Set value of DeviceLocale - * @param devicelocale - */ - public final void setDeviceLocale(java.lang.String devicelocale) - { - setDeviceLocale(getContext(), devicelocale); - } - - /** - * Set value of DeviceLocale - * @param context - * @param devicelocale - */ - public final void setDeviceLocale(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String devicelocale) - { - getMendixObject().setValue(context, MemberNames.DeviceLocale.toString(), devicelocale); - } - - /** - * @return value of FontScale - */ - public final java.math.BigDecimal getFontScale() - { - return getFontScale(getContext()); - } - - /** - * @param context - * @return value of FontScale - */ - public final java.math.BigDecimal getFontScale(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.math.BigDecimal) getMendixObject().getValue(context, MemberNames.FontScale.toString()); - } - - /** - * Set value of FontScale - * @param fontscale - */ - public final void setFontScale(java.math.BigDecimal fontscale) - { - setFontScale(getContext(), fontscale); - } - - /** - * Set value of FontScale - * @param context - * @param fontscale - */ - public final void setFontScale(com.mendix.systemwideinterfaces.core.IContext context, java.math.BigDecimal fontscale) - { - getMendixObject().setValue(context, MemberNames.FontScale.toString(), fontscale); - } - - /** - * @return value of FreeDiskStorage - */ - public final java.lang.Long getFreeDiskStorage() - { - return getFreeDiskStorage(getContext()); - } - - /** - * @param context - * @return value of FreeDiskStorage - */ - public final java.lang.Long getFreeDiskStorage(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Long) getMendixObject().getValue(context, MemberNames.FreeDiskStorage.toString()); - } - - /** - * Set value of FreeDiskStorage - * @param freediskstorage - */ - public final void setFreeDiskStorage(java.lang.Long freediskstorage) - { - setFreeDiskStorage(getContext(), freediskstorage); - } - - /** - * Set value of FreeDiskStorage - * @param context - * @param freediskstorage - */ - public final void setFreeDiskStorage(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Long freediskstorage) - { - getMendixObject().setValue(context, MemberNames.FreeDiskStorage.toString(), freediskstorage); - } - - /** - * @return value of Manufacturer - */ - public final java.lang.String getManufacturer() - { - return getManufacturer(getContext()); - } - - /** - * @param context - * @return value of Manufacturer - */ - public final java.lang.String getManufacturer(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Manufacturer.toString()); - } - - /** - * Set value of Manufacturer - * @param manufacturer - */ - public final void setManufacturer(java.lang.String manufacturer) - { - setManufacturer(getContext(), manufacturer); - } - - /** - * Set value of Manufacturer - * @param context - * @param manufacturer - */ - public final void setManufacturer(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String manufacturer) - { - getMendixObject().setValue(context, MemberNames.Manufacturer.toString(), manufacturer); - } - - /** - * @return value of Model - */ - public final java.lang.String getModel() - { - return getModel(getContext()); - } - - /** - * @param context - * @return value of Model - */ - public final java.lang.String getModel(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Model.toString()); - } - - /** - * Set value of Model - * @param model - */ - public final void setModel(java.lang.String model) - { - setModel(getContext(), model); - } - - /** - * Set value of Model - * @param context - * @param model - */ - public final void setModel(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String model) - { - getMendixObject().setValue(context, MemberNames.Model.toString(), model); - } - - /** - * @return value of ReadableVersion - */ - public final java.lang.String getReadableVersion() - { - return getReadableVersion(getContext()); - } - - /** - * @param context - * @return value of ReadableVersion - */ - public final java.lang.String getReadableVersion(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.ReadableVersion.toString()); - } - - /** - * Set value of ReadableVersion - * @param readableversion - */ - public final void setReadableVersion(java.lang.String readableversion) - { - setReadableVersion(getContext(), readableversion); - } - - /** - * Set value of ReadableVersion - * @param context - * @param readableversion - */ - public final void setReadableVersion(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String readableversion) - { - getMendixObject().setValue(context, MemberNames.ReadableVersion.toString(), readableversion); - } - - /** - * @return value of SystemName - */ - public final java.lang.String getSystemName() - { - return getSystemName(getContext()); - } - - /** - * @param context - * @return value of SystemName - */ - public final java.lang.String getSystemName(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.SystemName.toString()); - } - - /** - * Set value of SystemName - * @param systemname - */ - public final void setSystemName(java.lang.String systemname) - { - setSystemName(getContext(), systemname); - } - - /** - * Set value of SystemName - * @param context - * @param systemname - */ - public final void setSystemName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String systemname) - { - getMendixObject().setValue(context, MemberNames.SystemName.toString(), systemname); - } - - /** - * @return value of SystemVersion - */ - public final java.lang.String getSystemVersion() - { - return getSystemVersion(getContext()); - } - - /** - * @param context - * @return value of SystemVersion - */ - public final java.lang.String getSystemVersion(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.SystemVersion.toString()); - } - - /** - * Set value of SystemVersion - * @param systemversion - */ - public final void setSystemVersion(java.lang.String systemversion) - { - setSystemVersion(getContext(), systemversion); - } - - /** - * Set value of SystemVersion - * @param context - * @param systemversion - */ - public final void setSystemVersion(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String systemversion) - { - getMendixObject().setValue(context, MemberNames.SystemVersion.toString(), systemversion); - } - - /** - * @return value of Timezone - */ - public final java.lang.String getTimezone() - { - return getTimezone(getContext()); - } - - /** - * @param context - * @return value of Timezone - */ - public final java.lang.String getTimezone(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Timezone.toString()); - } - - /** - * Set value of Timezone - * @param timezone - */ - public final void setTimezone(java.lang.String timezone) - { - setTimezone(getContext(), timezone); - } - - /** - * Set value of Timezone - * @param context - * @param timezone - */ - public final void setTimezone(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String timezone) - { - getMendixObject().setValue(context, MemberNames.Timezone.toString(), timezone); - } - - /** - * @return value of TotalDiskCapacity - */ - public final java.lang.Long getTotalDiskCapacity() - { - return getTotalDiskCapacity(getContext()); - } - - /** - * @param context - * @return value of TotalDiskCapacity - */ - public final java.lang.Long getTotalDiskCapacity(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Long) getMendixObject().getValue(context, MemberNames.TotalDiskCapacity.toString()); - } - - /** - * Set value of TotalDiskCapacity - * @param totaldiskcapacity - */ - public final void setTotalDiskCapacity(java.lang.Long totaldiskcapacity) - { - setTotalDiskCapacity(getContext(), totaldiskcapacity); - } - - /** - * Set value of TotalDiskCapacity - * @param context - * @param totaldiskcapacity - */ - public final void setTotalDiskCapacity(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Long totaldiskcapacity) - { - getMendixObject().setValue(context, MemberNames.TotalDiskCapacity.toString(), totaldiskcapacity); - } - - /** - * @return value of TotalMemory - */ - public final java.lang.Long getTotalMemory() - { - return getTotalMemory(getContext()); - } - - /** - * @param context - * @return value of TotalMemory - */ - public final java.lang.Long getTotalMemory(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Long) getMendixObject().getValue(context, MemberNames.TotalMemory.toString()); - } - - /** - * Set value of TotalMemory - * @param totalmemory - */ - public final void setTotalMemory(java.lang.Long totalmemory) - { - setTotalMemory(getContext(), totalmemory); - } - - /** - * Set value of TotalMemory - * @param context - * @param totalmemory - */ - public final void setTotalMemory(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Long totalmemory) - { - getMendixObject().setValue(context, MemberNames.TotalMemory.toString(), totalmemory); - } - - /** - * @return value of UniqueId - */ - public final java.lang.String getUniqueId() - { - return getUniqueId(getContext()); - } - - /** - * @param context - * @return value of UniqueId - */ - public final java.lang.String getUniqueId(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.UniqueId.toString()); - } - - /** - * Set value of UniqueId - * @param uniqueid - */ - public final void setUniqueId(java.lang.String uniqueid) - { - setUniqueId(getContext(), uniqueid); - } - - /** - * Set value of UniqueId - * @param context - * @param uniqueid - */ - public final void setUniqueId(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String uniqueid) - { - getMendixObject().setValue(context, MemberNames.UniqueId.toString(), uniqueid); - } - - /** - * @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 Version - */ - public final java.lang.String getVersion() - { - return getVersion(getContext()); - } - - /** - * @param context - * @return value of Version - */ - public final java.lang.String getVersion(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Version.toString()); - } - - /** - * Set value of Version - * @param version - */ - public final void setVersion(java.lang.String version) - { - setVersion(getContext(), version); - } - - /** - * Set value of Version - * @param context - * @param version - */ - public final void setVersion(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String version) - { - getMendixObject().setValue(context, MemberNames.Version.toString(), version); - } - - /** - * @return value of Is24Hour - */ - public final java.lang.Boolean getIs24Hour() - { - return getIs24Hour(getContext()); - } - - /** - * @param context - * @return value of Is24Hour - */ - public final java.lang.Boolean getIs24Hour(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.Is24Hour.toString()); - } - - /** - * Set value of Is24Hour - * @param is24hour - */ - public final void setIs24Hour(java.lang.Boolean is24hour) - { - setIs24Hour(getContext(), is24hour); - } - - /** - * Set value of Is24Hour - * @param context - * @param is24hour - */ - public final void setIs24Hour(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean is24hour) - { - getMendixObject().setValue(context, MemberNames.Is24Hour.toString(), is24hour); - } - - /** - * @return value of IsEmulator - */ - public final java.lang.Boolean getIsEmulator() - { - return getIsEmulator(getContext()); - } - - /** - * @param context - * @return value of IsEmulator - */ - public final java.lang.Boolean getIsEmulator(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.IsEmulator.toString()); - } - - /** - * Set value of IsEmulator - * @param isemulator - */ - public final void setIsEmulator(java.lang.Boolean isemulator) - { - setIsEmulator(getContext(), isemulator); - } - - /** - * Set value of IsEmulator - * @param context - * @param isemulator - */ - public final void setIsEmulator(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean isemulator) - { - getMendixObject().setValue(context, MemberNames.IsEmulator.toString(), isemulator); - } - - /** - * @return value of IsTablet - */ - public final java.lang.Boolean getIsTablet() - { - return getIsTablet(getContext()); - } - - /** - * @param context - * @return value of IsTablet - */ - public final java.lang.Boolean getIsTablet(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.IsTablet.toString()); - } - - /** - * Set value of IsTablet - * @param istablet - */ - public final void setIsTablet(java.lang.Boolean istablet) - { - setIsTablet(getContext(), istablet); - } - - /** - * Set value of IsTablet - * @param context - * @param istablet - */ - public final void setIsTablet(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean istablet) - { - getMendixObject().setValue(context, MemberNames.IsTablet.toString(), istablet); - } - - /** - * @return value of IsLandscape - */ - public final java.lang.Boolean getIsLandscape() - { - return getIsLandscape(getContext()); - } - - /** - * @param context - * @return value of IsLandscape - */ - public final java.lang.Boolean getIsLandscape(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.IsLandscape.toString()); - } - - /** - * Set value of IsLandscape - * @param islandscape - */ - public final void setIsLandscape(java.lang.Boolean islandscape) - { - setIsLandscape(getContext(), islandscape); - } - - /** - * Set value of IsLandscape - * @param context - * @param islandscape - */ - public final void setIsLandscape(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean islandscape) - { - getMendixObject().setValue(context, MemberNames.IsLandscape.toString(), islandscape); - } - - /** - * @return value of HasNotch - */ - public final java.lang.Boolean getHasNotch() - { - return getHasNotch(getContext()); - } - - /** - * @param context - * @return value of HasNotch - */ - public final java.lang.Boolean getHasNotch(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.HasNotch.toString()); - } - - /** - * Set value of HasNotch - * @param hasnotch - */ - public final void setHasNotch(java.lang.Boolean hasnotch) - { - setHasNotch(getContext(), hasnotch); - } - - /** - * Set value of HasNotch - * @param context - * @param hasnotch - */ - public final void setHasNotch(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean hasnotch) - { - getMendixObject().setValue(context, MemberNames.HasNotch.toString(), hasnotch); - } - - /** - * @return the IMendixObject instance of this proxy for use in the Core interface. - */ - public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() - { - return deviceInfoMendixObject; - } - - /** - * @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; - } - - @java.lang.Override - public boolean equals(Object obj) - { - if (obj == this) { - return true; - } - if (obj != null && getClass().equals(obj.getClass())) - { - final nativemobileresources.proxies.DeviceInfo that = (nativemobileresources.proxies.DeviceInfo) obj; - return getMendixObject().equals(that.getMendixObject()); - } - return false; - } - - @java.lang.Override - public int hashCode() - { - return getMendixObject().hashCode(); - } - - /** - * @return String name of this class - */ - public static java.lang.String getType() - { - return entityName; - } - - /** - * @return String GUID from this object, format: ID_0000000000 - * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. - */ - @java.lang.Deprecated - public java.lang.String getGUID() - { - return "ID_" + getMendixObject().getId().toLong(); - } -} diff --git a/test/javasource/nativemobileresources/proxies/Enum_PermissionStatus.java b/test/javasource/nativemobileresources/proxies/Enum_PermissionStatus.java deleted file mode 100644 index c5aa5b1..0000000 --- a/test/javasource/nativemobileresources/proxies/Enum_PermissionStatus.java +++ /dev/null @@ -1,34 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nativemobileresources.proxies; - -public enum Enum_PermissionStatus -{ - unavailable(new java.lang.String[][] { new java.lang.String[] { "en_US", "Unavailable" } }), - denied(new java.lang.String[][] { new java.lang.String[] { "en_US", "Denied" } }), - limited(new java.lang.String[][] { new java.lang.String[] { "en_US", "Limited" } }), - granted(new java.lang.String[][] { new java.lang.String[] { "en_US", "Granted" } }), - blocked(new java.lang.String[][] { new java.lang.String[] { "en_US", "Blocked" } }); - - private final java.util.Map captions; - - private Enum_PermissionStatus(java.lang.String[][] captionStrings) - { - this.captions = new java.util.HashMap<>(); - for (java.lang.String[] captionString : captionStrings) { - captions.put(captionString[0], captionString[1]); - } - } - - public java.lang.String getCaption(java.lang.String languageCode) - { - return captions.getOrDefault(languageCode, "en_US"); - } - - public java.lang.String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/nativemobileresources/proxies/Enum_Permissions.java b/test/javasource/nativemobileresources/proxies/Enum_Permissions.java deleted file mode 100644 index fd2a7e7..0000000 --- a/test/javasource/nativemobileresources/proxies/Enum_Permissions.java +++ /dev/null @@ -1,79 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nativemobileresources.proxies; - -public enum Enum_Permissions -{ - APP_TRACKING_TRANSPARENCY_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "APP_TRACKING_TRANSPARENCY_IOS" } }), - BLUETOOTH_PERIPHERAL_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "BLUETOOTH_PERIPHERAL_IOS" } }), - CAMERA_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "CAMERA_IOS" } }), - CALENDARS_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "CALENDARS_IOS" } }), - CONTACTS_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "CONTACTS_IOS" } }), - FACE_ID_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "FACE_ID_IOS" } }), - LOCATION_ALWAYS_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "LOCATION_ALWAYS_IOS" } }), - LOCATION_WHEN_IN_USE_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "LOCATION_WHEN_IN_USE_IOS" } }), - MEDIA_LIBRARY_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "MEDIA_LIBRARY_IOS" } }), - MICROPHONE_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "MICROPHONE_IOS" } }), - MOTION_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "MOTION_IOS" } }), - PHOTO_LIBRARY_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "PHOTO_LIBRARY_IOS" } }), - PHOTO_LIBRARY_ADD_ONLY_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "PHOTO_LIBRARY_ADD_ONLY_IOS" } }), - REMINDERS_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "REMINDERS_IOS" } }), - SIRI_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "SIRI_IOS" } }), - SPEECH_RECOGNITION_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "SPEECH_RECOGNITION_IOS" } }), - STOREKIT_IOS(new java.lang.String[][] { new java.lang.String[] { "en_US", "STOREKIT_IOS" } }), - ACCEPT_HANDOVER_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "ACCEPT_HANDOVER_ANDROID" } }), - ACCESS_BACKGROUND_LOCATION_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "ACCESS_BACKGROUND_LOCATION_ANDROID" } }), - ACCESS_COARSE_LOCATION_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "ACCESS_COARSE_LOCATION_ANDROID" } }), - ACCESS_FINE_LOCATION_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "ACCESS_FINE_LOCATION_ANDROID" } }), - ACCESS_MEDIA_LOCATION_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "ACCESS_MEDIA_LOCATION_ANDROID" } }), - ACTIVITY_RECOGNITION_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "ACTIVITY_RECOGNITION_ANDROID" } }), - ADD_VOICEMAIL_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "ADD_VOICEMAIL_ANDROID" } }), - ANSWER_PHONE_CALLS_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "ANSWER_PHONE_CALLS_ANDROID" } }), - BLUETOOTH_ADVERTISE_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "BLUETOOTH_ADVERTISE_ANDROID" } }), - BLUETOOTH_CONNECT_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "BLUETOOTH_CONNECT_ANDROID" } }), - BLUETOOTH_SCAN_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "BLUETOOTH_SCAN_ANDROID" } }), - BODY_SENSORS_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "BODY_SENSORS_ANDROID" } }), - CALL_PHONE_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "CALL_PHONE_ANDROID" } }), - CAMERA_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "CAMERA_ANDROID" } }), - GET_ACCOUNTS_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "GET_ACCOUNTS_ANDROID" } }), - PROCESS_OUTGOING_CALLS_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "PROCESS_OUTGOING_CALLS_ANDROID" } }), - READ_CALENDAR_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "READ_CALENDAR_ANDROID" } }), - READ_CALL_LOG_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "READ_CALL_LOG_ANDROID" } }), - READ_CONTACTS_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "READ_CONTACTS_ANDROID" } }), - READ_EXTERNAL_STORAGE_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "READ_EXTERNAL_STORAGE_ANDROID" } }), - READ_PHONE_NUMBERS_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "READ_PHONE_NUMBERS_ANDROID" } }), - READ_PHONE_STATE_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "READ_PHONE_STATE_ANDROID" } }), - READ_SMS_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "READ_SMS_ANDROID" } }), - RECEIVE_MMS_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "RECEIVE_MMS_ANDROID" } }), - RECEIVE_SMS_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "RECEIVE_SMS_ANDROID" } }), - RECEIVE_WAP_PUSH_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "RECEIVE_WAP_PUSH_ANDROID" } }), - RECORD_AUDIO_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "RECORD_AUDIO_ANDROID" } }), - SEND_SMS_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "SEND_SMS_ANDROID" } }), - USE_SIP_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "USE_SIP_ANDROID" } }), - WRITE_CALENDAR_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "WRITE_CALENDAR_ANDROID" } }), - WRITE_CALL_LOG_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "WRITE_CALL_LOG_ANDROID" } }), - WRITE_CONTACTS_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "WRITE_CONTACTS_ANDROID" } }), - WRITE_EXTERNAL_STORAGE_ANDROID(new java.lang.String[][] { new java.lang.String[] { "en_US", "WRITE_EXTERNAL_STORAGE_ANDROID" } }); - - private final java.util.Map captions; - - private Enum_Permissions(java.lang.String[][] captionStrings) - { - this.captions = new java.util.HashMap<>(); - for (java.lang.String[] captionString : captionStrings) { - captions.put(captionString[0], captionString[1]); - } - } - - public java.lang.String getCaption(java.lang.String languageCode) - { - return captions.getOrDefault(languageCode, "en_US"); - } - - public java.lang.String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/nativemobileresources/proxies/ImageMetaData.java b/test/javasource/nativemobileresources/proxies/ImageMetaData.java deleted file mode 100644 index d371cff..0000000 --- a/test/javasource/nativemobileresources/proxies/ImageMetaData.java +++ /dev/null @@ -1,465 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nativemobileresources.proxies; - -public class ImageMetaData -{ - private final com.mendix.systemwideinterfaces.core.IMendixObject imageMetaDataMendixObject; - - private final com.mendix.systemwideinterfaces.core.IContext context; - - /** - * Internal name of this entity - */ - public static final java.lang.String entityName = "NativeMobileResources.ImageMetaData"; - - /** - * Enum describing members of this entity - */ - public enum MemberNames - { - PictureTaken("PictureTaken"), - URI("URI"), - IsVertical("IsVertical"), - Width("Width"), - Height("Height"), - FileName("FileName"), - FileSize("FileSize"), - FileType("FileType"); - - private final java.lang.String metaName; - - MemberNames(java.lang.String s) - { - metaName = s; - } - - @java.lang.Override - public java.lang.String toString() - { - return metaName; - } - } - - public ImageMetaData(com.mendix.systemwideinterfaces.core.IContext context) - { - this(context, com.mendix.core.Core.instantiate(context, entityName)); - } - - protected ImageMetaData(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject imageMetaDataMendixObject) - { - if (imageMetaDataMendixObject == null) { - throw new java.lang.IllegalArgumentException("The given object cannot be null."); - } - if (!com.mendix.core.Core.isSubClassOf(entityName, imageMetaDataMendixObject.getType())) { - throw new java.lang.IllegalArgumentException(String.format("The given object is not a %s", entityName)); - } - - this.imageMetaDataMendixObject = imageMetaDataMendixObject; - this.context = context; - } - - /** - * @deprecated Use 'ImageMetaData.load(IContext, IMendixIdentifier)' instead. - */ - @java.lang.Deprecated - public static nativemobileresources.proxies.ImageMetaData initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException - { - return nativemobileresources.proxies.ImageMetaData.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.createSudoClone() can be used to obtain sudo access). - * @param context The context to be used - * @param mendixObject The Mendix object for the new instance - * @return a new instance of this proxy class - */ - public static nativemobileresources.proxies.ImageMetaData initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) - { - return new nativemobileresources.proxies.ImageMetaData(context, mendixObject); - } - - public static nativemobileresources.proxies.ImageMetaData 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 nativemobileresources.proxies.ImageMetaData.initialize(context, mendixObject); - } - - /** - * Commit the changes made on this proxy object. - * @throws com.mendix.core.CoreException - */ - 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. - * @throws com.mendix.core.CoreException - */ - 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 PictureTaken - */ - public final java.lang.Boolean getPictureTaken() - { - return getPictureTaken(getContext()); - } - - /** - * @param context - * @return value of PictureTaken - */ - public final java.lang.Boolean getPictureTaken(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.PictureTaken.toString()); - } - - /** - * Set value of PictureTaken - * @param picturetaken - */ - public final void setPictureTaken(java.lang.Boolean picturetaken) - { - setPictureTaken(getContext(), picturetaken); - } - - /** - * Set value of PictureTaken - * @param context - * @param picturetaken - */ - public final void setPictureTaken(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean picturetaken) - { - getMendixObject().setValue(context, MemberNames.PictureTaken.toString(), picturetaken); - } - - /** - * @return value of URI - */ - public final java.lang.String getURI() - { - return getURI(getContext()); - } - - /** - * @param context - * @return value of URI - */ - public final java.lang.String getURI(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.URI.toString()); - } - - /** - * Set value of URI - * @param uri - */ - public final void setURI(java.lang.String uri) - { - setURI(getContext(), uri); - } - - /** - * Set value of URI - * @param context - * @param uri - */ - public final void setURI(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String uri) - { - getMendixObject().setValue(context, MemberNames.URI.toString(), uri); - } - - /** - * @return value of IsVertical - */ - public final java.lang.Boolean getIsVertical() - { - return getIsVertical(getContext()); - } - - /** - * @param context - * @return value of IsVertical - */ - public final java.lang.Boolean getIsVertical(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Boolean) getMendixObject().getValue(context, MemberNames.IsVertical.toString()); - } - - /** - * Set value of IsVertical - * @param isvertical - */ - public final void setIsVertical(java.lang.Boolean isvertical) - { - setIsVertical(getContext(), isvertical); - } - - /** - * Set value of IsVertical - * @param context - * @param isvertical - */ - public final void setIsVertical(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Boolean isvertical) - { - getMendixObject().setValue(context, MemberNames.IsVertical.toString(), isvertical); - } - - /** - * @return value of Width - */ - public final java.lang.Integer getWidth() - { - return getWidth(getContext()); - } - - /** - * @param context - * @return value of Width - */ - public final java.lang.Integer getWidth(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Integer) getMendixObject().getValue(context, MemberNames.Width.toString()); - } - - /** - * Set value of Width - * @param width - */ - public final void setWidth(java.lang.Integer width) - { - setWidth(getContext(), width); - } - - /** - * Set value of Width - * @param context - * @param width - */ - public final void setWidth(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Integer width) - { - getMendixObject().setValue(context, MemberNames.Width.toString(), width); - } - - /** - * @return value of Height - */ - public final java.lang.Integer getHeight() - { - return getHeight(getContext()); - } - - /** - * @param context - * @return value of Height - */ - public final java.lang.Integer getHeight(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Integer) getMendixObject().getValue(context, MemberNames.Height.toString()); - } - - /** - * Set value of Height - * @param height - */ - public final void setHeight(java.lang.Integer height) - { - setHeight(getContext(), height); - } - - /** - * Set value of Height - * @param context - * @param height - */ - public final void setHeight(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Integer height) - { - getMendixObject().setValue(context, MemberNames.Height.toString(), height); - } - - /** - * @return value of FileName - */ - public final java.lang.String getFileName() - { - return getFileName(getContext()); - } - - /** - * @param context - * @return value of FileName - */ - public final java.lang.String getFileName(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.FileName.toString()); - } - - /** - * Set value of FileName - * @param filename - */ - public final void setFileName(java.lang.String filename) - { - setFileName(getContext(), filename); - } - - /** - * Set value of FileName - * @param context - * @param filename - */ - public final void setFileName(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String filename) - { - getMendixObject().setValue(context, MemberNames.FileName.toString(), filename); - } - - /** - * @return value of FileSize - */ - public final java.lang.Integer getFileSize() - { - return getFileSize(getContext()); - } - - /** - * @param context - * @return value of FileSize - */ - public final java.lang.Integer getFileSize(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.Integer) getMendixObject().getValue(context, MemberNames.FileSize.toString()); - } - - /** - * Set value of FileSize - * @param filesize - */ - public final void setFileSize(java.lang.Integer filesize) - { - setFileSize(getContext(), filesize); - } - - /** - * Set value of FileSize - * @param context - * @param filesize - */ - public final void setFileSize(com.mendix.systemwideinterfaces.core.IContext context, java.lang.Integer filesize) - { - getMendixObject().setValue(context, MemberNames.FileSize.toString(), filesize); - } - - /** - * @return value of FileType - */ - public final java.lang.String getFileType() - { - return getFileType(getContext()); - } - - /** - * @param context - * @return value of FileType - */ - public final java.lang.String getFileType(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.FileType.toString()); - } - - /** - * Set value of FileType - * @param filetype - */ - public final void setFileType(java.lang.String filetype) - { - setFileType(getContext(), filetype); - } - - /** - * Set value of FileType - * @param context - * @param filetype - */ - public final void setFileType(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String filetype) - { - getMendixObject().setValue(context, MemberNames.FileType.toString(), filetype); - } - - /** - * @return the IMendixObject instance of this proxy for use in the Core interface. - */ - public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() - { - return imageMetaDataMendixObject; - } - - /** - * @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; - } - - @java.lang.Override - public boolean equals(Object obj) - { - if (obj == this) { - return true; - } - if (obj != null && getClass().equals(obj.getClass())) - { - final nativemobileresources.proxies.ImageMetaData that = (nativemobileresources.proxies.ImageMetaData) obj; - return getMendixObject().equals(that.getMendixObject()); - } - return false; - } - - @java.lang.Override - public int hashCode() - { - return getMendixObject().hashCode(); - } - - /** - * @return String name of this class - */ - public static java.lang.String getType() - { - return entityName; - } - - /** - * @return String GUID from this object, format: ID_0000000000 - * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. - */ - @java.lang.Deprecated - public java.lang.String getGUID() - { - return "ID_" + getMendixObject().getId().toLong(); - } -} diff --git a/test/javasource/nativemobileresources/proxies/InAppBrowserDismissButtonStyle.java b/test/javasource/nativemobileresources/proxies/InAppBrowserDismissButtonStyle.java deleted file mode 100755 index 415765c..0000000 --- a/test/javasource/nativemobileresources/proxies/InAppBrowserDismissButtonStyle.java +++ /dev/null @@ -1,32 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nativemobileresources.proxies; - -public enum InAppBrowserDismissButtonStyle -{ - done(new java.lang.String[][] { new java.lang.String[] { "en_US", "Done" } }), - close(new java.lang.String[][] { new java.lang.String[] { "en_US", "Close" } }), - cancel(new java.lang.String[][] { new java.lang.String[] { "en_US", "Cancel" } }); - - private final java.util.Map captions; - - private InAppBrowserDismissButtonStyle(java.lang.String[][] captionStrings) - { - this.captions = new java.util.HashMap<>(); - for (java.lang.String[] captionString : captionStrings) { - captions.put(captionString[0], captionString[1]); - } - } - - public java.lang.String getCaption(java.lang.String languageCode) - { - return captions.getOrDefault(languageCode, "en_US"); - } - - public java.lang.String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/nativemobileresources/proxies/PictureQuality.java b/test/javasource/nativemobileresources/proxies/PictureQuality.java deleted file mode 100755 index ab12d57..0000000 --- a/test/javasource/nativemobileresources/proxies/PictureQuality.java +++ /dev/null @@ -1,34 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nativemobileresources.proxies; - -public enum PictureQuality -{ - original(new java.lang.String[][] { new java.lang.String[] { "en_US", "Original" } }), - low(new java.lang.String[][] { new java.lang.String[] { "en_US", "Low" } }), - medium(new java.lang.String[][] { new java.lang.String[] { "en_US", "Medium" } }), - high(new java.lang.String[][] { new java.lang.String[] { "en_US", "High" } }), - custom(new java.lang.String[][] { new java.lang.String[] { "en_US", "Custom" } }); - - private final java.util.Map captions; - - private PictureQuality(java.lang.String[][] captionStrings) - { - this.captions = new java.util.HashMap<>(); - for (java.lang.String[] captionString : captionStrings) { - captions.put(captionString[0], captionString[1]); - } - } - - public java.lang.String getCaption(java.lang.String languageCode) - { - return captions.getOrDefault(languageCode, "en_US"); - } - - public java.lang.String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/nativemobileresources/proxies/PictureSource.java b/test/javasource/nativemobileresources/proxies/PictureSource.java deleted file mode 100755 index 69c2308..0000000 --- a/test/javasource/nativemobileresources/proxies/PictureSource.java +++ /dev/null @@ -1,31 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nativemobileresources.proxies; - -public enum PictureSource -{ - camera(new java.lang.String[][] { new java.lang.String[] { "en_US", "Camera" } }), - imageLibrary(new java.lang.String[][] { new java.lang.String[] { "en_US", "Image Library" } }); - - private final java.util.Map captions; - - private PictureSource(java.lang.String[][] captionStrings) - { - this.captions = new java.util.HashMap<>(); - for (java.lang.String[] captionString : captionStrings) { - captions.put(captionString[0], captionString[1]); - } - } - - public java.lang.String getCaption(java.lang.String languageCode) - { - return captions.getOrDefault(languageCode, "en_US"); - } - - public java.lang.String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/nativemobileresources/proxies/StatusBarHideShowAnimation.java b/test/javasource/nativemobileresources/proxies/StatusBarHideShowAnimation.java deleted file mode 100755 index 06bbfd2..0000000 --- a/test/javasource/nativemobileresources/proxies/StatusBarHideShowAnimation.java +++ /dev/null @@ -1,32 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nativemobileresources.proxies; - -public enum StatusBarHideShowAnimation -{ - none(new java.lang.String[][] { new java.lang.String[] { "en_US", "None" } }), - fade(new java.lang.String[][] { new java.lang.String[] { "en_US", "Fade" } }), - slide(new java.lang.String[][] { new java.lang.String[] { "en_US", "Slide" } }); - - private final java.util.Map captions; - - private StatusBarHideShowAnimation(java.lang.String[][] captionStrings) - { - this.captions = new java.util.HashMap<>(); - for (java.lang.String[] captionString : captionStrings) { - captions.put(captionString[0], captionString[1]); - } - } - - public java.lang.String getCaption(java.lang.String languageCode) - { - return captions.getOrDefault(languageCode, "en_US"); - } - - public java.lang.String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/nativemobileresources/proxies/StatusBarStyle.java b/test/javasource/nativemobileresources/proxies/StatusBarStyle.java deleted file mode 100755 index adf78ad..0000000 --- a/test/javasource/nativemobileresources/proxies/StatusBarStyle.java +++ /dev/null @@ -1,32 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package nativemobileresources.proxies; - -public enum StatusBarStyle -{ - DefaultStyle(new java.lang.String[][] { new java.lang.String[] { "en_US", "Default (dark text on iOS, light text on Android)" } }), - LightContentStyle(new java.lang.String[][] { new java.lang.String[] { "en_US", "Light text" } }), - DarkContentStyle(new java.lang.String[][] { new java.lang.String[] { "en_US", "Dark text" } }); - - private final java.util.Map captions; - - private StatusBarStyle(java.lang.String[][] captionStrings) - { - this.captions = new java.util.HashMap<>(); - for (java.lang.String[] captionString : captionStrings) { - captions.put(captionString[0], captionString[1]); - } - } - - public java.lang.String getCaption(java.lang.String languageCode) - { - return captions.getOrDefault(languageCode, "en_US"); - } - - public java.lang.String getCaption() - { - return captions.get("en_US"); - } -} diff --git a/test/javasource/pushnotificationexampleimplementation/proxies/Test.java b/test/javasource/pushnotificationexampleimplementation/proxies/Test.java deleted file mode 100644 index 300b498..0000000 --- a/test/javasource/pushnotificationexampleimplementation/proxies/Test.java +++ /dev/null @@ -1,215 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package pushnotificationexampleimplementation.proxies; - -public class Test -{ - private final com.mendix.systemwideinterfaces.core.IMendixObject testMendixObject; - - private final com.mendix.systemwideinterfaces.core.IContext context; - - /** - * Internal name of this entity - */ - public static final java.lang.String entityName = "PushNotificationExampleImplementation.Test"; - - /** - * Enum describing members of this entity - */ - public enum MemberNames - { - Data("Data"); - - private final java.lang.String metaName; - - MemberNames(java.lang.String s) - { - metaName = s; - } - - @java.lang.Override - public java.lang.String toString() - { - return metaName; - } - } - - public Test(com.mendix.systemwideinterfaces.core.IContext context) - { - this(context, com.mendix.core.Core.instantiate(context, entityName)); - } - - protected Test(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject testMendixObject) - { - if (testMendixObject == null) { - throw new java.lang.IllegalArgumentException("The given object cannot be null."); - } - if (!com.mendix.core.Core.isSubClassOf(entityName, testMendixObject.getType())) { - throw new java.lang.IllegalArgumentException(String.format("The given object is not a %s", entityName)); - } - - this.testMendixObject = testMendixObject; - this.context = context; - } - - /** - * @deprecated Use 'Test.load(IContext, IMendixIdentifier)' instead. - */ - @java.lang.Deprecated - public static pushnotificationexampleimplementation.proxies.Test initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixIdentifier mendixIdentifier) throws com.mendix.core.CoreException - { - return pushnotificationexampleimplementation.proxies.Test.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.createSudoClone() can be used to obtain sudo access). - * @param context The context to be used - * @param mendixObject The Mendix object for the new instance - * @return a new instance of this proxy class - */ - public static pushnotificationexampleimplementation.proxies.Test initialize(com.mendix.systemwideinterfaces.core.IContext context, com.mendix.systemwideinterfaces.core.IMendixObject mendixObject) - { - return new pushnotificationexampleimplementation.proxies.Test(context, mendixObject); - } - - public static pushnotificationexampleimplementation.proxies.Test 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 pushnotificationexampleimplementation.proxies.Test.initialize(context, mendixObject); - } - - public static java.util.List load(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String xpathConstraint) throws com.mendix.core.CoreException - { - return com.mendix.core.Core.createXPathQuery(String.format("//%1$s%2$s", entityName, xpathConstraint)) - .execute(context) - .stream() - .map(obj -> pushnotificationexampleimplementation.proxies.Test.initialize(context, obj)) - .collect(java.util.stream.Collectors.toList()); - } - - /** - * Commit the changes made on this proxy object. - * @throws com.mendix.core.CoreException - */ - 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. - * @throws com.mendix.core.CoreException - */ - 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 Data - */ - public final java.lang.String getData() - { - return getData(getContext()); - } - - /** - * @param context - * @return value of Data - */ - public final java.lang.String getData(com.mendix.systemwideinterfaces.core.IContext context) - { - return (java.lang.String) getMendixObject().getValue(context, MemberNames.Data.toString()); - } - - /** - * Set value of Data - * @param data - */ - public final void setData(java.lang.String data) - { - setData(getContext(), data); - } - - /** - * Set value of Data - * @param context - * @param data - */ - public final void setData(com.mendix.systemwideinterfaces.core.IContext context, java.lang.String data) - { - getMendixObject().setValue(context, MemberNames.Data.toString(), data); - } - - /** - * @return the IMendixObject instance of this proxy for use in the Core interface. - */ - public final com.mendix.systemwideinterfaces.core.IMendixObject getMendixObject() - { - return testMendixObject; - } - - /** - * @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; - } - - @java.lang.Override - public boolean equals(Object obj) - { - if (obj == this) { - return true; - } - if (obj != null && getClass().equals(obj.getClass())) - { - final pushnotificationexampleimplementation.proxies.Test that = (pushnotificationexampleimplementation.proxies.Test) obj; - return getMendixObject().equals(that.getMendixObject()); - } - return false; - } - - @java.lang.Override - public int hashCode() - { - return getMendixObject().hashCode(); - } - - /** - * @return String name of this class - */ - public static java.lang.String getType() - { - return entityName; - } - - /** - * @return String GUID from this object, format: ID_0000000000 - * @deprecated Use getMendixObject().getId().toLong() to get a unique identifier for this object. - */ - @java.lang.Deprecated - public java.lang.String getGUID() - { - return "ID_" + getMendixObject().getId().toLong(); - } -} diff --git a/test/javasource/pushnotificationexampleimplementation/proxies/microflows/Microflows.java b/test/javasource/pushnotificationexampleimplementation/proxies/microflows/Microflows.java deleted file mode 100644 index 6a23a96..0000000 --- a/test/javasource/pushnotificationexampleimplementation/proxies/microflows/Microflows.java +++ /dev/null @@ -1,89 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// WARNING: Code you write here will be lost the next time you deploy the project. - -package pushnotificationexampleimplementation.proxies.microflows; - -import java.util.HashMap; -import java.util.Map; -import com.mendix.core.Core; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.systemwideinterfaces.core.IMendixObject; - -public class Microflows -{ - /** - * @deprecated - * The default constructor of the Microflows class should not be used. - * Use the static microflow invocation methods instead. - */ - @java.lang.Deprecated(since = "9.12", forRemoval = true) - public Microflows() {} - - // These are the microflows for the PushNotificationExampleImplementation module - public static void aCT_Device_Delete(IContext context, java.util.List _deviceList) - { - Map params = new HashMap<>(); - java.util.List listparam_deviceList = null; - if (_deviceList != null) - { - listparam_deviceList = new java.util.ArrayList<>(); - for (var obj : _deviceList) { - listparam_deviceList.add(obj.getMendixObject()); - } - } - params.put("DeviceList", listparam_deviceList); - - Core.microflowCall("PushNotificationExampleImplementation.ACT_Device_Delete").withParams(params).execute(context); - } - public static boolean afterStartup(IContext context) - { - Map params = new HashMap<>(); - return (java.lang.Boolean) Core.microflowCall("PushNotificationExampleImplementation.AfterStartup").withParams(params).execute(context); - } - public static void iVK_OpenSendMessageFormWithContext(IContext context, java.util.List _devices) - { - Map params = new HashMap<>(); - java.util.List listparam_devices = null; - if (_devices != null) - { - listparam_devices = new java.util.ArrayList<>(); - for (var obj : _devices) { - listparam_devices.add(obj.getMendixObject()); - } - } - params.put("Devices", listparam_devices); - - Core.microflowCall("PushNotificationExampleImplementation.IVK_OpenSendMessageFormWithContext").withParams(params).execute(context); - } - public static void iVK_OpenSendMessageFormWithoutContext(IContext context, java.util.List _devices) - { - Map params = new HashMap<>(); - java.util.List listparam_devices = null; - if (_devices != null) - { - listparam_devices = new java.util.ArrayList<>(); - for (var obj : _devices) { - listparam_devices.add(obj.getMendixObject()); - } - } - params.put("Devices", listparam_devices); - - Core.microflowCall("PushNotificationExampleImplementation.IVK_OpenSendMessageFormWithoutContext").withParams(params).execute(context); - } - public static void iVK_TestDeviceCleanupScheduledEvent(IContext context) - { - Map params = new HashMap<>(); - Core.microflowCall("PushNotificationExampleImplementation.IVK_TestDeviceCleanupScheduledEvent").withParams(params).execute(context); - } - public static void iVK_TestMessageCleanupScheduledEvent(IContext context) - { - Map params = new HashMap<>(); - Core.microflowCall("PushNotificationExampleImplementation.IVK_TestMessageCleanupScheduledEvent").withParams(params).execute(context); - } - public static void microflow(IContext context) - { - Map params = new HashMap<>(); - Core.microflowCall("PushNotificationExampleImplementation.Microflow").withParams(params).execute(context); - } -} diff --git a/test/javasource/system/UserActionsRegistrar.java b/test/javasource/system/UserActionsRegistrar.java deleted file mode 100755 index 38f5d3d..0000000 --- a/test/javasource/system/UserActionsRegistrar.java +++ /dev/null @@ -1,118 +0,0 @@ -package system; - -import com.mendix.core.actionmanagement.IActionRegistrator; - -public class UserActionsRegistrar -{ - public void registerActions(IActionRegistrator registrator) - { - registrator.bundleComponentLoaded(); - registrator.registerUserAction(communitycommons.actions.Base64Decode.class); - registrator.registerUserAction(communitycommons.actions.Base64DecodeToFile.class); - registrator.registerUserAction(communitycommons.actions.Base64Encode.class); - registrator.registerUserAction(communitycommons.actions.Base64EncodeFile.class); - registrator.registerUserAction(communitycommons.actions.Clone.class); - registrator.registerUserAction(communitycommons.actions.commitInSeparateDatabaseTransaction.class); - registrator.registerUserAction(communitycommons.actions.commitWithoutEvents.class); - registrator.registerUserAction(communitycommons.actions.copyAttributes.class); - registrator.registerUserAction(communitycommons.actions.CreateLogNode.class); - registrator.registerUserAction(communitycommons.actions.DateTimeToLong.class); - registrator.registerUserAction(communitycommons.actions.DeepClone.class); - registrator.registerUserAction(communitycommons.actions.Delay.class); - registrator.registerUserAction(communitycommons.actions.deleteAll.class); - registrator.registerUserAction(communitycommons.actions.DuplicateFileDocument.class); - registrator.registerUserAction(communitycommons.actions.DuplicateImageDocument.class); - registrator.registerUserAction(communitycommons.actions.EndTransaction.class); - registrator.registerUserAction(communitycommons.actions.EnumerationFromString.class); - registrator.registerUserAction(communitycommons.actions.EscapeHTML.class); - registrator.registerUserAction(communitycommons.actions.executeMicroflowAsUser.class); - registrator.registerUserAction(communitycommons.actions.executeMicroflowAsUser_1.class); - registrator.registerUserAction(communitycommons.actions.executeMicroflowAsUser_2.class); - registrator.registerUserAction(communitycommons.actions.executeMicroflowInBackground.class); - registrator.registerUserAction(communitycommons.actions.executeMicroflowInBatches.class); - registrator.registerUserAction(communitycommons.actions.executeUnverifiedMicroflowAsUser.class); - registrator.registerUserAction(communitycommons.actions.executeUnverifiedMicroflowAsUser_1.class); - registrator.registerUserAction(communitycommons.actions.executeUnverifiedMicroflowAsUser_2.class); - registrator.registerUserAction(communitycommons.actions.executeUnverifiedMicroflowInBackground.class); - registrator.registerUserAction(communitycommons.actions.executeUnverifiedMicroflowInBatches.class); - registrator.registerUserAction(communitycommons.actions.FileDocumentFromFile.class); - registrator.registerUserAction(communitycommons.actions.FileFromFileDocument.class); - registrator.registerUserAction(communitycommons.actions.GenerateHMAC_SHA256.class); - registrator.registerUserAction(communitycommons.actions.GenerateHMAC_SHA256_hash.class); - registrator.registerUserAction(communitycommons.actions.GetApplicationUrl.class); - registrator.registerUserAction(communitycommons.actions.GetCFInstanceIndex.class); - registrator.registerUserAction(communitycommons.actions.getCreatedByUser.class); - registrator.registerUserAction(communitycommons.actions.GetDefaultLanguage.class); - registrator.registerUserAction(communitycommons.actions.GetFileContentsFromResource.class); - registrator.registerUserAction(communitycommons.actions.getFileSize.class); - registrator.registerUserAction(communitycommons.actions.getGUID.class); - registrator.registerUserAction(communitycommons.actions.GetImageDimensions.class); - registrator.registerUserAction(communitycommons.actions.GetIntFromDateTime.class); - registrator.registerUserAction(communitycommons.actions.getLastChangedByUser.class); - registrator.registerUserAction(communitycommons.actions.GetModelVersion.class); - registrator.registerUserAction(communitycommons.actions.getOriginalValueAsString.class); - registrator.registerUserAction(communitycommons.actions.GetRuntimeVersion.class); - registrator.registerUserAction(communitycommons.actions.getTypeAsString.class); - registrator.registerUserAction(communitycommons.actions.Hash.class); - registrator.registerUserAction(communitycommons.actions.HTMLEncode.class); - registrator.registerUserAction(communitycommons.actions.HTMLToPlainText.class); - registrator.registerUserAction(communitycommons.actions.IsInDevelopment.class); - registrator.registerUserAction(communitycommons.actions.IsStringSimplified.class); - registrator.registerUserAction(communitycommons.actions.ListTop.class); - registrator.registerUserAction(communitycommons.actions.LongToDateTime.class); - registrator.registerUserAction(communitycommons.actions.memberHasChanged.class); - registrator.registerUserAction(communitycommons.actions.MergeMultiplePdfs.class); - registrator.registerUserAction(communitycommons.actions.MonthsBetween.class); - registrator.registerUserAction(communitycommons.actions.objectHasChanged.class); - registrator.registerUserAction(communitycommons.actions.objectIsNew.class); - registrator.registerUserAction(communitycommons.actions.OverlayPdfDocument.class); - registrator.registerUserAction(communitycommons.actions.ParseDateTimeWithTimezone.class); - registrator.registerUserAction(communitycommons.actions.RandomHash.class); - registrator.registerUserAction(communitycommons.actions.RandomString.class); - registrator.registerUserAction(communitycommons.actions.RandomStrongPassword.class); - registrator.registerUserAction(communitycommons.actions.recommitInBatches.class); - registrator.registerUserAction(communitycommons.actions.refreshClass.class); - registrator.registerUserAction(communitycommons.actions.refreshClassByObject.class); - registrator.registerUserAction(communitycommons.actions.RegexQuote.class); - registrator.registerUserAction(communitycommons.actions.RegexReplaceAll.class); - registrator.registerUserAction(communitycommons.actions.RemoveEnd.class); - registrator.registerUserAction(communitycommons.actions.retrieveURL.class); - registrator.registerUserAction(communitycommons.actions.RunMicroflowAsyncInQueue.class); - registrator.registerUserAction(communitycommons.actions.StartTransaction.class); - registrator.registerUserAction(communitycommons.actions.storeURLToFileDocument.class); - registrator.registerUserAction(communitycommons.actions.StringFromFile.class); - registrator.registerUserAction(communitycommons.actions.StringLeftPad.class); - registrator.registerUserAction(communitycommons.actions.StringRightPad.class); - registrator.registerUserAction(communitycommons.actions.StringSimplify.class); - registrator.registerUserAction(communitycommons.actions.StringSplit.class); - registrator.registerUserAction(communitycommons.actions.StringToFile.class); - registrator.registerUserAction(communitycommons.actions.StringTrim.class); - registrator.registerUserAction(communitycommons.actions.SubstituteTemplate.class); - registrator.registerUserAction(communitycommons.actions.SubstituteTemplate2.class); - registrator.registerUserAction(communitycommons.actions.SubstringAfter.class); - registrator.registerUserAction(communitycommons.actions.SubstringAfterLast.class); - registrator.registerUserAction(communitycommons.actions.SubstringBefore.class); - registrator.registerUserAction(communitycommons.actions.SubstringBeforeLast.class); - registrator.registerUserAction(communitycommons.actions.ThrowException.class); - registrator.registerUserAction(communitycommons.actions.ThrowWebserviceException.class); - registrator.registerUserAction(communitycommons.actions.TimeMeasureEnd.class); - registrator.registerUserAction(communitycommons.actions.TimeMeasureStart.class); - registrator.registerUserAction(communitycommons.actions.XSSSanitize.class); - registrator.registerUserAction(communitycommons.actions.YearsBetween.class); - registrator.registerUserAction(encryption.actions.DecryptString.class); - registrator.registerUserAction(encryption.actions.EncryptString.class); - registrator.registerUserAction(encryption.actions.GeneratePGPKeyRing.class); - registrator.registerUserAction(encryption.actions.PGPDecryptDocument.class); - registrator.registerUserAction(encryption.actions.PGPEncryptDocument.class); - registrator.registerUserAction(encryption.actions.ValidatePrivateKeyRing.class); - registrator.registerUserAction(pushnotifications.actions.GetFCMAccessToken.class); - registrator.registerUserAction(pushnotifications.actions.SendAPNSMessage_Impl.class); - registrator.registerUserAction(pushnotifications.actions.SendMessageToDevice.class); - registrator.registerUserAction(pushnotifications.actions.SendMessageToDevices.class); - registrator.registerUserAction(pushnotifications.actions.SendMessageToUser.class); - registrator.registerUserAction(pushnotifications.actions.SendMessageToUsers.class); - registrator.registerUserAction(pushnotifications.actions.StartAPNS.class); - registrator.registerUserAction(pushnotifications.actions.StopAPNS.class); - registrator.registerUserAction(system.actions.VerifyPassword.class); - } -} diff --git a/test/javasource/system/actions/VerifyPassword.java b/test/javasource/system/actions/VerifyPassword.java deleted file mode 100755 index 971e035..0000000 --- a/test/javasource/system/actions/VerifyPassword.java +++ /dev/null @@ -1,53 +0,0 @@ -// This file was generated by Mendix Studio Pro. -// -// 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 system.actions; - -import com.mendix.core.Core; -import com.mendix.systemwideinterfaces.core.IUser; -import com.mendix.systemwideinterfaces.core.IContext; -import com.mendix.webui.CustomJavaAction; - -/** - * Verifies that the specified user name/password combination is valid. - */ -public class VerifyPassword extends CustomJavaAction -{ - private java.lang.String userName; - private java.lang.String password; - - public VerifyPassword(IContext context, java.lang.String userName, java.lang.String password) - { - super(context); - this.userName = userName; - this.password = password; - } - - @java.lang.Override - public java.lang.Boolean executeAction() throws Exception - { - // BEGIN USER CODE - IUser user = Core.getUser(getContext(), userName); - return user != null && Core.authenticate(getContext(), user, password); - // END USER CODE - } - - /** - * Returns a string representation of this action - * @return a string representation of this action - */ - @java.lang.Override - public java.lang.String toString() - { - return "VerifyPassword"; - } - - // BEGIN EXTRA CODE - // END EXTRA CODE -} diff --git a/test/theme/web/firebase-messaging-sw.js b/test/theme/web/firebase-messaging-sw.js new file mode 100644 index 0000000..5d444c6 --- /dev/null +++ b/test/theme/web/firebase-messaging-sw.js @@ -0,0 +1,14 @@ +importScripts('https://www.gstatic.com/firebasejs/10.11.0/firebase-app-compat.js'); +importScripts('https://www.gstatic.com/firebasejs/10.11.0/firebase-messaging-compat.js'); + +const firebaseConfig = { + apiKey: "", + authDomain: "", + projectId: "", + storageBucket: "", + messagingSenderId: "", + appId: "" +}; + +firebase.initializeApp(firebaseConfig); +const messaging = firebase.messaging(); \ No newline at end of file diff --git a/test/theme/web/index.html b/test/theme/web/index.html new file mode 100644 index 0000000..77a56ab --- /dev/null +++ b/test/theme/web/index.html @@ -0,0 +1,47 @@ + + + + {{unsupportedbrowser}} + + Mendix + + {{themecss}} + {{appicons}} + {{manifest}} + {{startupimages}} + + + +

+ + + + + + + + +