public static void initTerminalNodes( org.cleartk.syntax.constituent.type.TopTreebankNode uimaNode, JCas jCas) { List<TerminalTreebankNode> terminals = new ArrayList<org.cleartk.syntax.constituent.type.TerminalTreebankNode>(); _initTerminalNodes(uimaNode, terminals); for (int i = 0; i < terminals.size(); i++) { TerminalTreebankNode terminal = terminals.get(i); terminal.setIndex(i); } FSArray terminalsFSArray = new FSArray(jCas, terminals.size()); terminalsFSArray.copyFromArray( terminals.toArray(new FeatureStructure[terminals.size()]), 0, 0, terminals.size()); uimaNode.setTerminals(terminalsFSArray); }
public static void initTerminalNodes( org.cleartk.syntax.constituent.type.TopTreebankNode uimaNode, JCas jCas) { List<TerminalTreebankNode> terminals = new ArrayList<org.cleartk.syntax.constituent.type.TerminalTreebankNode>(); _initTerminalNodes(uimaNode, terminals); for (int i = 0; i < terminals.size(); i++) { TerminalTreebankNode terminal = terminals.get(i); terminal.setIndex(i); } FSArray terminalsFSArray = new FSArray(jCas, terminals.size()); terminalsFSArray.copyFromArray( terminals.toArray(new FeatureStructure[terminals.size()]), 0, 0, terminals.size()); uimaNode.setTerminals(terminalsFSArray); }
public TopTreebankNode makeParse() { int[] span = AnnotationUtil.getAnnotationsExtent(this.terminals); TopTreebankNode node = new TopTreebankNode(jCas, span[0], span[1]); node.setNodeType("TOP"); List<TreebankNode> children = parseStack.peek().children; node.setChildren(new FSArray(jCas, children.size())); FSCollectionFactory.fillArrayFS(node.getChildren(), children); for (TreebankNode child : parseStack.peek().children) child.setParent(node); node.setTerminals(new FSArray(jCas, this.terminals.size())); FSCollectionFactory.fillArrayFS(node.getTerminals(), this.terminals); node.addToIndexes(); parseStack.pop(); return node; }
public TopTreebankNode makeParse() { int[] span = AnnotationUtil.getAnnotationsExtent(this.terminals); TopTreebankNode node = new TopTreebankNode(jCas, span[0], span[1]); node.setNodeType("TOP"); List<TreebankNode> children = parseStack.peek().children; node.setChildren(new FSArray(jCas, children.size())); FSCollectionFactory.fillArrayFS(node.getChildren(), children); for (TreebankNode child : parseStack.peek().children) child.setParent(node); node.setTerminals(new FSArray(jCas, this.terminals.size())); FSCollectionFactory.fillArrayFS(node.getTerminals(), this.terminals); node.addToIndexes(); parseStack.pop(); return node; }
@Override public TopTreebankNode addParse( JCas jCas, Tree<String> berkeleyNode, SENTENCE_TYPE sentence, List<TOKEN_TYPE> tokens) { List<TerminalTreebankNode> leafNodes = new ArrayList<TerminalTreebankNode>(); TopTreebankNode topNode = (TopTreebankNode) convertNode( jCas, berkeleyNode, tokens, new TokenIndex(), leafNodes, true); topNode.setTerminals(new FSArray(jCas, leafNodes.size())); FSCollectionFactory.fillArrayFS(topNode.getTerminals(), leafNodes); topNode.addToIndexes(); return topNode; }