@Override void build(XMLEventReader reader, StartElement element, SchemaBasedEdmProvider provider, String name) throws XMLStreamException { CsdlSchema schema = new CsdlSchema(); schema.setComplexTypes(new ArrayList<CsdlComplexType>()); schema.setActions(new ArrayList<CsdlAction>()); schema.setEntityTypes(new ArrayList<CsdlEntityType>()); schema.setEnumTypes(new ArrayList<CsdlEnumType>()); schema.setFunctions(new ArrayList<CsdlFunction>()); schema.setTerms(new ArrayList<CsdlTerm>()); schema.setTypeDefinitions(new ArrayList<CsdlTypeDefinition>()); schema.setNamespace(attr(element, "Namespace")); schema.setAlias(attr(element, "Alias")); readSchemaContents(reader, schema); provider.addSchema(schema); } }.read(reader, element, provider, "Schema");
@Override void build(XMLEventReader reader, StartElement element, SchemaBasedEdmProvider provider, String name) throws XMLStreamException { CsdlSchema schema = new CsdlSchema(); schema.setComplexTypes(new ArrayList<CsdlComplexType>()); schema.setActions(new ArrayList<CsdlAction>()); schema.setEntityTypes(new ArrayList<CsdlEntityType>()); schema.setEnumTypes(new ArrayList<CsdlEnumType>()); schema.setFunctions(new ArrayList<CsdlFunction>()); schema.setTerms(new ArrayList<CsdlTerm>()); schema.setTypeDefinitions(new ArrayList<CsdlTypeDefinition>()); schema.setNamespace(attr(element, "Namespace")); schema.setAlias(attr(element, "Alias")); readSchemaContents(reader, schema); provider.addSchema(schema); } }.read(reader, element, provider, "Schema");
@Override public List<CsdlSchema> getSchemas() throws ODataException { return Collections.singletonList(new CsdlSchema() .setNamespace(NS_OM) .setComplexTypes(Arrays.asList(getComplexType(FQN.ABSTRACT_TIME_OBJECT), getComplexType(FQN.TIME_INSTANT), getComplexType(FQN.TIME_PERIOD), getComplexType(FQN.RESULT), getComplexType(FQN.FEATURE_OF_INTEREST))) .setEntityTypes(Arrays.asList(getEntityType(FQN.OBSERVATION))) .setEntityContainer(getEntityContainer())); }
static void buildProcedures(org.teiid.metadata.Schema schema, CsdlSchema csdlSchema) { // procedures ArrayList<CsdlComplexType> complexTypes = new ArrayList<CsdlComplexType>(); ArrayList<CsdlFunction> functions = new ArrayList<CsdlFunction>(); ArrayList<CsdlFunctionImport> functionImports = new ArrayList<CsdlFunctionImport>(); ArrayList<CsdlAction> actions = new ArrayList<CsdlAction>(); ArrayList<CsdlActionImport> actionImports = new ArrayList<CsdlActionImport>(); for (Procedure proc : schema.getProcedures().values()) { if (!allowedProcedure(proc)){ LogManager.logDetail(LogConstants.CTX_ODATA, ODataPlugin.Util.gs(ODataPlugin.Event.TEIID16032, proc.getFullName())); continue; } if (isFuntion(proc)) { buildFunction(schema.getName(), proc, complexTypes, functions, functionImports, csdlSchema); } else { buildAction(schema.getName(), proc, complexTypes, actions, actionImports, csdlSchema); } } csdlSchema.setComplexTypes(complexTypes); csdlSchema.setFunctions(functions); csdlSchema.setActions(actions); csdlSchema.getEntityContainer().setFunctionImports(functionImports); csdlSchema.getEntityContainer().setActionImports(actionImports); }
CsdlSchema asCsdlSchema() { CsdlSchema csdlSchema = new CsdlSchema(); csdlSchema.setAlias(alias); csdlSchema.setNamespace(namespace); csdlSchema.setTerms(asCsdlTerms()); csdlSchema.setEnumTypes(asEnumTypes()); csdlSchema.setComplexTypes(asComplexTypes()); csdlSchema.setTypeDefinitions(asTypeDefinitions()); return csdlSchema; }
@SuppressWarnings("unchecked") @Override protected void lazyBuildEdmItem() throws ODataJPAModelException { edmSchema = new CsdlSchema(); edmSchema.setNamespace(nameBuilder.buildNamespace()); edmSchema.setEnumTypes((List<CsdlEnumType>) extractEdmModelElements(enumTypeListInternalKey)); edmSchema.setComplexTypes((List<CsdlComplexType>) extractEdmModelElements(complexTypeListInternalKey)); edmSchema.setEntityTypes((List<CsdlEntityType>) extractEdmModelElements(entityTypeListInternalKey)); edmSchema.setFunctions((List<CsdlFunction>) extractEdmModelElements(functionListInternalKey)); edmSchema.setActions((List<CsdlAction>) extractEdmModelElements(actionListInternalKey)); // edm:Annotations // edm:Annotation // edm:Term // edm:TypeDefinition // MUST be the last thing that is done !!!! if (container != null) edmSchema.setEntityContainer(container.getEdmItem()); }