summaryrefslogtreecommitdiff
path: root/mocca-1.2.11/STALXService/src/main/java/at/gv/egiz/stalx/service/translator/STALXTranslationHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'mocca-1.2.11/STALXService/src/main/java/at/gv/egiz/stalx/service/translator/STALXTranslationHandler.java')
-rw-r--r--mocca-1.2.11/STALXService/src/main/java/at/gv/egiz/stalx/service/translator/STALXTranslationHandler.java217
1 files changed, 0 insertions, 217 deletions
diff --git a/mocca-1.2.11/STALXService/src/main/java/at/gv/egiz/stalx/service/translator/STALXTranslationHandler.java b/mocca-1.2.11/STALXService/src/main/java/at/gv/egiz/stalx/service/translator/STALXTranslationHandler.java
deleted file mode 100644
index d432b170..00000000
--- a/mocca-1.2.11/STALXService/src/main/java/at/gv/egiz/stalx/service/translator/STALXTranslationHandler.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Copyright 2008 Federal Chancellery Austria and
- * Graz University of Technology
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package at.gv.egiz.stalx.service.translator;
-
-import at.buergerkarte.namespaces.cardchannel.service.ATRType;
-import at.buergerkarte.namespaces.cardchannel.service.CommandAPDUType;
-import at.buergerkarte.namespaces.cardchannel.service.ObjectFactory;
-import at.buergerkarte.namespaces.cardchannel.service.ResetType;
-import at.buergerkarte.namespaces.cardchannel.service.ResponseAPDUType;
-import at.buergerkarte.namespaces.cardchannel.service.ScriptType;
-import at.buergerkarte.namespaces.cardchannel.service.VerifyAPDUType;
-import at.gv.egiz.stal.STALRequest;
-import at.gv.egiz.stal.STALResponse;
-import at.gv.egiz.stal.ext.APDUScriptRequest;
-import at.gv.egiz.stal.ext.APDUScriptRequest.RequestScriptElement;
-import at.gv.egiz.stal.ext.APDUScriptResponse;
-import at.gv.egiz.stal.service.translator.STALTranslator;
-import at.gv.egiz.stal.service.translator.TranslationException;
-import at.gv.egiz.stal.service.types.RequestType;
-import at.gv.egiz.stal.service.types.ResponseType;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import javax.xml.bind.JAXBElement;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- *
- * @author Clemens Orthacker <clemens.orthacker@iaik.tugraz.at>
- */
-public class STALXTranslationHandler implements STALTranslator.TranslationHandler {
-
- private static final Log log = LogFactory.getLog(STALXTranslationHandler.class);
- ObjectFactory of;
-
- public STALXTranslationHandler() {
- of = new ObjectFactory();
- }
-
- @Override
- public List<Class> getSupportedTypes() {
- return Arrays.asList(new Class[]{ScriptType.class,
- at.buergerkarte.namespaces.cardchannel.service.ResponseType.class,
- APDUScriptRequest.class,
- APDUScriptResponse.class});
- }
-
- @Override
- public JAXBElement<? extends RequestType> translate(STALRequest request) throws TranslationException {
- if (request instanceof APDUScriptRequest) {
- log.trace("translate at.gv.egiz.stal.ext.APDUScriptRequest -> at.buergerkarte.namespaces.cardchannel.service.ScriptType");
-
- ScriptType scriptT = of.createScriptType();
-
- List<RequestScriptElement> script = ((APDUScriptRequest) request).getScript();
- for (RequestScriptElement requestScriptElement : script) {
- if (requestScriptElement instanceof APDUScriptRequest.Reset) {
- scriptT.getResetOrCommandAPDUOrVerifyAPDU().add(of.createResetType());
- } else if (requestScriptElement instanceof APDUScriptRequest.Command) {
- APDUScriptRequest.Command cmd = (APDUScriptRequest.Command) requestScriptElement;
- CommandAPDUType commandAPDUType = of.createCommandAPDUType();
- commandAPDUType.setSequence(BigInteger.valueOf(cmd.getSequence()));
- commandAPDUType.setValue(cmd.getCommandAPDU());
- commandAPDUType.setExpectedSW(cmd.getExpectedSW());
- scriptT.getResetOrCommandAPDUOrVerifyAPDU().add(commandAPDUType);
- } else {
- log.error("invalid requestScriptElement " + requestScriptElement.getClass());
- throw new TranslationException(requestScriptElement.getClass());
- }
- }
-
- return of.createScript(scriptT);
- } else {
- log.error("cannot translate " + request.getClass());
- throw new TranslationException(request.getClass());
- }
- }
-
- @Override
- public STALRequest translate(RequestType request) throws TranslationException {
- if (request instanceof ScriptType) {
-
- log.trace("translate at.buergerkarte.namespaces.cardchannel.service.ScriptType -> at.gv.egiz.stal.ext.APDUScriptRequest");
-
- List<Object> resetOrCommandAPDUOrVerifyAPDU = ((ScriptType) request).getResetOrCommandAPDUOrVerifyAPDU();
- List<APDUScriptRequest.RequestScriptElement> requestScript = new ArrayList<APDUScriptRequest.RequestScriptElement>();
-
- for (Object element : resetOrCommandAPDUOrVerifyAPDU) {
-
- if (element instanceof ResetType) {
-
- requestScript.add(new APDUScriptRequest.Reset());
-
- } else if (element instanceof CommandAPDUType) {
-
- CommandAPDUType commandAPDU = (CommandAPDUType) element;
- int sequence = (commandAPDU.getSequence() != null)
- ? commandAPDU.getSequence().intValue()
- : 0;
-
- requestScript.add(
- new APDUScriptRequest.Command(
- sequence,
- commandAPDU.getValue(),
- commandAPDU.getExpectedSW()));
-
- } else if (element instanceof VerifyAPDUType) {
- log.error("CardChannel script command 'VerifyAPDU' not implemented.");
- throw new TranslationException(VerifyAPDUType.class);
- } else {
- log.error("invalid requestScriptElement element " + element.getClass());
- throw new TranslationException(element.getClass());
- }
- }
-
- return new APDUScriptRequest(requestScript);
-
- } else {
- log.error("cannot translate " + request.getClass());
- throw new TranslationException(request.getClass());
- }
- }
-
- @Override
- public JAXBElement<? extends ResponseType> translate(STALResponse response) throws TranslationException {
- if (response instanceof APDUScriptResponse) {
- log.trace("translate at.gv.egiz.stal.ext.APDUScriptResponse -> at.buergerkarte.namespaces.cardchannel.service.ResponseType");
- at.buergerkarte.namespaces.cardchannel.service.ResponseType responseT = of.createResponseType();
- List<APDUScriptResponse.ResponseScriptElement> responseScript = ((APDUScriptResponse) response).getScript();
-
- for (APDUScriptResponse.ResponseScriptElement element : responseScript) {
-
- if (element instanceof APDUScriptResponse.ATR) {
-
- byte[] atr = ((APDUScriptResponse.ATR) element).getAtr();
-
- ATRType atrType = of.createATRType();
- atrType.setValue(atr);
- atrType.setRc(BigInteger.ZERO);
- responseT.getATROrResponseAPDU().add(atrType);
-
- } else if (element instanceof APDUScriptResponse.Response) {
-
- APDUScriptResponse.Response resp = (APDUScriptResponse.Response) element;
-
- ResponseAPDUType responseAPDUType = of.createResponseAPDUType();
- responseAPDUType.setSequence(BigInteger.valueOf(resp.getSequence()));
- responseAPDUType.setRc(BigInteger.valueOf(resp.getRc()));
- responseAPDUType.setSW(resp.getSw());
- responseAPDUType.setValue(resp.getApdu());
-
- responseT.getATROrResponseAPDU().add(responseAPDUType);
- } else {
- log.error("invalid responseScriptElement " + element.getClass());
- throw new TranslationException(element.getClass());
- }
- }
- return of.createResponse(responseT);
- } else {
- log.error("cannot translate " + response.getClass());
- throw new TranslationException(response.getClass());
- }
- }
-
- @Override
- public STALResponse translate(ResponseType response) throws TranslationException {
- if (response instanceof at.buergerkarte.namespaces.cardchannel.service.ResponseType) {
- log.trace("translate at.buergerkarte.namespaces.cardchannel.service.ResponseType -> at.gv.egiz.stal.ext.APDUScriptResponse");
-
- List<Object> atrOrResponseAPDU = ((at.buergerkarte.namespaces.cardchannel.service.ResponseType) response).getATROrResponseAPDU();
- List<APDUScriptResponse.ResponseScriptElement> responseScript = new ArrayList<APDUScriptResponse.ResponseScriptElement>();
-
- for (Object object : atrOrResponseAPDU) {
- if (object instanceof ATRType) {
- byte[] atr = ((ATRType) object).getValue();
- responseScript.add(new APDUScriptResponse.ATR(atr));
- } else if (object instanceof ResponseAPDUType) {
- ResponseAPDUType respAPDU = (ResponseAPDUType) object;
- int sequence = (respAPDU.getSequence() != null)
- ? respAPDU.getSequence().intValue()
- : 0;
- int rc = (respAPDU.getRc() != null)
- ? respAPDU.getRc().intValue()
- : 0;
- responseScript.add(new APDUScriptResponse.Response(sequence,
- respAPDU.getValue(),
- respAPDU.getSW(),
- rc));
- } else {
- log.error("invalid responseScriptElement " + object.getClass());
- throw new TranslationException(object.getClass());
- }
- }
- return new APDUScriptResponse(responseScript);
-
- } else {
- log.error("cannot translate " + response.getClass());
- throw new TranslationException(response.getClass());
- }
- }
-}