当前位置: 首页>>代码示例>>Java>>正文


Java CqlTranslator类代码示例

本文整理汇总了Java中org.cqframework.cql.cql2elm.CqlTranslator的典型用法代码示例。如果您正苦于以下问题:Java CqlTranslator类的具体用法?Java CqlTranslator怎么用?Java CqlTranslator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


CqlTranslator类属于org.cqframework.cql.cql2elm包,在下文中一共展示了CqlTranslator类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getTranslator

import org.cqframework.cql.cql2elm.CqlTranslator; //导入依赖的package包/类
public static CqlTranslator getTranslator(InputStream cqlStream, LibraryManager libraryManager, ModelManager modelManager) {
    ArrayList<CqlTranslator.Options> options = new ArrayList<>();
    options.add(CqlTranslator.Options.EnableDateRangeOptimization);
    options.add(CqlTranslator.Options.EnableAnnotations);
    options.add(CqlTranslator.Options.EnableDetailedErrors);
    CqlTranslator translator;
    try {
        translator = CqlTranslator.fromStream(cqlStream, modelManager, libraryManager,
                options.toArray(new CqlTranslator.Options[options.size()]));
    } catch (IOException e) {
        throw new IllegalArgumentException(String.format("Errors occurred translating library: %s", e.getMessage()));
    }

    if (translator.getErrors().size() > 0) {
        throw new IllegalArgumentException(errorsToString(translator.getErrors()));
    }

    return translator;
}
 
开发者ID:DBCG,项目名称:cqf-ruler,代码行数:20,代码来源:LibraryHelper.java

示例2: maybe_cql_to_elm_xml

import org.cqframework.cql.cql2elm.CqlTranslator; //导入依赖的package包/类
public static String maybe_cql_to_elm_xml(String maybe_cql_source_code,
    ArrayList<String> errors)
{
    ModelManager modelManager = new ModelManager();
    LibraryManager libraryManager = new LibraryManager(modelManager);

    ArrayList<CqlTranslator.Options> options = new ArrayList<>();
    options.add(CqlTranslator.Options.EnableDateRangeOptimization);

    CqlTranslator translator = CqlTranslator.fromText(
        maybe_cql_source_code, modelManager, libraryManager,
        options.toArray(new CqlTranslator.Options[options.size()]));

    if (translator.getErrors().size() > 0)
    {
        if (errors != null)
        {
            collect_errors(errors, translator.getErrors());
        }
        return null;
    }

    String elm_xml = translator.toXml();

    if (translator.getErrors().size() > 0)
    {
        if (errors != null)
        {
            collect_errors(errors, translator.getErrors());
        }
        return null;
    }

    return elm_xml;
}
 
开发者ID:DBCG,项目名称:cql_engine,代码行数:36,代码来源:CqlToElmLib.java

示例3: loadLibrary

import org.cqframework.cql.cql2elm.CqlTranslator; //导入依赖的package包/类
private Library loadLibrary(VersionedIdentifier libraryIdentifier) {
    IdType id = new IdType(libraryIdentifier.getId());
    org.hl7.fhir.dstu3.model.Library library = provider.getDao().read(id);

    InputStream is = null;
    for (org.hl7.fhir.dstu3.model.Attachment content : library.getContent()) {
        is = new ByteArrayInputStream(content.getData());
        if (content.getContentType().equals("application/elm+xml")) {
            return readLibrary(is);
        }
        else if (content.getContentType().equals("text/cql")) {
            return translateLibrary(is, libraryManager, modelManager);
        }
    }

    org.hl7.elm.r1.VersionedIdentifier identifier = new org.hl7.elm.r1.VersionedIdentifier()
            .withId(libraryIdentifier.getId())
            .withSystem(libraryIdentifier.getSystem())
            .withVersion(libraryIdentifier.getVersion());

    ArrayList<CqlTranslatorException> errors = new ArrayList<>();
    org.hl7.elm.r1.Library translatedLibrary = libraryManager.resolveLibrary(identifier, errors).getLibrary();

    if (errors.size() > 0) {
        throw new IllegalArgumentException(errorsToString(errors));
    }

    try {
        return readLibrary(new ByteArrayInputStream(CqlTranslator.fromStream(is == null ? new ByteArrayInputStream(new byte[]{}) : is, modelManager, libraryManager).convertToXml(translatedLibrary).getBytes(StandardCharsets.UTF_8)));
    } catch (JAXBException | IOException e) {
        throw new IllegalArgumentException(String.format("Errors occurred translating library %s%s.",
                identifier.getId(), identifier.getVersion() != null ? ("-" + identifier.getVersion()) : ""));
    }
}
 
开发者ID:DBCG,项目名称:cqf-ruler,代码行数:35,代码来源:STU3LibraryLoader.java

示例4: beforeEachTestMethod

