use of org.openecard.gui.definition.Step in project open-ecard by ecsec.
the class UnblockPINDialog method createSteps.
/**
* Create the list of steps depending on the state of the pin.
*
* @return list of steps for the Dialog
*/
private List<Step> createSteps() {
List<Step> steps = new ArrayList<Step>();
if (state.equals(RecognizedState.PIN_blocked)) {
Step pukStep = createPUKStep();
steps.add(pukStep);
Step successStep = createSuccessStep();
steps.add(successStep);
} else {
Step errorStep = createErrorStep();
steps.add(errorStep);
}
return steps;
}
use of org.openecard.gui.definition.Step in project open-ecard by ecsec.
the class UnblockPINDialog method createPUKStep.
/**
* Create the step that asks the user to insert the PUK.
*
* @return Step for PUK entry
*/
private Step createPUKStep() {
Step pukStep = new Step("insert-card", lang.translationForKey(PUKSTEP_TITLE));
Text i1 = new Text();
pukStep.getInputInfoUnits().add(i1);
if (!capturePin) {
pukStep.setInstantReturn(true);
i1.setText(lang.translationForKey(PUKSTEP_NATIVE_DESCRIPTION));
} else {
i1.setText(lang.translationForKey(PUKSTEP_DESCRIPTION));
PasswordField pukField = new PasswordField(PUK_FIELD);
pukField.setDescription(lang.translationForKey(PUKSTEP_PUK));
pukStep.getInputInfoUnits().add(pukField);
}
StepAction pinAction = new PUKStepAction(capturePin, conHandle.getSlotHandle(), dispatcher, pukStep);
pukStep.setAction(pinAction);
return pukStep;
}
use of org.openecard.gui.definition.Step in project open-ecard by ecsec.
the class CHATStep method createDummy.
public static Step createDummy() {
Step s = new Step(STEP_ID);
s.setTitle(LANG.translationForKey(TITLE));
s.setDescription(LANG.translationForKey(STEP_DESCRIPTION));
return s;
}
use of org.openecard.gui.definition.Step in project open-ecard by ecsec.
the class CHATStepAction method perform.
@Override
public StepActionResult perform(Map<String, ExecutionResults> oldResults, StepResult result) {
if (result.isOK()) {
processResult(oldResults);
DynamicContext ctx = DynamicContext.getInstance(TR03112Keys.INSTANCE_KEY);
boolean nativePace = (boolean) ctx.get(EACProtocol.IS_NATIVE_PACE);
PACEMarkerType paceMarker = (PACEMarkerType) ctx.get(EACProtocol.PACE_MARKER);
EacPinStatus status = (EacPinStatus) ctx.get(EACProtocol.PIN_STATUS);
byte[] slotHandle = (byte[]) ctx.get(EACProtocol.SLOT_HANDLE);
Dispatcher dispatcher = (Dispatcher) ctx.get(EACProtocol.DISPATCHER);
Step pinStep;
assert (status != null);
switch(status) {
case BLOCKED:
ctx.put(EACProtocol.PIN_BLOCKED_STATUS, status);
pinStep = new ErrorStep(LANG.translationForKey("step_error_title_blocked", PIN), LANG.translationForKey("step_error_pin_blocked", PIN, PIN, PUK, PIN), WSHelper.createException(WSHelper.makeResultError(ECardConstants.Minor.IFD.PASSWORD_BLOCKED, "Password blocked.")));
break;
case DEACTIVATED:
ctx.put(EACProtocol.PIN_BLOCKED_STATUS, status);
pinStep = new ErrorStep(LANG.translationForKey("step_error_title_deactivated"), LANG.translationForKey("step_error_pin_deactivated"), WSHelper.createException(WSHelper.makeResultError(ECardConstants.Minor.IFD.PASSWORD_SUSPENDED, "Card deactivated.")));
break;
default:
pinStep = new PINStep(eacData, !nativePace, paceMarker, status);
pinStep.setBackgroundTask(bTask);
StepAction pinAction = new PINStepAction(eacData, !nativePace, slotHandle, dispatcher, (PINStep) pinStep, status);
pinStep.setAction(pinAction);
}
return new StepActionResult(StepActionResultStatus.NEXT, pinStep);
} else {
// cancel can not happen, so only back is left to be handled
return new StepActionResult(StepActionResultStatus.BACK);
}
}
use of org.openecard.gui.definition.Step in project open-ecard by ecsec.
the class UpdateDialog method createDialog.
private UserConsentDescription createDialog() throws MalformedURLException {
UserConsentDescription uc = new UserConsentDescription(LANG.translationForKey(TITLE), "update_dialog");
Step s = new Step(LANG.translationForKey(TITLE));
uc.getSteps().add(s);
Text t;
if (updateRequired) {
t = new Text(LANG.translationForKey(TEXT_REQUIRED, AppVersion.getName()));
} else {
t = new Text(LANG.translationForKey(TEXT_OPTIONAL, AppVersion.getName()));
}
s.getInputInfoUnits().add(t);
s.getInputInfoUnits().add(new Text(LANG.translationForKey(TEXT_INSTRUCTIONS)));
Hyperlink link = new Hyperlink();
link.setHref(dlUrl);
s.getInputInfoUnits().add(link);
return uc;
}
Aggregations