@Override public ImmutableSet<K> getKeysOf(V value) { ImmutableSet<K> ret = null; if (this.bidirectionalMap!=null) { LinkedHashSet<K> set = new LinkedHashSet<K>(); if (this.bidirectionalMap.rightContains(value)) { K key = this.bidirectionalMap.rightGet(value); set.add(key); } ret = new ImmutableSetWrapper<K>(set); } else { ret = this.valueSetMap.getKeysOf(value); } return ret; }
/** * @param node * @param mapNodeToId * @param id * @param nodeToConllStringConvertor * @param variableId * @return * @throws ConllConverterException */ private static <I extends Info, N extends AbstractNode<I, N>> StringBuilder nodeToConll(N node, BidirectionalMap<N, N> alignments, Map<N, Integer> mapNodeToId, RuleConllStringConverter<I, N> nodeToConllStringConvertor) throws ConllConverterException { StringBuilder conllStr = new StringBuilder(); int variableId = -1; // -1 means no alignment if (alignments.leftContains(node)) variableId = mapNodeToId.get(alignments.leftGet(node)); else if (alignments.rightContains(node)) variableId = mapNodeToId.get(alignments.rightGet(node)); conllStr.append(nodeToConllStringConvertor.convert(node, mapNodeToId, variableId)).append('\n'); if (node.hasChildren()) for (N child : node.getChildren()) conllStr.append(nodeToConll(child, alignments , mapNodeToId, nodeToConllStringConvertor)); return conllStr; }
protected void updateAntecedentInformation() { for (ExtendedNode newNode : mapOrigToCopy.rightSet()) { ExtendedNode originalNode = mapOrigToCopy.rightGet(newNode); if (originalNode.getAntecedent()!=null) { ExtendedNode originalNodeAntecedent = originalNode.getAntecedent(); ExtendedNode newNodeAntecedent = mapOrigToCopy.leftGet(originalNodeAntecedent); newNode.setAntecedent(newNodeAntecedent); } } }
String rightHandSideTemplate = mapTemplateToId.rightGet(idAndScore.getId()); if (null==givenTemplateConverter)
/** * @param rhs * @param helpMap * @param newMapping * @return */ private N convertRhsToNNodes( CN rhs, BidirectionalMap<N, CN> helpMap, BidirectionalMap<N, N> newMapping) { N newRhs = compilationServices.newNode(rhs.getInfo()); if (rhs.getChildren() != null) for (CN child : rhs.getChildren()) { N newChild = convertRhsToNNodes(child, helpMap, newMapping); newRhs.addChild(newChild); newChild.setAntecedent(newRhs); } // update the new mapping if necessary if (helpMap.rightContains(rhs)) newMapping.put(helpMap.rightGet(rhs), newRhs); return newRhs; }
ExtendedNode treeNodeInExtendedTree = mapTextTree.rightGet(treeNodeInBasicNodeTree); mapLhsToTree.put(lhsNode, treeNodeInExtendedTree);
intersectedBidiMap.put(bidiMap1.rightGet(node), bidiMap2.leftGet(node));
if (infoServices.isVariableR(ruleRhsSubTree.getInfo())) SR lhsMappedNode = rule.getMapNodes().rightGet(ruleRhsSubTree); if (null==lhsMappedNode) throw new TeEngineMlException("unmapped variable"); SR lhsMappedNode = rule.getMapNodes().rightGet(ruleRhsSubTree); ST originalTreeNode = mapRuleLhsToTree.leftGet(lhsMappedNode); if (null==originalTreeNode) throw new TeEngineMlException("left-hand-side or rule without a corresponding node in the text tree."); SR lhs = rule.getMapNodes().rightGet(ruleRhsSubTree); ST originalTreeNode = mapRuleLhsToTree.leftGet(lhs); if (originalTreeNode.getChildren()!=null) SR lhs = rule.getMapNodes().rightGet(ruleRhsSubTree); ST originalTreeNode = mapRuleLhsToTree.leftGet(lhs); mapOrigToGenerated.put(originalTreeNode, ret);