use of iso.std.iso_iec._24727.tech.schema.Initialize in project open-ecard by ecsec.
the class SelectorSAL method initialize.
@Override
public InitializeResponse initialize(Initialize init) {
InitializeResponse response = WSHelper.makeResponse(InitializeResponse.class, WSHelper.makeResultOK());
// only initialize one time
if (initializedSals.isEmpty()) {
LinkedList<SAL> sals = new LinkedList<>();
sals.add(main);
sals.addAll(special);
for (SAL next : sals) {
try {
InitializeResponse res = next.initialize(init);
WSHelper.checkResult(res);
if (!WSHelper.resultsInWarn(res)) {
if (next instanceof SpecializedSAL) {
initializedSpecializedSals.add((SpecializedSAL) next);
} else {
initializedSals.add(next);
}
}
} catch (WSHelper.WSException ex) {
String msg = "One of the SAL instances failed to initialize:\n" + ex.getMessage();
terminate(new Terminate());
response.setResult(WSHelper.makeResultError(ECardConstants.Minor.Disp.COMM_ERROR, msg));
return response;
}
}
}
return response;
}
use of iso.std.iso_iec._24727.tech.schema.Initialize in project open-ecard by ecsec.
the class TinySALTest method testInitialize.
/**
* Test of initialize method, of class TinySAL.
*/
@Test(enabled = TESTS_ENABLED)
public void testInitialize() {
System.out.println("initialize");
Initialize parameters = new Initialize();
InitializeResponse result = instance.initialize(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
use of iso.std.iso_iec._24727.tech.schema.Initialize in project open-ecard by ecsec.
the class TestClient method setup.
private void setup() throws Exception {
// Set up client environment
ClientEnv env = new ClientEnv();
// Set up the IFD
IFD ifd = new IFD();
env.setIFD(ifd);
// Set up Management
TinyManagement management = new TinyManagement(env);
env.setManagement(management);
// Set up the Dispatcher
MessageDispatcher dispatcher = new MessageDispatcher(env);
env.setDispatcher(dispatcher);
// Perform an EstablishContext to get a ContextHandle
EstablishContext establishContext = new EstablishContext();
EstablishContextResponse establishContextResponse = ifd.establishContext(establishContext);
byte[] contextHandle = ifd.establishContext(establishContext).getContextHandle();
final CardRecognitionImpl recognition = new CardRecognitionImpl(env);
env.setRecognition(recognition);
env.setCIFProvider(new CIFProvider() {
@Override
public CardInfoType getCardInfo(ConnectionHandleType type, String cardType) {
return recognition.getCardInfo(cardType);
}
@Override
public boolean needsRecognition(byte[] atr) {
return true;
}
@Override
public CardInfoType getCardInfo(String cardType) throws RuntimeException {
return recognition.getCardInfo(cardType);
}
@Override
public InputStream getCardImage(String cardType) {
return recognition.getCardImage(cardType);
}
});
// Set up EventManager
EventDispatcher ed = new EventDispatcherImpl();
env.setEventDispatcher(ed);
// Set up SALStateCallback
cardStates = new CardStateMap();
SALStateCallback salCallback = new SALStateCallback(env, cardStates);
ed.add(salCallback);
// Set up SAL
sal = new TinySAL(env, cardStates);
env.setSAL(sal);
// Set up GUI
SwingUserConsent gui = new SwingUserConsent(new SwingDialogWrapper());
sal.setGUI(gui);
ifd.setGUI(gui);
// Initialize the EventManager
ed.start();
AddonManager manager = new AddonManager(env, gui, cardStates, null);
sal.setAddonManager(manager);
HttpBinding binding = new HttpBinding(24727);
binding.setAddonManager(manager);
binding.start();
}
use of iso.std.iso_iec._24727.tech.schema.Initialize in project open-ecard by ecsec.
the class TestEventManager method test.
@Test(enabled = false)
public void test() throws InterruptedException, InitializationException {
Environment env = new ClientEnv();
MiddlewareSAL mwSAL = new MiddlewareSAL(env, null, mwConfig, cb);
env.setSAL(mwSAL);
EventDispatcher ed = new EventDispatcherImpl();
env.setEventDispatcher(ed);
mwSAL.initialize(new Initialize());
ed.start();
Thread.sleep(10000);
}
use of iso.std.iso_iec._24727.tech.schema.Initialize in project open-ecard by ecsec.
the class MiddlewareSAL method initialize.
@Override
public InitializeResponse initialize(Initialize parameters) {
InitializeResponse resp = WSHelper.makeResponse(InitializeResponse.class, WSHelper.makeResultOK());
try {
mwModule.initialize();
eventMan.initialize();
if (gui == null) {
throw new InternalAppError("GUI is not initialized.");
}
} catch (UnsatisfiedLinkError | InitializationException ex) {
String mwSALName = mwSALConfig.getMiddlewareName();
String msg = String.format("Failed to initialize Middleware for '%s'-SAL.", mwSALName);
if (mwSALConfig.isSALRequired()) {
LOG.error(msg, ex);
resp.setResult(WSHelper.makeResultError(ECardConstants.Minor.Disp.COMM_ERROR, msg));
} else {
LOG.warn(msg, ex);
resp.setResult(WSHelper.makeResult(ECardConstants.Major.WARN, ECardConstants.Minor.App.NOT_INITIALIZED, msg));
}
} catch (InternalAppError ex) {
LOG.error(ex.getMessage());
resp.setResult(ex.getResult());
}
return resp;
}
Aggregations