import org.cqframework.cql.cql2elm.CqlTranslator; //导入依赖的package包/类
@BeforeMethod
public void beforeEachTestMethod() throws JAXBException, IOException {
    String fileName = this.getClass().getSimpleName();
    library = libraries.get(fileName);
    if (library == null) {
        ModelManager modelManager = new ModelManager();
        LibraryManager libraryManager = new LibraryManager(modelManager);
        try {
            File cqlFile = new File(URLDecoder.decode(this.getClass().getResource(fileName + ".cql").getFile(), "UTF-8"));

            ArrayList<CqlTranslator.Options> options = new ArrayList<>();
            options.add(CqlTranslator.Options.EnableDateRangeOptimization);
            CqlTranslator translator = CqlTranslator.fromFile(cqlFile, modelManager, libraryManager, options.toArray(new CqlTranslator.Options[options.size()]));

            if (translator.getErrors().size() > 0) {
                System.err.println("Translation failed due to errors:");
                ArrayList<String> errors = new ArrayList<>();
                for (CqlTranslatorException error : translator.getErrors()) {
                    TrackBack tb = error.getLocator();
                    String lines = tb == null ? "[n/a]" : String.format("[%d:%d, %d:%d]",
                            tb.getStartLine(), tb.getStartChar(), tb.getEndLine(), tb.getEndChar());
                    System.err.printf("%s %s%n", lines, error.getMessage());
                    errors.add(lines + error.getMessage());
                }
                throw new IllegalArgumentException(errors.toString());
            }

            assertThat(translator.getErrors().size(), is(0));

            xmlFile = new File(cqlFile.getParent(), fileName + ".xml");
            xmlFile.createNewFile();

            PrintWriter pw = new PrintWriter(xmlFile, "UTF-8");
            pw.println(translator.toXml());
            pw.println();
            pw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        library = CqlLibraryReader.read(xmlFile);
        libraries.put(fileName, library);
    }
}
 
开发者ID:DBCG,项目名称:cql_engine,代码行数:45,代码来源:FhirExecutionTestBase.java

示例5: beforeEachTestMethod

import org.cqframework.cql.cql2elm.CqlTranslator; //导入依赖的package包/类
@BeforeMethod
public void beforeEachTestMethod() throws JAXBException, IOException {
    String fileName = this.getClass().getSimpleName();
    library = libraries.get(fileName);
    if (library == null) {
        ModelManager modelManager = new ModelManager();
        LibraryManager libraryManager = new LibraryManager(modelManager);
        try {
            File cqlFile = new File(URLDecoder.decode(this.getClass().getResource(fileName + ".cql").getFile(), "UTF-8"));

            ArrayList<CqlTranslator.Options> options = new ArrayList<>();
            options.add(CqlTranslator.Options.EnableDateRangeOptimization);
            CqlTranslator translator = CqlTranslator.fromFile(cqlFile, modelManager, libraryManager, options.toArray(new CqlTranslator.Options[options.size()]));

            if (translator.getErrors().size() > 0) {
                System.err.println("Translation failed due to errors:");
                ArrayList<String> errors = new ArrayList<>();
                for (CqlTranslatorException error : translator.getErrors()) {
                    TrackBack tb = error.getLocator();
                    String lines = tb == null ? "[n/a]" : String.format("[%d:%d, %d:%d]",
                            tb.getStartLine(), tb.getStartChar(), tb.getEndLine(), tb.getEndChar());
                    System.err.printf("%s %s%n", lines, error.getMessage());
                    errors.add(lines + error.getMessage());
                }
                throw new IllegalArgumentException(errors.toString());
            }

            assertThat(translator.getErrors().size(), is(0));

            xmlFile = new File(cqlFile.getParent(), fileName + ".xml");
            xmlFile.createNewFile();

            String xml = translator.toXml();

            PrintWriter pw = new PrintWriter(xmlFile, "UTF-8");
            pw.println(xml);
            pw.println();
            pw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        library = CqlLibraryReader.read(xmlFile);
        libraries.put(fileName, library);
    }
}
 
开发者ID:DBCG,项目名称:cql_engine,代码行数:47,代码来源:CqlExecutionTestBase.java

示例6: translateLibrary

import org.cqframework.cql.cql2elm.CqlTranslator; //导入依赖的package包/类
public static Library translateLibrary(InputStream cqlStream, LibraryManager libraryManager, ModelManager modelManager) {
    CqlTranslator translator = getTranslator(cqlStream, libraryManager, modelManager);
    return readLibrary(new ByteArrayInputStream(translator.toXml().getBytes(StandardCharsets.UTF_8)));
}
 
开发者ID:DBCG,项目名称:cqf-ruler,代码行数:5,代码来源:LibraryHelper.java


注:本文中的org.cqframework.cql.cql2elm.CqlTranslator类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。