Java tutorial
// Description: Java 7 XMsg Client DbIO implementation for DomainBase. /* * MSS Code Factory Accounting Business Application Model * * Copyright (c) 2014 Mark Sobkow * * This program is available as free software under the GNU GPL v3, or * under a commercial license from Mark Sobkow. For commercial licensing * details, please contact msobkow@sasktel.net. * * Under the terms of the GPL: * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * This source code incorporates modified modules originally licensed * under the Apache 2.0 license by MSS Code Factory including CFSecurity * (net-sourceforge-msscodefactory-2.0-cfsecurity.xml), * CFInternet (net-sourceforge-msscodefactory-2.0-cfinternet.xml), and * CFCrm 2.0 (net-sourceforge-msscodefactory-2.0-cfcrm.xml), with all of the * required models being available as part of the MSS Code Factory 1.11 * distribution source and install zips. * * You can download installations of MSS Code Factory 1.11 from * http://msscodefactory.sourceforge.net/ * * *********************************************************************** * * Code manufactured by MSS Code Factory */ package net.sourceforge.msscodefactory.cfacc.v2_0.CFAccXMsgClient; import java.math.*; import java.sql.*; import java.text.*; import java.util.*; import net.sourceforge.msscodefactory.cflib.v1_11.CFLib.*; import org.apache.commons.codec.binary.Base64; import net.sourceforge.msscodefactory.cfacc.v2_0.CFAcc.*; import net.sourceforge.msscodefactory.cfacc.v2_0.CFAccObj.*; import net.sourceforge.msscodefactory.cfacc.v2_0.CFAccXMsg.*; import net.sourceforge.msscodefactory.cfacc.v2_0.CFAccXMsgRspnHandler.*; /* * CFAccXMsgClientDomainBaseTable XMsg Client DbIO implementation * for DomainBase. */ public class CFAccXMsgClientDomainBaseTable implements ICFAccDomainBaseTable { private CFAccXMsgClientSchema schema; public CFAccXMsgClientDomainBaseTable(CFAccXMsgClientSchema argSchema) { schema = argSchema; } public void createDomainBase(CFAccAuthorization Authorization, CFAccDomainBaseBuff Buff) { final String S_ProcName = "createDomainBase"; String rqst = CFAccXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAccXMsgDomainBaseMessageFormatter.formatDomainBaseRqstCreate("\n\t\t\t", Buff) + "\n" + CFAccXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAccXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } Object lastObjectProcessed = responseHandler.getLastObjectProcessed(); if (lastObjectProcessed != null) { ICFAccDomainBaseObj realized = null; if (lastObjectProcessed instanceof ICFAccDomainBaseObj) { realized = (ICFAccDomainBaseObj) lastObjectProcessed; } else { throw CFLib.getDefaultExceptionFactory().newUnsupportedClassException(getClass(), S_ProcName, "lastObjectProcessed", lastObjectProcessed, "ICFAccDomainBaseObj"); } if (realized != null) { Buff.set(realized.getDomainBaseBuff()); } } else { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "responseHandler.getLastObjectProcessed()"); } } public CFAccDomainBaseBuff readDerived(CFAccAuthorization Authorization, CFAccDomainBasePKey PKey) { final String S_ProcName = "readDerived"; String rqst = CFAccXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAccXMsgDomainBaseMessageFormatter.formatDomainBaseRqstRead("\n\t\t\t", PKey) + "\n" + CFAccXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAccXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } CFAccDomainBaseBuff buff = null; Object lastObjectProcessed = responseHandler.getLastObjectProcessed(); if (lastObjectProcessed != null) { ICFAccDomainBaseObj realized = null; if (lastObjectProcessed instanceof ICFAccDomainBaseObj) { realized = (ICFAccDomainBaseObj) lastObjectProcessed; } else { throw CFLib.getDefaultExceptionFactory().newUnsupportedClassException(getClass(), S_ProcName, "lastObjectProcessed", lastObjectProcessed, "ICFAccDomainBaseObj"); } if (realized != null) { buff = realized.getDomainBaseBuff(); } } return (buff); } public CFAccDomainBaseBuff lockDerived(CFAccAuthorization Authorization, CFAccDomainBasePKey PKey) { final String S_ProcName = "lockDerived"; String rqst = CFAccXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAccXMsgDomainBaseMessageFormatter.formatDomainBaseRqstLock("\n\t\t\t", PKey) + "\n" + CFAccXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAccXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } CFAccDomainBaseBuff buff = null; Object lastObjectProcessed = responseHandler.getLastObjectProcessed(); if (lastObjectProcessed != null) { ICFAccDomainBaseObj realized = null; if (lastObjectProcessed instanceof ICFAccDomainBaseObj) { realized = (ICFAccDomainBaseObj) lastObjectProcessed; } else { throw CFLib.getDefaultExceptionFactory().newUnsupportedClassException(getClass(), S_ProcName, "lastObjectProcessed", lastObjectProcessed, "ICFAccDomainBaseObj"); } if (realized != null) { buff = realized.getDomainBaseBuff(); } } return (buff); } public CFAccDomainBaseBuff[] readAllDerived(CFAccAuthorization Authorization) { final String S_ProcName = "readAllDerived"; String rqst = CFAccXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAccXMsgDomainBaseMessageFormatter.formatDomainBaseRqstReadAll("\n\t\t\t") + "\n" + CFAccXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAccXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } Object sortedMapObj = responseHandler.getSortedMapOfObjects(); if (sortedMapObj == null) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "responseHandler.getSortedMapOfObjects"); } SortedMap<CFAccDomainBasePKey, ICFAccDomainBaseObj> sortedMap = (SortedMap<CFAccDomainBasePKey, ICFAccDomainBaseObj>) sortedMapObj; int sz = sortedMap.size(); CFAccDomainBaseBuff arr[] = new CFAccDomainBaseBuff[sz]; Iterator<ICFAccDomainBaseObj> iter = sortedMap.values().iterator(); ICFAccDomainBaseObj cur; for (int idx = 0; idx < sz; idx++) { cur = (ICFAccDomainBaseObj) iter.next(); arr[idx] = cur.getDomainBaseBuff(); } return (arr); } public CFAccDomainBaseBuff readDerivedByIdIdx(CFAccAuthorization Authorization, long argTenantId, long argId) { final String S_ProcName = "readDerivedByIdIdx"; String rqst = CFAccXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAccXMsgDomainBaseMessageFormatter.formatDomainBaseRqstReadByIdIdx("\n\t\t\t", argTenantId, argId) + "\n" + CFAccXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAccXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } CFAccDomainBaseBuff buff = null; Object lastObjectProcessed = responseHandler.getLastObjectProcessed(); if (lastObjectProcessed != null) { ICFAccDomainBaseObj realized = null; if (lastObjectProcessed instanceof ICFAccDomainBaseObj) { realized = (ICFAccDomainBaseObj) lastObjectProcessed; } else { throw CFLib.getDefaultExceptionFactory().newUnsupportedClassException(getClass(), S_ProcName, "lastObjectProcessed", lastObjectProcessed, "ICFAccDomainBaseObj"); } if (realized != null) { buff = realized.getDomainBaseBuff(); } } return (buff); } public CFAccDomainBaseBuff[] readDerivedByTenantIdx(CFAccAuthorization Authorization, long argTenantId) { final String S_ProcName = "readDerivedByTenantIdx"; String rqst = CFAccXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAccXMsgDomainBaseMessageFormatter.formatDomainBaseRqstReadByTenantIdx("\n\t\t\t", argTenantId) + "\n" + CFAccXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAccXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } Object sortedMapObj = responseHandler.getSortedMapOfObjects(); if (sortedMapObj == null) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "responseHandler.getSortedMapOfObjects"); } SortedMap<CFAccDomainBasePKey, ICFAccDomainBaseObj> sortedMap = (SortedMap<CFAccDomainBasePKey, ICFAccDomainBaseObj>) sortedMapObj; int sz = sortedMap.size(); CFAccDomainBaseBuff arr[] = new CFAccDomainBaseBuff[sz]; Iterator<ICFAccDomainBaseObj> iter = sortedMap.values().iterator(); ICFAccDomainBaseObj cur; for (int idx = 0; idx < sz; idx++) { cur = (ICFAccDomainBaseObj) iter.next(); arr[idx] = cur.getDomainBaseBuff(); } return (arr); } public CFAccDomainBaseBuff readBuff(CFAccAuthorization Authorization, CFAccDomainBasePKey PKey) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "readBuff"); } public CFAccDomainBaseBuff lockBuff(CFAccAuthorization Authorization, CFAccDomainBasePKey PKey) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "lockBuff"); } public CFAccDomainBaseBuff[] readAllBuff(CFAccAuthorization Authorization) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "readAllBuff"); } public CFAccDomainBaseBuff readBuffByIdIdx(CFAccAuthorization Authorization, long argTenantId, long argId) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "readBuffByIdIdx"); } public CFAccDomainBaseBuff[] readBuffByTenantIdx(CFAccAuthorization Authorization, long argTenantId) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "readBuffByTenantIdx"); } public void updateDomainBase(CFAccAuthorization Authorization, CFAccDomainBaseBuff Buff) { final String S_ProcName = "updateDomainBase"; String rqst = CFAccXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAccXMsgDomainBaseMessageFormatter.formatDomainBaseRqstUpdate("\n\t\t\t", Buff) + "\n" + CFAccXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAccXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } CFAccDomainBaseBuff buff = null; Object lastObjectProcessed = responseHandler.getLastObjectProcessed(); if (lastObjectProcessed != null) { ICFAccDomainBaseObj realized = null; if (lastObjectProcessed instanceof ICFAccDomainBaseObj) { realized = (ICFAccDomainBaseObj) lastObjectProcessed; } else { throw CFLib.getDefaultExceptionFactory().newUnsupportedClassException(getClass(), S_ProcName, "lastObjectProcessed", lastObjectProcessed, "ICFAccDomainBaseObj"); } if (realized != null) { buff = realized.getDomainBaseBuff(); } } if (buff != null) { Buff.set(buff); } } public void deleteDomainBase(CFAccAuthorization Authorization, CFAccDomainBaseBuff Buff) { final String S_ProcName = "deleteDomainBase"; String rqst = CFAccXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAccXMsgDomainBaseMessageFormatter.formatDomainBaseRqstDelete("\n\t\t\t", Buff) + "\n" + CFAccXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAccXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } boolean deleted = responseHandler.getDeleted(); if (!deleted) { throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName, "Server did not respond with a Deleted message"); } } public void deleteDomainBaseByIdIdx(CFAccAuthorization Authorization, long argTenantId, long argId) { final String S_ProcName = "deleteDomainBaseByIdIdx"; String rqst = CFAccXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAccXMsgDomainBaseMessageFormatter.formatDomainBaseRqstDeleteByIdIdx("\n\t\t\t", argTenantId, argId) + "\n" + CFAccXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAccXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } boolean deleted = responseHandler.getDeleted(); if (!deleted) { throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName, "Server did not respond with a Deleted message"); } } public void deleteDomainBaseByIdIdx(CFAccAuthorization Authorization, CFAccDomainBasePKey argKey) { deleteDomainBaseByIdIdx(Authorization, argKey.getRequiredTenantId(), argKey.getRequiredId()); } public void deleteDomainBaseByTenantIdx(CFAccAuthorization Authorization, long argTenantId) { final String S_ProcName = "deleteDomainBaseByTenantIdx"; String rqst = CFAccXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAccXMsgDomainBaseMessageFormatter.formatDomainBaseRqstDeleteByTenantIdx("\n\t\t\t", argTenantId) + "\n" + CFAccXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAccXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } boolean deleted = responseHandler.getDeleted(); if (!deleted) { throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName, "Server did not respond with a Deleted message"); } } public void deleteDomainBaseByTenantIdx(CFAccAuthorization Authorization, CFAccDomainBaseByTenantIdxKey argKey) { deleteDomainBaseByTenantIdx(Authorization, argKey.getRequiredTenantId()); } public CFAccCursor openDomainBaseCursorAll(CFAccAuthorization Authorization) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "openDomainBaseCursorAll"); } public CFAccCursor openDomainBaseCursorByTenantIdx(CFAccAuthorization Authorization, long argTenantId) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "openDomainBaseCursorByTenantIdx"); } public void closeDomainBaseCursor(CFAccCursor Cursor) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "closeDomainBaseCursor"); } public CFAccDomainBaseBuff nextDomainBaseCursor(CFAccCursor Cursor) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "next$Tablename$Cursor"); } public CFAccDomainBaseBuff prevDomainBaseCursor(CFAccCursor Cursor) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "prevDomainBaseCursor"); } public CFAccDomainBaseBuff firstDomainBaseCursor(CFAccCursor Cursor) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "firstDomainBaseCursor"); } public CFAccDomainBaseBuff lastDomainBaseCursor(CFAccCursor Cursor) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "lastDomainBaseCursor"); } public CFAccDomainBaseBuff nthDomainBaseCursor(CFAccCursor Cursor, int Idx) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "nthDomainBaseCursor"); } /** * Release the prepared statements. * <p> * When the schema changes connections, the prepared statements * have to be released because they contain connection-specific * information for most databases. */ public void releasePreparedStatements() { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "releasePreparedStatements"); } }