public static TopTreebankNode getTreeCopy(JCas jcas, TopTreebankNode orig){ if(orig == null) return null; TopTreebankNode copy = new TopTreebankNode(jcas); copy.setNodeType(orig.getNodeType()); copy.setBegin(orig.getBegin()); copy.setEnd(orig.getEnd()); copy.setParent(null); copy.setChildren(new FSArray(jcas,1)); copy.setTreebankParse(orig.getTreebankParse()); if(orig.getChildren() == null || orig.getChildren().size() == 0){ System.err.println("WHAT?"); } copy.setChildren(0, getTreeCopy(jcas, orig.getChildren(0))); copy.getChildren(0).setParent(copy); return copy; }
public static TopTreebankNode getTreeCopy(JCas jcas, TopTreebankNode orig){ if(orig == null) return null; TopTreebankNode copy = new TopTreebankNode(jcas); copy.setNodeType(orig.getNodeType()); copy.setBegin(orig.getBegin()); copy.setEnd(orig.getEnd()); copy.setParent(null); copy.setChildren(new FSArray(jcas,1)); copy.setTreebankParse(orig.getTreebankParse()); if(orig.getChildren() == null || orig.getChildren().size() == 0){ System.err.println("WHAT?"); } copy.setChildren(0, getTreeCopy(jcas, orig.getChildren(0))); copy.getChildren(0).setParent(copy); return copy; }
try{ TreebankNode child = new TreebankNode(jcas); child.setParent(parent); children.set(i, child); recursivelyCreateStructure(jcas, child, subtree, root);
try{ TreebankNode child = new TreebankNode(jcas); child.setParent(parent); children.set(i, child); recursivelyCreateStructure(jcas, child, subtree, root);
newTree.setChildren(new FSArray(jcas, 1)); newTree.setChildren(0, tree); newTree.setParent(tree.getParent()); TreeUtils.replaceChild(tree.getParent(), tree, newTree); tree.setParent(newTree); newTree = new TreebankNode(jcas, tree.getChildren(startChild).getBegin(), tree.getChildren(endChild).getEnd()); newTree.setNodeType(nodeType); newTree.setParent(tree); int numStolenChildren = endChild-startChild+1; newTree.setChildren(new FSArray(jcas, numStolenChildren)); newTree.setChildren(new FSArray(jcas, 1)); newTree.setChildren(0, tree); newTree.setParent(tree.getParent()); TreeUtils.replaceChild(tree.getParent(), tree, newTree); tree.setParent(newTree);
public static TreebankNode getTreeCopy(JCas jcas, TreebankNode orig){ TreebankNode copy = null; if(orig instanceof TerminalTreebankNode){ copy = new TerminalTreebankNode(jcas); copy.setLeaf(true); copy.setChildren(null); }else{ copy = new TreebankNode(jcas); copy.setChildren(new FSArray(jcas, orig.getChildren().size())); for(int i = 0; i < orig.getChildren().size(); i++){ copy.setChildren(i, getTreeCopy(jcas, orig.getChildren(i))); copy.getChildren(i).setParent(copy); } } copy.setNodeType(orig.getNodeType()); copy.setNodeValue(orig.getNodeValue()); copy.setBegin(orig.getBegin()); copy.setEnd(orig.getEnd()); return copy; }
newTree.setChildren(new FSArray(jcas, 1)); newTree.setChildren(0, tree); newTree.setParent(tree.getParent()); TreeUtils.replaceChild(tree.getParent(), tree, newTree); tree.setParent(newTree); newTree = new TreebankNode(jcas, tree.getChildren(startChild).getBegin(), tree.getChildren(endChild).getEnd()); newTree.setNodeType(nodeType); newTree.setParent(tree); int numStolenChildren = endChild-startChild+1; newTree.setChildren(new FSArray(jcas, numStolenChildren)); newTree.setChildren(new FSArray(jcas, 1)); newTree.setChildren(0, tree); newTree.setParent(tree.getParent()); TreeUtils.replaceChild(tree.getParent(), tree, newTree); tree.setParent(newTree);
public static TreebankNode getTreeCopy(JCas jcas, TreebankNode orig){ TreebankNode copy = null; if(orig instanceof TerminalTreebankNode){ copy = new TerminalTreebankNode(jcas); copy.setLeaf(true); copy.setChildren(null); }else{ copy = new TreebankNode(jcas); copy.setChildren(new FSArray(jcas, orig.getChildren().size())); for(int i = 0; i < orig.getChildren().size(); i++){ copy.setChildren(i, getTreeCopy(jcas, orig.getChildren(i))); copy.getChildren(i).setParent(copy); } } copy.setNodeType(orig.getNodeType()); copy.setNodeValue(orig.getNodeValue()); copy.setBegin(orig.getBegin()); copy.setEnd(orig.getEnd()); return copy; }