/*
* Copyright(c) 2005 Center for E-Commerce Infrastructure Development, The
* University of Hong Kong (HKU). All Rights Reserved.
*
* This software is licensed under the GNU GENERAL PUBLIC LICENSE Version 2.0 [1]
*
* [1] http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
*/
package hk.hku.cecid.edi.as2.dao;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import hk.hku.cecid.piazza.commons.dao.ds.DataSourceDVO;
/**
* @author Donahue Sze
*
*/
public class PartnershipDataSourceDVO extends DataSourceDVO implements
PartnershipDVO {
public String getPartnershipId() {
return super.getString("partnershipId");
}
public void setPartnershipId(String partnershipId) {
super.setString("partnershipId", partnershipId);
}
public boolean isDisabled() {
return super.getBoolean("isDisabled");
}
public void setIsDisabled(boolean isDisabled) {
super.setString("isDisabled", String.valueOf(isDisabled));
}
public boolean isSyncReply() {
return super.getBoolean("isSyncReply");
}
public void setIsSyncReply(boolean isSyncReply) {
super.setString("isSyncReply", String.valueOf(isSyncReply));
}
public String getSubject() {
return super.getString("subject");
}
public void setSubject(String subject) {
super.setString("subject", subject);
}
public String getRecipientAddress() {
return super.getString("recipientAddress");
}
public void setRecipientAddress(String recipientAddress) {
super.setString("recipientAddress", recipientAddress);
}
public boolean isHostnameVerified() {
return super.getBoolean("isHostnameVerified");
}
public void setIsHostnameVerified(boolean isHostnameVerified) {
super.setString("isHostnameVerified", String.valueOf(isHostnameVerified));
}
public String getReceiptAddress() {
return super.getString("receiptAddress");
}
public void setReceiptAddress(String receiptAddress) {
super.setString("receiptAddress", receiptAddress);
}
public boolean isReceiptRequired() {
return super.getBoolean("isReceiptRequired");
}
public void setIsReceiptRequired(boolean isReceiptRequired) {
super.setString("isReceiptRequired", String.valueOf(isReceiptRequired));
}
public boolean isOutboundSignRequired() {
return super.getBoolean("isOutboundSignRequired");
}
public void setIsOutboundSignRequired(boolean isOutboundSignRequired) {
super.setString("isOutboundSignRequired", String
.valueOf(isOutboundSignRequired));
}
public boolean isOutboundEncryptRequired() {
return super.getBoolean("isOutboundEncryptRequired");
}
public void setIsOutboundEncryptRequired(boolean isOutboundEncryptRequired) {
super.setString("isOutboundEncryptRequired", String
.valueOf(isOutboundEncryptRequired));
}
public boolean isOutboundCompressRequired() {
return super.getBoolean("isOutboundCompressRequired");
}
public void setIsOutboundCompressRequired(boolean isOutboundCompressRequired) {
super.setString("isOutboundCompressRequired", String
.valueOf(isOutboundCompressRequired));
}
public boolean isReceiptSignRequired() {
return super.getBoolean("isReceiptSignRequired");
}
public void setIsReceiptSignRequired(boolean isReceiptSignRequired) {
super.setString("isReceiptSignRequired", String
.valueOf(isReceiptSignRequired));
}
public boolean isInboundSignRequired() {
return super.getBoolean("isInboundSignRequired");
}
public void setIsInboundSignRequired(boolean isInboundSignRequired) {
super.setString("isInboundSignRequired", String
.valueOf(isInboundSignRequired));
}
public boolean isInboundEncryptRequired() {
return super.getBoolean("isInboundEncryptRequired");
}
public void setIsInboundEncryptRequired(boolean isInboundEncryptRequired) {
super.setString("isInboundEncryptRequired", String
.valueOf(isInboundEncryptRequired));
}
public int getRetries() {
return super.getInt("retries");
}
public void setRetries(int retries) {
super.setInt("retries", retries);
}
public int getRetryInterval() {
return super.getInt("retryInterval");
}
public void setRetryInterval(int retryInterval) {
super.setInt("retryInterval", retryInterval);
}
public String getSignAlgorithm() {
return super.getString("signAlgorithm");
}
public void setSignAlgorithm(String signAlgorithm) {
super.setString("signAlgorithm", signAlgorithm);
}
public String getEncryptAlgorithm() {
return super.getString("encryptAlgorithm");
}
public void setEncryptAlgorithm(String encryptAlgorithm) {
super.setString("encryptAlgorithm", encryptAlgorithm);
}
public String getMicAlgorithm() {
return super.getString("micAlgorithm");
}
public void setMicAlgorithm(String micAlgorithm) {
super.setString("micAlgorithm", micAlgorithm);
}
public String getPrincipalId() {
return super.getString("principalId");
}
public void setPrincipalId(String principalId) {
super.setString("principalId", principalId);
}
public String getAS2From() {
return super.getString("as2From");
}
public void setAs2From(String as2From) {
super.setString("as2From", as2From);
}
public String getAs2To() {
return super.getString("as2To");
}
public void setAs2To(String as2To) {
super.setString("as2To", as2To);
}
public byte[] getEncryptCert() {
return (byte[]) super.get("encryptCert");
}
public void setEncryptCert(byte[] encryptCert) {
super.put("encryptCert", encryptCert);
}
public byte[] getVerifyCert() {
return (byte[]) super.get("verifyCert");
}
public void setVerifyCert(byte[] verifyCert) {
super.put("verifyCert", verifyCert);
}
public X509Certificate getEncryptX509Certificate() {
return getX509Certificate(getEncryptCert());
}
public X509Certificate getVerifyX509Certificate() {
return getX509Certificate(getVerifyCert());
}
private X509Certificate getX509Certificate(byte[] bs) {
try {
InputStream certStream = new ByteArrayInputStream(bs);
X509Certificate cert = (X509Certificate) CertificateFactory
.getInstance("X.509").generateCertificate(certStream);
return cert;
}
catch (Exception e) {
return null;
}
}
public X509Certificate getEffectiveVerifyCertificate() {
X509Certificate cert = getVerifyX509Certificate();
if (cert == null) {
cert = getEncryptX509Certificate();
}
return cert;
}
}