/* * DSS - Digital Signature Services * * Copyright (C) 2013 European Commission, Directorate-General Internal Market and Services (DG MARKT), B-1049 Bruxelles/Brussel * * Developed by: 2013 ARHS Developments S.A. (rue Nicolas Bové 2B, L-1253 Luxembourg) http://www.arhs-developments.com * * This file is part of the "DSS - Digital Signature Services" project. * * "DSS - Digital Signature Services" is free software: you can redistribute it and/or modify it under the terms of * the GNU Lesser General Public License as published by the Free Software Foundation, either version 2.1 of the * License, or (at your option) any later version. * * DSS 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along with * "DSS - Digital Signature Services". If not, see <http://www.gnu.org/licenses/>. */ package eu.europa.ec.markt.dss.validation102853.tsl; import java.util.Collections; import java.util.Date; import java.util.List; import eu.europa.ec.markt.tsl.jaxb.tsl.DigitalIdentityListType; import eu.europa.ec.markt.tsl.jaxb.tsl.ExtensionType; import eu.europa.ec.markt.tsl.jaxb.tsl.ExtensionsListType; import eu.europa.ec.markt.tsl.jaxb.tsl.InternationalNamesType; import eu.europa.ec.markt.tsl.jaxb.tsl.MultiLangNormStringType; import eu.europa.ec.markt.tsl.jaxb.tsl.TSPServiceInformationType; import eu.europa.ec.markt.tsl.jaxb.tsl.TSPServiceType; /** * Current entry of the Service for the TrustedList * * @version $Revision: 1154 $ - $Date: 2012-02-23 16:04:49 +0100 (Thu, 23 Feb 2012) $ */ class CurrentTrustService extends AbstractTrustService { private TSPServiceType service; /** * The default constructor for TrustService. * * @param service */ CurrentTrustService(TSPServiceType service) { this.service = service; } @Override List<ExtensionType> getExtensions() { final TSPServiceInformationType serviceInfo = service.getServiceInformation(); if (serviceInfo != null) { final ExtensionsListType extensionsList = serviceInfo.getServiceInformationExtensions(); if (extensionsList != null) { return extensionsList.getExtension(); } } return Collections.emptyList(); } @Override DigitalIdentityListType getServiceDigitalIdentity() { return service.getServiceInformation().getServiceDigitalIdentity(); } @Override String getStatus() { return service.getServiceInformation().getServiceStatus(); } @Override Date getStatusStartDate() { if (service.getServiceInformation() != null && service.getServiceInformation().getStatusStartingTime() != null) { return service.getServiceInformation().getStatusStartingTime().toGregorianCalendar().getTime(); } else { return null; } } @Override Date getStatusEndDate() { return null; } @Override String getType() { return service.getServiceInformation().getServiceTypeIdentifier(); } @Override String getServiceName() { /* Return the english name or the first name */ InternationalNamesType names = service.getServiceInformation().getServiceName(); for (MultiLangNormStringType s : names.getName()) { if ("en".equalsIgnoreCase(s.getLang())) { return s.getValue(); } } return names.getName().get(0).getValue(); } }