Hi,
> On 8. Aug 2024, at 14:22, Raghunath Mahakud <[email protected]>
> wrote:
>
> Can anyone guide me? It's a critical blocker for me.
it would be good if we could reproduce this. So far, I have been unable to
reproduce
your problem.
The code below creates a CAS with two types whose short name is `Document` and
does not
throw an exception. I tested this on the Rut 3.3.x branch.
If you could produce a simple example that reproduces your issue, it would help.
Cheers,
-- Richard
```
package org.apache.uima.ruta;
import static java.util.Arrays.asList;
import org.apache.uima.cas.CAS;
import org.apache.uima.cas.Type;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.fit.factory.TypeSystemDescriptionFactory;
import org.apache.uima.resource.metadata.TypeSystemDescription;
import org.apache.uima.resource.metadata.impl.TypeSystemDescription_impl;
import org.apache.uima.ruta.engine.Ruta;
import org.apache.uima.util.CasCreationUtils;
public class RutaScriptExample {
private static final String DOCUMENT = "org.apache.uima.ruta.type.Document";
public static void main(String[] args) {
try {
// Create a TypeSystemDescription with a type x.y.z.Document
TypeSystemDescription tsDesc = new TypeSystemDescription_impl();
tsDesc.addType(DOCUMENT, "", "uima.tcas.Annotation");
TypeSystemDescription tsDefault =
TypeSystemDescriptionFactory.createTypeSystemDescription();
TypeSystemDescription tsAll =
CasCreationUtils.mergeTypeSystems(asList(tsDesc, tsDefault));
// Create a CAS with the type system
CAS cas = CasCreationUtils.createCas(tsAll, null, null);
// Add some text to the CAS
cas.setDocumentText("This is a sample document.");
// Create an annotation of type Document
Type documentType = cas.getTypeSystem().getType(DOCUMENT);
AnnotationFS documentAnnotation = cas.createAnnotation(documentType, 0,
cas.getDocumentText().length());
cas.addFsToIndexes(documentAnnotation);
// Define a Ruta script that uses the rule Document{-> ...}
String rutaScript = "Document{-> NUM};";
// Apply the Ruta script to the CAS
Ruta.apply(cas, rutaScript);
} catch (Exception e) {
// Catch and handle any exceptions that occur
System.err.println("An error occurred while applying the Ruta script:");
e.printStackTrace();
}
}
}
```