/** * @return */ ServiceInfo createServiceInfo() { final ServiceInfo service = new ServiceInfo(); final List<QualificationsType> qualificationList = getQualificationsType(); for (final QualificationsType qualifications : qualificationList) { for (final QualificationElementType qualificationElement : qualifications.getQualificationElement()) { parseQualificationElement(qualificationElement, service); } } service.setExpiredCertsRevocationInfo(expiredCertsRevocationInfo); return service; }
private Date getExpiredCertsRevocationFromDate(final CertificateToken certificateToken) { final CertificateToken trustAnchor = certificateToken.getTrustAnchor(); if (trustAnchor != null) { final List<ServiceInfo> serviceInfoList = trustAnchor.getAssociatedTSPS(); if (serviceInfoList != null) { final Date notAfter = certificateToken.getNotAfter(); for (final ServiceInfo serviceInfo : serviceInfoList) { final Date date = serviceInfo.getExpiredCertsRevocationInfo(); if (date != null && date.before(notAfter)) { if (serviceInfo.getStatusEndDate() == null) { /** * Service is still active (operational) */ // if(serviceInfo.getStatus().equals()) return date; } } } } } return null; }
xmlTSP.setTSPName(serviceInfo.getTspName()); xmlTSP.setTSPServiceName(serviceInfo.getServiceName()); xmlTSP.setTSPServiceType(serviceInfo.getType()); xmlTSP.setWellSigned(serviceInfo.isTlWellSigned()); final Date statusStartDate = serviceInfo.getStatusStartDate(); xmlTSP.setStatus(serviceInfo.getStatus()); xmlTSP.setStartDate(DSSXMLUtils.createXMLGregorianCalendar(statusStartDate)); xmlTSP.setEndDate(DSSXMLUtils.createXMLGregorianCalendar(serviceInfo.getStatusEndDate())); xmlTSP.setExpiredCertsRevocationInfo(DSSXMLUtils.createXMLGregorianCalendar(serviceInfo.getExpiredCertsRevocationInfo())); final List<String> qualifiers = serviceInfo.getQualifiers(certToken); if (!qualifiers.isEmpty()) {
private void parseQualificationElement(final QualificationElementType qualificationElement, final ServiceInfo service) { final QualifiersType qualifierList = qualificationElement.getQualifiers(); if (qualifierList == null || qualifierList.getQualifier().isEmpty()) { return; } try { final CriteriaListType criteriaList = qualificationElement.getCriteriaList(); if (criteriaList != null) { if (criteriaList.getKeyUsage().isEmpty() && criteriaList.getPolicySet().isEmpty() && criteriaList.getCriteriaList().isEmpty()) { LOG.trace("CriteriaList for service is empty, the QualificationElement is skipped."); return; } final Condition compositeCondition = parseCriteriaList(criteriaList); for (QualifierType qualifier : qualifierList.getQualifier()) { service.addQualifierAndCondition(qualifier.getUri(), compositeCondition); } } } catch (IllegalArgumentException e) { throw new DSSNotETSICompliantException(DSSNotETSICompliantException.MSG.UNSUPPORTED_ASSERT); } }