public void logout() { if ((authorization == null) || (backingStore == null)) { return; } try { boolean transactionStarted = beginTransaction(); if (!transactionStarted) { rollback(); transactionStarted = beginTransaction(); if (!transactionStarted) { setAuthorization(null); return; } } UUID secSessionId = authorization.getSecSessionId(); if (secSessionId != null) { ICFSecuritySecSessionObj secSession = getSecSessionTableObj().readSecSessionByIdIdx(secSessionId); if (secSession != null) { if (secSession.getOptionalFinish() == null) { ICFSecuritySecSessionEditObj editSecSession = secSession.beginEdit(); editSecSession.setOptionalFinish(Calendar.getInstance()); editSecSession.update(); editSecSession.endEdit(); } } } commit(); } finally { setAuthorization(null); minimizeMemory(); } }
public class CFBamClusterBuff implements Comparable<Object>, Serializable { public static final String CLASS_CODE = "CLUS"; public static final String S_INIT_CREATEDBY = "654dbba0-eda7-11e1-aff1-0800200c9a66"; public static final UUID INIT_CREATEDBY = UUID.fromString(S_INIT_CREATEDBY); public static final String S_INIT_UPDATEDBY = "654dbba0-eda7-11e1-aff1-0800200c9a66"; public static final UUID INIT_UPDATEDBY = UUID.fromString(S_INIT_UPDATEDBY); public static final long ID_INIT_VALUE = 0L; public static final String FULLDOMAINNAME_INIT_VALUE = new String(""); public static final String DESCRIPTION_INIT_VALUE = new String(""); public static final long ID_MIN_VALUE = 0L; protected UUID createdByUserId = CFBamClusterBuff.INIT_CREATEDBY; protected Calendar createdAt = Calendar.getInstance(); protected UUID updatedByUserId = CFBamClusterBuff.INIT_UPDATEDBY; protected Calendar updatedAt = Calendar.getInstance(); protected long requiredId; protected String requiredFullDomainName; protected String requiredDescription; protected int requiredRevision; public CFBamClusterBuff() { requiredId = CFBamClusterBuff.ID_INIT_VALUE; requiredFullDomainName = new String(CFBamClusterBuff.FULLDOMAINNAME_INIT_VALUE); requiredDescription = new String(CFBamClusterBuff.DESCRIPTION_INIT_VALUE); } public String getClassCode() { return (CLASS_CODE); } public UUID getCreatedByUserId() { return (createdByUserId); } public void setCreatedByUserId(UUID value) { createdByUserId = value; } public Calendar getCreatedAt() { return (createdAt); } public void setCreatedAt(Calendar value) { createdAt = value; } public UUID getUpdatedByUserId() { return (updatedByUserId); } public void setUpdatedByUserId(UUID value) { updatedByUserId = value; } public Calendar getUpdatedAt() { return (updatedAt); } public void setUpdatedAt(Calendar value) { updatedAt = value; } public long getRequiredId() { return (requiredId); } public void setRequiredId(long value) { if (value < CFBamClusterBuff.ID_MIN_VALUE) { throw CFLib.getDefaultExceptionFactory() .newArgumentUnderflowException( getClass(), "setRequiredId", 1, "value", value, CFBamClusterBuff.ID_MIN_VALUE); } requiredId = value; } public String getRequiredFullDomainName() { return (requiredFullDomainName); } public void setRequiredFullDomainName(String value) { if (value == null) { throw CFLib.getDefaultExceptionFactory() .newNullArgumentException(getClass(), "setRequiredFullDomainName", 1, "value"); } if (value.length() > 192) { throw CFLib.getDefaultExceptionFactory() .newArgumentOverflowException( getClass(), "setRequiredFullDomainName", 1, "value.length()", value.length(), 192); } requiredFullDomainName = value; } public String getRequiredDescription() { return (requiredDescription); } public void setRequiredDescription(String value) { if (value == null) { throw CFLib.getDefaultExceptionFactory() .newNullArgumentException(getClass(), "setRequiredDescription", 1, "value"); } if (value.length() > 128) { throw CFLib.getDefaultExceptionFactory() .newArgumentOverflowException( getClass(), "setRequiredDescription", 1, "value.length()", value.length(), 128); } requiredDescription = value; } public int getRequiredRevision() { return (requiredRevision); } public void setRequiredRevision(int value) { requiredRevision = value; } public boolean equals(Object obj) { if (obj == null) { return (false); } else if (obj instanceof CFBamClusterBuff) { CFBamClusterBuff rhs = (CFBamClusterBuff) obj; if (!getCreatedByUserId().equals(rhs.getCreatedByUserId())) { return (false); } if (!getCreatedAt().equals(rhs.getCreatedAt())) { return (false); } if (!getUpdatedByUserId().equals(rhs.getUpdatedByUserId())) { return (false); } if (!getUpdatedAt().equals(rhs.getUpdatedAt())) { return (false); } if (getRequiredId() != rhs.getRequiredId()) { return (false); } if (!getRequiredFullDomainName().equals(rhs.getRequiredFullDomainName())) { return (false); } if (!getRequiredDescription().equals(rhs.getRequiredDescription())) { return (false); } return (true); } else if (obj instanceof CFBamClusterPKey) { CFBamClusterPKey rhs = (CFBamClusterPKey) obj; if (getRequiredId() != rhs.getRequiredId()) { return (false); } return (true); } else if (obj instanceof CFBamClusterHBuff) { CFBamClusterHBuff rhs = (CFBamClusterHBuff) obj; if (getRequiredId() != rhs.getRequiredId()) { return (false); } if (!getRequiredFullDomainName().equals(rhs.getRequiredFullDomainName())) { return (false); } if (!getRequiredDescription().equals(rhs.getRequiredDescription())) { return (false); } return (true); } else if (obj instanceof CFBamClusterHPKey) { CFBamClusterHPKey rhs = (CFBamClusterHPKey) obj; if (getRequiredId() != rhs.getRequiredId()) { return (false); } return (true); } else if (obj instanceof CFBamClusterByUDomainNameIdxKey) { CFBamClusterByUDomainNameIdxKey rhs = (CFBamClusterByUDomainNameIdxKey) obj; if (!getRequiredFullDomainName().equals(rhs.getRequiredFullDomainName())) { return (false); } return (true); } else if (obj instanceof CFBamClusterByUDescrIdxKey) { CFBamClusterByUDescrIdxKey rhs = (CFBamClusterByUDescrIdxKey) obj; if (!getRequiredDescription().equals(rhs.getRequiredDescription())) { return (false); } return (true); } else { boolean retval = super.equals(obj); return (retval); } } public int hashCode() { int hashCode = 0; hashCode = hashCode + getCreatedByUserId().hashCode(); hashCode = hashCode + getCreatedAt().hashCode(); hashCode = hashCode + getUpdatedByUserId().hashCode(); hashCode = hashCode + getUpdatedAt().hashCode(); hashCode = hashCode + (int) (getRequiredId()); if (getRequiredFullDomainName() != null) { hashCode = hashCode + getRequiredFullDomainName().hashCode(); } if (getRequiredDescription() != null) { hashCode = hashCode + getRequiredDescription().hashCode(); } return (hashCode & 0x7fffffff); } public int compareTo(Object obj) { if (obj == null) { return (-1); } else if (obj instanceof CFBamClusterBuff) { CFBamClusterBuff rhs = (CFBamClusterBuff) obj; int retval = 0; { int cmp = getCreatedByUserId().compareTo(rhs.getCreatedByUserId()); if (cmp != 0) { return (cmp); } cmp = getCreatedAt().compareTo(rhs.getCreatedAt()); if (cmp != 0) { return (cmp); } cmp = getUpdatedByUserId().compareTo(rhs.getUpdatedByUserId()); if (cmp != 0) { return (cmp); } cmp = getUpdatedAt().compareTo(rhs.getUpdatedAt()); if (cmp != 0) { return (cmp); } } if (getRequiredId() < rhs.getRequiredId()) { return (-1); } else if (getRequiredId() > rhs.getRequiredId()) { return (1); } { int cmp = getRequiredFullDomainName().compareTo(rhs.getRequiredFullDomainName()); if (cmp != 0) { return (cmp); } } { int cmp = getRequiredDescription().compareTo(rhs.getRequiredDescription()); if (cmp != 0) { return (cmp); } } return (0); } else if (obj instanceof CFBamClusterPKey) { CFBamClusterPKey rhs = (CFBamClusterPKey) obj; if (getRequiredId() < rhs.getRequiredId()) { return (-1); } else if (getRequiredId() > rhs.getRequiredId()) { return (1); } return (0); } else if (obj instanceof CFBamClusterHPKey) { CFBamClusterHPKey rhs = (CFBamClusterHPKey) obj; { int lhsRequiredRevision = getRequiredRevision(); int rhsRequiredRevision = rhs.getRequiredRevision(); if (lhsRequiredRevision < rhsRequiredRevision) { return (-1); } else if (lhsRequiredRevision > rhsRequiredRevision) { return (1); } } if (getRequiredId() < rhs.getRequiredId()) { return (-1); } else if (getRequiredId() > rhs.getRequiredId()) { return (1); } return (0); } else if (obj instanceof CFBamClusterHBuff) { CFBamClusterHBuff rhs = (CFBamClusterHBuff) obj; int retval = 0; if (getRequiredId() < rhs.getRequiredId()) { return (-1); } else if (getRequiredId() > rhs.getRequiredId()) { return (1); } { int cmp = getRequiredFullDomainName().compareTo(rhs.getRequiredFullDomainName()); if (cmp != 0) { return (cmp); } } { int cmp = getRequiredDescription().compareTo(rhs.getRequiredDescription()); if (cmp != 0) { return (cmp); } } return (0); } else if (obj instanceof CFBamClusterByUDomainNameIdxKey) { CFBamClusterByUDomainNameIdxKey rhs = (CFBamClusterByUDomainNameIdxKey) obj; { int cmp = getRequiredFullDomainName().compareTo(rhs.getRequiredFullDomainName()); if (cmp != 0) { return (cmp); } } return (0); } else if (obj instanceof CFBamClusterByUDescrIdxKey) { CFBamClusterByUDescrIdxKey rhs = (CFBamClusterByUDescrIdxKey) obj; { int cmp = getRequiredDescription().compareTo(rhs.getRequiredDescription()); if (cmp != 0) { return (cmp); } } return (0); } else { throw CFLib.getDefaultExceptionFactory() .newUnsupportedClassException(getClass(), "compareTo", "obj", obj, null); } } public void set(CFBamClusterBuff src) { setClusterBuff(src); } public void setClusterBuff(CFBamClusterBuff src) { setRequiredId(src.getRequiredId()); setCreatedByUserId(src.getCreatedByUserId()); setCreatedAt(src.getCreatedAt()); setUpdatedByUserId(src.getUpdatedByUserId()); setUpdatedAt(src.getUpdatedAt()); setRequiredFullDomainName(src.getRequiredFullDomainName()); setRequiredDescription(src.getRequiredDescription()); setRequiredRevision(src.getRequiredRevision()); } public void set(CFBamClusterHBuff src) { setClusterBuff(src); } public void setClusterBuff(CFBamClusterHBuff src) { setRequiredId(src.getRequiredId()); setRequiredFullDomainName(src.getRequiredFullDomainName()); setRequiredDescription(src.getRequiredDescription()); } }
public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException { CFFreeSwitchXMsgSchemaMessageFormatter schemaFormatter = null; try { // Common XML Attributes String attrId = null; // Request Attributes String attrSecSessionId = null; // Attribute Extraction String attrLocalName; int numAttrs; int idxAttr; final String S_ProcName = "startElement"; final String S_LocalName = "LocalName"; assert qName.equals("RqstLogOut"); CFFreeSwitchXMsgRqstHandler xmsgRqstHandler = (CFFreeSwitchXMsgRqstHandler) getParser(); if (xmsgRqstHandler == null) { throw CFLib.getDefaultExceptionFactory() .newNullArgumentException(getClass(), S_ProcName, 0, "getParser()"); } schemaFormatter = xmsgRqstHandler.getSchemaMessageFormatter(); ICFFreeSwitchSchemaObj schemaObj = xmsgRqstHandler.getSchemaObj(); if (schemaObj == null) { throw CFLib.getDefaultExceptionFactory() .newNullArgumentException(getClass(), S_ProcName, 0, "getParser().getSchemaObj()"); } // Extract Attributes numAttrs = attrs.getLength(); for (idxAttr = 0; idxAttr < numAttrs; idxAttr++) { attrLocalName = attrs.getLocalName(idxAttr); if (attrLocalName.equals("Id")) { if (attrId != null) { throw CFLib.getDefaultExceptionFactory() .newUniqueIndexViolationException( getClass(), S_ProcName, S_LocalName, attrLocalName); } attrId = attrs.getValue(idxAttr); } else if (attrLocalName.equals("SecSessionId")) { if (attrSecSessionId != null) { throw CFLib.getDefaultExceptionFactory() .newUniqueIndexViolationException( getClass(), S_ProcName, S_LocalName, attrLocalName); } attrSecSessionId = attrs.getValue(idxAttr); } else if (attrLocalName.equals("schemaLocation")) { // ignored } else { throw CFLib.getDefaultExceptionFactory() .newUnrecognizedAttributeException( getClass(), S_ProcName, getParser().getLocationInfo(), attrLocalName); } } // Ensure that required attributes have values if ((attrSecSessionId == null) || (attrSecSessionId.length() <= 0)) { throw CFLib.getDefaultExceptionFactory() .newNullArgumentException(getClass(), S_ProcName, 0, "SecSessionId"); } UUID secSessionId = UUID.fromString(attrSecSessionId); if (secSessionId == null) { throw CFLib.getDefaultExceptionFactory() .newNullArgumentException(getClass(), S_ProcName, 0, "converted-secSessionId"); } if (schemaObj.getAuthorization() == null) { throw CFLib.getDefaultExceptionFactory() .newRuntimeException(getClass(), S_ProcName, "Already disconnected from the database"); } ICFSecuritySecSessionObj secSession = schemaObj.getSecSession(); if (secSession == null) { throw CFLib.getDefaultExceptionFactory() .newRuntimeException( getClass(), S_ProcName, "Security session does not exist for this schema"); } if (!secSessionId.equals(secSession.getRequiredSecSessionId())) { throw CFLib.getDefaultExceptionFactory() .newRuntimeException( getClass(), S_ProcName, "Security session id does not match the one established by this schema"); } if (secSession.getOptionalFinish() == null) { schemaObj.rollback(); schemaObj.beginTransaction(); ICFSecuritySecSessionEditObj editSecSession = secSession.beginEdit(); editSecSession.setOptionalFinish(Calendar.getInstance()); editSecSession.update(); editSecSession.endEdit(); schemaObj.commit(); } schemaObj.disconnect(false); schemaObj.setAuthorization(null); String response = schemaFormatter.formatRspnXmlPreamble() + "\n" + "\t" + CFFreeSwitchXMsgSchemaMessageFormatter.formatRspnLoggedOut("\n\t\t\t", secSessionId) + "\n" + schemaFormatter.formatRspnXmlPostamble(); ((CFFreeSwitchXMsgRqstHandler) getParser()).appendResponse(response); } catch (RuntimeException e) { CFFreeSwitchXMsgRqstHandler xmsgRqstHandler = ((CFFreeSwitchXMsgRqstHandler) getParser()); schemaFormatter = xmsgRqstHandler.getSchemaMessageFormatter(); String response = schemaFormatter.formatRspnXmlPreamble() + "\n" + "\t" + CFFreeSwitchXMsgSchemaMessageFormatter.formatRspnException("\n\t\t\t", e) + "\n" + schemaFormatter.formatRspnXmlPostamble(); xmsgRqstHandler.resetResponse(); xmsgRqstHandler.appendResponse(response); xmsgRqstHandler.setCaughtException(true); } catch (Error e) { CFFreeSwitchXMsgRqstHandler xmsgRqstHandler = ((CFFreeSwitchXMsgRqstHandler) getParser()); schemaFormatter = xmsgRqstHandler.getSchemaMessageFormatter(); String response = schemaFormatter.formatRspnXmlPreamble() + "\n" + "\t" + CFFreeSwitchXMsgSchemaMessageFormatter.formatRspnException("\n\t\t\t", e) + "\n" + schemaFormatter.formatRspnXmlPostamble(); xmsgRqstHandler.resetResponse(); xmsgRqstHandler.appendResponse(response); xmsgRqstHandler.setCaughtException(true); } }