Search in sources :

Example 1 with Model

use of org.eclipse.xtext.parser.terminalrules.ecoreTerminalsTestLanguage.Model in project xtext-core by eclipse.

the class EcoreTerminalsTestLanguageSemanticSequencer method sequence.

@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
    EPackage epackage = semanticObject.eClass().getEPackage();
    ParserRule rule = context.getParserRule();
    Action action = context.getAssignedAction();
    Set<Parameter> parameters = context.getEnabledBooleanParameters();
    if (epackage == EcoreTerminalsTestLanguagePackage.eINSTANCE)
        switch(semanticObject.eClass().getClassifierID()) {
            case EcoreTerminalsTestLanguagePackage.MODEL:
                sequence_Model(context, (Model) semanticObject);
                return;
        }
    if (errorAcceptor != null)
        errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
Also used : ParserRule(org.eclipse.xtext.ParserRule) Action(org.eclipse.xtext.Action) Model(org.eclipse.xtext.parser.terminalrules.ecoreTerminalsTestLanguage.Model) Parameter(org.eclipse.xtext.Parameter) EPackage(org.eclipse.emf.ecore.EPackage)

Example 2 with Model

use of org.eclipse.xtext.parser.terminalrules.ecoreTerminalsTestLanguage.Model in project xtext-core by eclipse.

the class DefaultTerminalConverterTest method testSerializeAndReparse.

@Test
public void testSerializeAndReparse() throws Exception {
    int intValue = 34786482;
    double doubleValue = 2.32E-17;
    Date dateValue = new SimpleDateFormat("YYYY-MM-DD").parse("2010-05-25");
    Model model = EcoreTerminalsTestLanguageFactory.eINSTANCE.createModel();
    model.getIntValues().add(intValue);
    model.getDoubleValues().add(doubleValue);
    model.getDateValues().add(dateValue);
    ISerializer serializer = get(ISerializer.class);
    String modelAsString = serializer.serialize(model);
    Model reparsedModel = (Model) getModel(modelAsString);
    assertEquals(intValue, (int) reparsedModel.getIntValues().get(0));
    assertEquals(doubleValue, reparsedModel.getDoubleValues().get(0), 0.00001);
    assertEquals(dateValue, reparsedModel.getDateValues().get(0));
    try {
        model.getDoubleValues().add(-doubleValue);
        modelAsString = serializer.serialize(model);
        fail("Serialization should fail");
    } catch (Exception exc) {
    // normal case
    }
}
Also used : Model(org.eclipse.xtext.parser.terminalrules.ecoreTerminalsTestLanguage.Model) SimpleDateFormat(com.ibm.icu.text.SimpleDateFormat) Date(java.util.Date) ISerializer(org.eclipse.xtext.serializer.ISerializer) Test(org.junit.Test)

Aggregations

Model (org.eclipse.xtext.parser.terminalrules.ecoreTerminalsTestLanguage.Model)2 SimpleDateFormat (com.ibm.icu.text.SimpleDateFormat)1 Date (java.util.Date)1 EPackage (org.eclipse.emf.ecore.EPackage)1 Action (org.eclipse.xtext.Action)1 Parameter (org.eclipse.xtext.Parameter)1 ParserRule (org.eclipse.xtext.ParserRule)1 ISerializer (org.eclipse.xtext.serializer.ISerializer)1 Test (org.junit.Test)1