package org.odata4j.test.integration.issues; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.util.List; import java.util.Map; import org.odata4j.core.OEntities; import org.odata4j.core.OEntity; import org.odata4j.core.OEntityId; import org.odata4j.core.OEntityKey; import org.odata4j.core.OExtension; import org.odata4j.core.OFunctionParameter; import org.odata4j.core.OProperty; import org.odata4j.edm.EdmDataServices; import org.odata4j.edm.EdmEntitySet; import org.odata4j.edm.EdmFunctionImport; import org.odata4j.format.xml.EdmxFormatParser; import org.odata4j.producer.BaseResponse; import org.odata4j.producer.ContextStream; import org.odata4j.producer.CountResponse; import org.odata4j.producer.EntitiesResponse; import org.odata4j.producer.EntityIdResponse; import org.odata4j.producer.EntityQueryInfo; import org.odata4j.producer.EntityResponse; import org.odata4j.producer.ODataContext; import org.odata4j.producer.ODataProducer; import org.odata4j.producer.QueryInfo; import org.odata4j.producer.Responses; import org.odata4j.producer.edm.MetadataProducer; import org.odata4j.stax2.XMLInputFactory2; import org.odata4j.stax2.staximpl.StaxXMLFactoryProvider2; public class Issue184MockProducer implements ODataProducer { private static final String SCENARIO_EDMX = "/META-INF/Issue184.edmx.xml"; @Override public EdmDataServices getMetadata() { InputStream inputStream = Issue184MockProducer.class.getResourceAsStream(Issue184MockProducer.SCENARIO_EDMX); Reader reader = new InputStreamReader(inputStream); XMLInputFactory2 inputFactory = StaxXMLFactoryProvider2.getInstance().newXMLInputFactory2(); EdmxFormatParser parser = new EdmxFormatParser(); EdmDataServices edmDataService = parser.parseMetadata(inputFactory.createXMLEventReader(reader)); return edmDataService; } @Override public MetadataProducer getMetadataProducer() { return null; } @Override public EntitiesResponse getEntities(ODataContext context, String entitySetName, QueryInfo queryInfo) { return null; } @Override public CountResponse getEntitiesCount(ODataContext context, String entitySetName, QueryInfo queryInfo) { return null; } @Override public EntityResponse getEntity(ODataContext context, String entitySetName, OEntityKey entityKey, EntityQueryInfo queryInfo) { return null; } @Override public BaseResponse getNavProperty(ODataContext context, String entitySetName, OEntityKey entityKey, String navProp, QueryInfo queryInfo) { return null; } @Override public CountResponse getNavPropertyCount(ODataContext context, String entitySetName, OEntityKey entityKey, String navProp, QueryInfo queryInfo) { return null; } @Override public void close() {} @Override public EntityResponse createEntity(ODataContext context, String entitySetName, OEntity entity) { OEntityKey entityKey = OEntityKey.parse("1"); List<OProperty<?>> properties = entity.getProperties(); EdmEntitySet entitySet = this.getMetadata().findEdmEntitySet(entitySetName); OEntity newEntity = OEntities.create(entitySet, entityKey, properties, null); return Responses.entity(newEntity); } @Override public EntityResponse createEntity(ODataContext context, String entitySetName, OEntityKey entityKey, String navProp, OEntity entity) { return null; } @Override public void deleteEntity(ODataContext context, String entitySetName, OEntityKey entityKey) {} @Override public void mergeEntity(ODataContext context, String entitySetName, OEntity entity) {} @Override public void updateEntity(ODataContext context, String entitySetName, OEntity entity) {} @Override public EntityIdResponse getLinks(ODataContext context, OEntityId sourceEntity, String targetNavProp) { return null; } @Override public void createLink(ODataContext context, OEntityId sourceEntity, String targetNavProp, OEntityId targetEntity) {} @Override public void updateLink(ODataContext context, OEntityId sourceEntity, String targetNavProp, OEntityKey oldTargetEntityKey, OEntityId newTargetEntity) {} @Override public void deleteLink(ODataContext context, OEntityId sourceEntity, String targetNavProp, OEntityKey targetEntityKey) {} @Override public BaseResponse callFunction(ODataContext context, EdmFunctionImport name, Map<String, OFunctionParameter> params, QueryInfo queryInfo) { return null; } @Override public <TExtension extends OExtension<ODataProducer>> TExtension findExtension(Class<TExtension> clazz) { return null; } @Override public void beginChangeSetBoundary() { // TODO Auto-generated method stub } @Override public void commitChangeSetBoundary() { // TODO Auto-generated method stub } @Override public void rollbackChangeSetBoundary() { // TODO Auto-generated method stub } @Override public EntityResponse createResponseForBatchPostOperation(String entitySetName, OEntity entity) { // TODO Auto-generated method stub return null; } @Override public InputStream getInputStreamForMediaLink(String entitySetName, OEntityKey entityKey, EntityQueryInfo queryInfo) { // TODO Auto-generated method stub return null; } @Override public void updateEntityWithStream(String entitySetName, OEntity entity) { // TODO Auto-generated method stub } @Override public ContextStream getInputStreamForNamedStream(String entitySetName, OEntityKey entityKey, String columnName, QueryInfo queryInfo) { // TODO Auto-generated method stub return null; } @Override public void updateEntityWithNamedStream(String entitySetName, OEntityKey entityKey, String columnName, ContextStream streamContext) { // TODO Auto-generated method stub } }