// This file was generated by Mendix Modeler. // // WARNING: Only the following code will be retained when actions are regenerated: // - the import list // - the code between BEGIN USER CODE and END USER CODE // - the code between BEGIN EXTRA CODE and END EXTRA CODE // Other code you write will be lost the next time you deploy the project. // Special characters, e.g., é, ö, à, etc. are supported in comments. package communitycommons.actions; import com.mendix.core.Core; import com.mendix.systemwideinterfaces.core.IContext; import com.mendix.systemwideinterfaces.core.ISession; import com.mendix.webui.CustomJavaAction; import com.mendix.systemwideinterfaces.core.IMendixObject; /** * This function commits an object in a seperate context and transaction, making sure it gets persisted in the database (regarding which exception happens after invocation). */ public class commitInSeparateDatabaseTransaction extends CustomJavaAction<java.lang.Boolean> { private IMendixObject mxObject; public commitInSeparateDatabaseTransaction(IContext context, IMendixObject mxObject) { super(context); this.mxObject = mxObject; } @Override public java.lang.Boolean executeAction() throws Exception { // BEGIN USER CODE ISession session = getContext().getSession(); IContext newContext = session.createContext(); Core.commit(newContext, mxObject); newContext.endTransaction(); return true; // END USER CODE } /** * Returns a string representation of this action */ @Override public java.lang.String toString() { return "commitInSeparateDatabaseTransaction"; } // BEGIN EXTRA CODE // END EXTRA CODE }