public void set() throws TeEngineMlException { TreeCopier<ExtendedInfo, ExtendedNode, ExtendedInfo, ExtendedNode> copier = new TreeCopier<ExtendedInfo, ExtendedNode, ExtendedInfo, ExtendedNode>(tree, new SelfTrace_InfoConverter(), new ExtendedNodeConstructor()); copier.copy(); if (this.exception!=null) { throw this.exception; } newTree = copier.getGeneratedTree(); mapping = copier.getNodesMap(); }
protected void generateHypothesisBasicNode() { TreeCopier<ExtendedInfo, ExtendedNode, Info, BasicNode> treeCopier = new TreeCopier<ExtendedInfo, ExtendedNode, Info, BasicNode>( hypothesisTree, new TreeCopier.InfoConverter<ExtendedNode, Info>() { public Info convert(ExtendedNode oi) { return oi.getInfo(); } }, new BasicNodeConstructor() ); treeCopier.copy(); hypothesisTreeAsBasicNode = treeCopier.getGeneratedTree(); }
public BidirectionalMap<ExtendedNode, ExtendedNode> getNodesMap() throws TeEngineMlException { if (null==treeCopier) throw new TeEngineMlException("Not generated"); return treeCopier.getNodesMap(); }
/** * make a deep copy of the tree * @param tree * @return */ public static ExtendedNode dupTree(ExtendedNode tree) { // a private anonymous class that takes nodes and returns them with new annotations InfoConverter<ExtendedNode, ExtendedInfo> dummyInfoConverter = new InfoConverter<ExtendedNode, ExtendedInfo>() { @Override public ExtendedInfo convert(ExtendedNode node) { return new ExtendedInfo(node.getInfo(), node.getInfo().getAdditionalNodeInformation()); } }; TreeCopier<ExtendedInfo, ExtendedNode, ExtendedInfo, ExtendedNode> treeCopier = new TreeCopier<ExtendedInfo, ExtendedNode, ExtendedInfo, ExtendedNode>(tree, dummyInfoConverter, new ExtendedNodeConstructor()); treeCopier.copy(); return treeCopier.getGeneratedTree(); }
public void set() throws TeEngineMlException { TreeCopier<ExtendedInfo, ExtendedNode, ExtendedInfo, ExtendedNode> copier = new TreeCopier<ExtendedInfo, ExtendedNode, ExtendedInfo, ExtendedNode>(inputGeneratedTree, new OriginalInfoTrace_InfoConverter(), new ExtendedNodeConstructor()); copier.copy(); if (this.exception!=null) throw exception; newGeneratedTree = copier.getGeneratedTree(); mapInputToNew = copier.getNodesMap(); }
public void generate() { mapNodeToItsContentAncestor = new LinkedHashMap<ExtendedNode, ExtendedNode>(); fillMapContentAncestor(this.tree,null); ContentAncestorSetterInfoConverter infoConverter = new ContentAncestorSetterInfoConverter(); treeCopier = new TreeCopier<ExtendedInfo, ExtendedNode, ExtendedInfo, ExtendedNode>(tree, infoConverter, new ExtendedNodeConstructor()); treeCopier.copy(); generatedTree = treeCopier.getGeneratedTree(); }
/** * @param constructionTree * @return * @throws AnnotatorException */ public static TwoTreesAndTheirBidirectionalMap<ExtendedConstructionNode, ExtendedNode> dupConstructionTreeToTree(ExtendedConstructionNode constructionTree) throws AnnotatorException { InfoConverter<ExtendedConstructionNode, ExtendedInfo> constructionNodeToNodeInfoConverter = new InfoConverter<ExtendedConstructionNode, ExtendedInfo>() { @Override public ExtendedInfo convert(ExtendedConstructionNode node) { return node.getInfo(); } }; TreeCopier<ExtendedInfo, ExtendedConstructionNode, ExtendedInfo, ExtendedNode> treeCopier = new TreeCopier<ExtendedInfo, ExtendedConstructionNode, ExtendedInfo, ExtendedNode>(constructionTree, constructionNodeToNodeInfoConverter, new ExtendedNodeConstructor()); treeCopier.copy(); try { return new TwoTreesAndTheirBidirectionalMap<ExtendedConstructionNode, ExtendedNode>(constructionTree, treeCopier.getGeneratedTree(), treeCopier.getNodesMap()); } catch (AnnotatorException e) { throw new AnnotatorException("Error duplicating " + constructionTree, e); } }
public static ExtendedNode copyFromBasicNode(BasicNode originalTree) { TreeCopier<Info, BasicNode, ExtendedInfo, ExtendedNode> treeCopier = new TreeCopier<Info, BasicNode, ExtendedInfo, ExtendedNode>( originalTree, new TreeCopier.InfoConverter<BasicNode, ExtendedInfo>() { public ExtendedInfo convert(BasicNode node) { return new ExtendedInfo(node.getInfo(),ExtendedNodeConstructor.EMPTY_ADDITIONAL_NODE_INFORMATION); } }, new ExtendedNodeConstructor() ); treeCopier.copy(); return treeCopier.getGeneratedTree(); }
/** * @param tree * @return * @throws AnnotatorException */ public static TwoTreesAndTheirBidirectionalMap<ExtendedNode, ExtendedConstructionNode> dupTreeToConstructionTree( ExtendedNode tree) throws AnnotatorException { InfoConverter<ExtendedNode, ExtendedInfo> nodeToConstructionInfoConverter = new InfoConverter<ExtendedNode, ExtendedInfo>() { @Override public ExtendedInfo convert(ExtendedNode node) { return node.getInfo(); } }; TreeCopier<ExtendedInfo, ExtendedNode, ExtendedInfo, ExtendedConstructionNode> treeCopier = new TreeCopier<ExtendedInfo, ExtendedNode, ExtendedInfo, ExtendedConstructionNode>(tree, nodeToConstructionInfoConverter, new ExtendedConstructionNodeConstructor()); treeCopier.copy(); try { return new TwoTreesAndTheirBidirectionalMap<ExtendedNode, ExtendedConstructionNode>(tree, treeCopier.getGeneratedTree(), treeCopier.getNodesMap()); } catch (AnnotatorException e) { throw new AnnotatorException("Error duplicating " + tree, e); } }
public void generate() { TreeCopier<I, S, I, S> copier = new TreeCopier<I, S, I, S>( originalTree, new TreeCopier.InfoConverter<S, I>() { @Override public I convert(S os) { return os.getInfo(); } }, nodeConstructor ); copier.copy(); generatedTree = copier.getGeneratedTree(); generatedTree.addChild(treeToPatch); BidirectionalMap<S, S> copierMap = copier.getNodesMap(); mapOriginalToGenerated = new SimpleValueSetMap<>(); for (S node : copierMap.leftSet()) { mapOriginalToGenerated.put(node, copierMap.leftGet(node)); } }
new TreeCopier<ExtendedInfo, ExtendedNode, Info, BasicNode>( textTree, new TreeCopier.InfoConverter<ExtendedNode, Info>() new BasicNodeConstructor() ); treeCopier.copy(); BasicNode textTreeAsBasicNode = treeCopier.getGeneratedTree(); BidirectionalMap<ExtendedNode, BasicNode> mapTextTree = treeCopier.getNodesMap(); copiedTextTreeNodes = AbstractNodeUtils.treeToLinkedHashSet(textTreeAsBasicNode);
private void createTree(BasicNode originalTree) throws TeEngineMlException, AnnotatorException new TreeCopier<Info, BasicNode, ExtendedInfo, ExtendedNode>(originalTree, new InitializerInfoConverter(), new ExtendedNodeConstructor()); treeCopier.copy(); ExtendedNode createdTree = treeCopier.getGeneratedTree(); BidirectionalMap<BasicNode, ExtendedNode> mapping = treeCopier.getNodesMap();
new TreeCopier<ExtendedInfo, ExtendedNode, ExtendedInfo, ExtendedNode>(origTree, DUMMY_INFO_CONVERTER, new ExtendedNodeConstructor()); treeCopier.copy(); annotatedTree = treeCopier.getGeneratedTree(); mapOriginalToAnnotated = treeCopier.getNodesMap();