From 53ae98cdfa510650c1e015efd0d11a96ad4dc87a Mon Sep 17 00:00:00 2001 From: Andreas Fitzek Date: Mon, 20 Jun 2016 12:45:07 +0200 Subject: ASiC Library added --- .../gv/egiz/asic/impl/ASiCSimpleFormatFactory.java | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCSimpleFormatFactory.java (limited to 'moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCSimpleFormatFactory.java') diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCSimpleFormatFactory.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCSimpleFormatFactory.java new file mode 100644 index 0000000..90b3081 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCSimpleFormatFactory.java @@ -0,0 +1,54 @@ +package at.gv.egiz.asic.impl; + +import at.gv.egiz.asic.api.ASiCFormat; +import at.gv.egiz.asic.impl.handler.*; +import at.gv.egovernment.moa.spss.MOAApplicationException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Collections; +import java.util.Iterator; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public class ASiCSimpleFormatFactory extends ASiCBaseFormatFactory { + + private static final Logger logger = LoggerFactory.getLogger(ASiCSimpleFormatFactory.class); + + public ASiCSimpleFormatFactory() { + super(); + + handlers.add(new SimpleASiCCAdESHandler()); + handlers.add(new SimpleASiCXAdESHandler()); + handlers.add(new SimpleEvidenceXMLRecordHandler()); + handlers.add(new SimpleEvidenceERSRecordHandler()); + + Collections.sort(handlers, new HandlerSorter()); + + logger.debug("Handler ordering for ASiCSimpleFormatFactory"); + Iterator handlerIterator = this.handlers.iterator(); + while(handlerIterator.hasNext()) { + EntryHandler entryHandler = handlerIterator.next(); + logger.debug(" " + entryHandler.getPriority() + " " + entryHandler.getClass().getSimpleName()); + } + } + + @Override + protected void validate() throws MOAApplicationException { + if(this.dataEntries.size() != 1) { + logger.warn("There can only be one data entry for ASiC signatures in simple format"); + throw new MOAApplicationException("asic.0014", null); + } + + if(this.signatureEntries.size() != 1) { + logger.warn("There can only be one signature entry for ASiC signatures in simple format"); + throw new MOAApplicationException("asic.0015", null); + } + } + + @Override + public ASiCFormat factoryFormat() { + return ASiCFormat.ASiCS; + } +} -- cgit v1.2.3