public void initTransitionSystem(GuideUserHistory history) throws MaltChainedException { this.actionContainers = history.getActionContainerArray(); if (actionContainers.length < 1) { throw new ParsingException( "Problem when initialize the history (sequence of actions). There are no action containers. "); } int nLabels = 0; for (int i = 0; i < actionContainers.length; i++) { if (actionContainers[i].getTableContainerName().startsWith("A.")) { nLabels++; } } int j = 0; for (int i = 0; i < actionContainers.length; i++) { if (actionContainers[i].getTableContainerName().equals("T.TRANS")) { transActionContainer = actionContainers[i]; } else if (actionContainers[i].getTableContainerName().startsWith("A.")) { if (arcLabelActionContainers == null) { arcLabelActionContainers = new ActionContainer[nLabels]; } arcLabelActionContainers[j++] = actionContainers[i]; } } initWithDefaultTransitions(history); }
protected GuideUserAction updateActionContainers( GuideUserHistory history, int transition, LabelSet arcLabels) throws MaltChainedException { transActionContainer.setAction(transition); if (arcLabels == null) { for (int i = 0; i < arcLabelActionContainers.length; i++) { arcLabelActionContainers[i].setAction(-1); } } else { for (int i = 0; i < arcLabelActionContainers.length; i++) { arcLabelActionContainers[i].setAction( arcLabels.get(arcLabelActionContainers[i].getTable()).shortValue()); } } GuideUserAction oracleAction = history.getEmptyGuideUserAction(); oracleAction.addAction(actionContainers); return oracleAction; }