/**
*
*/
package com.sap.furcas.runtime.textblocks.testutils;
import org.eclipse.emf.ecore.EObject;
import com.sap.furcas.metamodel.FURCAS.textblocks.AbstractToken;
import com.sap.furcas.metamodel.FURCAS.textblocks.TextBlock;
import com.sap.furcas.metamodel.FURCAS.textblocks.Version;
/**
*
*/
public abstract class TestSourceTextBlockCreator {
// copied from CtsDocument
public static TextBlock initialiseTextBlocksFromModel(
EObject rootObject, String content) {
return null;
// TODO
// TextBlock rootBlock;
// rootBlock = tbPackage.getTextBlock().createTextBlockInPartition(
// ((Partitionable) rootObject).get___Partition());
// rootBlock.getCorrespondingModelElements().add((RefObject)
// rootObject);
// rootBlock.getTokens().add(
// ANTLRIncrementalLexerAdapter.createBOSToken(tbPackage,
// VersionEnum.REFERENCE,
// ANTLRIncrementalLexerAdapter.bosTokenType));
// LexedToken contentToken =
// tbPackage.getLexedToken().createLexedToken();
// contentToken.setValue(content);
// contentToken.setLength(content.length());
// contentToken.setEndColumn(content.length());
// // TODO What is the type of nothing?
// contentToken.setType(0);
// contentToken.setVersion(VersionEnum.REFERENCE);
// rootBlock.getTokens().add(contentToken);
// AbstractToken eosToken =
// ANTLRIncrementalLexerAdapter.createEOSToken(tbPackage,
// VersionEnum.REFERENCE,
// ANTLRIncrementalLexerAdapter.eosTokenType);
// eosToken.setOffset(content.length());
// rootBlock.getTokens().add(
// eosToken);
// rootBlock.setLength(0);
// rootBlock.setComplete(true);
// rootBlock.setEndColumn(0);
// rootBlock.setCachedString("");
// rootBlock.setVersion(VersionEnum.REFERENCE);
// //TODO: make this paramterizable: either assign to same or separate
// partiotion
// ((Partitionable)rootObject).get___Partition().assignElement(rootBlock);
// return rootBlock;
}
// copied from CtsDocument
public static TextBlock initialiseTextBlocksWithContentToken(
TextBlocksModelElementFactory modelFactory,
AbstractToken contentToken) {
TextBlock rootBlock;
rootBlock = modelFactory.createTextBlock();
// ((Partitionable) rootObject).get___Partition());
// rootBlock.getCorrespondingModelElements().add((RefObject)
// rootObject);
rootBlock.getSubNodes().add(modelFactory.createBostoken());
AbstractToken eosToken = modelFactory.createEostoken();
if (contentToken != null) {
rootBlock.getSubNodes().add(contentToken);
rootBlock.setLength(contentToken.getLength());
//rootBlock.setIsComplete(true);
rootBlock.setCachedString(contentToken.getValue());
eosToken.setOffset(contentToken.getLength());
}
rootBlock.getSubNodes().add(eosToken);
rootBlock.setVersion(Version.REFERENCE);
// TODO: make this paramterizable: either assign to same or separate
// partiotion
// ((Partitionable)rootObject).get___Partition().assignElement(rootBlock);
return rootBlock;
}
}