switch(((Integer)(data.get(CA.CATYPE))).intValue()){
case CAInfo.CATYPE_X509:
ca = new X509CA(data, getCaId().intValue(), getSubjectDN(), getName(), getStatus(), getUpdateTimeAsDate(), new Date(getExpireTime()));
break;
case CAInfo.CATYPE_CVC:
ca = new CVCCA(data, getCaId().intValue(), getSubjectDN(), getName(), getStatus(), getUpdateTimeAsDate());
break;
}
final boolean upgradedExtendedService = ca.upgradeExtendedCAServices();
// Compare old version with current version and save the data if there has been a change
if ( ((ca != null) && (Float.compare(oldversion, ca.getVersion()) != 0)) || upgradedExtendedService) {