[
https://issues.apache.org/jira/browse/OLINGO-1044?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Athish updated OLINGO-1044:
---------------------------
Priority: Critical (was: Major)
> Trying to Add and Flush
> -----------------------
>
> Key: OLINGO-1044
> URL: https://issues.apache.org/jira/browse/OLINGO-1044
> Project: Olingo
> Issue Type: Bug
> Components: odata4-client
> Affects Versions: (Java) V4 4.3.0
> Reporter: Athish
> Priority: Critical
>
> Service.java & System.java generated from olingo maven plugin from the CRM
> 2016 $Metadata
> Trying to create ODataClient
> Service<EdmEnabledODataClient> service = Service
> .getV4("https://example.crm2016/api/data/v8.1");
> odata.test.pojo.microsoft.dynamics.crm.System container =
> service.getEntityContainer(odata.test.pojo.microsoft.dynamics.crm.System.class);
> Trying to preform CRUD operation
> 1.Retrial from the Container is working fine
> for (Contact c : container.getContacts())
> System.out.printf("Firstname: %s - Fullname: %s%n",
> c.getFirstname(), c.getLastname());
> 2. When trying to Create by Adding and Flush getting Null Pointer Exception
> final Contact order = container.newEntityInstance(Contact.class);
> order.setFirstname("try with flush");
> container.getContacts().add(order);
> container.flush();
> Exception in thread "main" java.lang.NullPointerException
> at
> org.apache.olingo.ext.proxy.utils.CoreUtils.getODataEntityProperty(CoreUtils.java:153)
> at
> org.apache.olingo.ext.proxy.utils.CoreUtils.addProperties(CoreUtils.java:294)
> at
> org.apache.olingo.ext.proxy.commons.AbstractPersistenceManager.processEntityContext(AbstractPersistenceManager.java:157)
> at
> org.apache.olingo.ext.proxy.commons.AbstractPersistenceManager.flush(AbstractPersistenceManager.java:99)
> at
> org.apache.olingo.ext.proxy.commons.TransactionalPersistenceManagerImpl.flush(TransactionalPersistenceManagerImpl.java:49)
> at
> org.apache.olingo.ext.proxy.commons.EntityContainerInvocationHandler.invoke(EntityContainerInvocationHandler.java:86)
> at com.sun.proxy.$Proxy3.flush(Unknown Source)
> at com.test.olingo.pojo.PojoExample.insert(PojoExample.java:72)
> at com.test.olingo.pojo.PojoExample.main(PojoExample.java:54)
> client.getCachedEdm().getEntityType(entity) is returing null
> ----------------------------------------------------------------------------------------
> PojoExample.java
> package com.test.olingo.pojo;
> import odata.test.pojo.Service;
> import odata.test.pojo.microsoft.dynamics.crm.types.Contact;
> import org.apache.olingo.client.api.EdmEnabledODataClient;
> import org.apache.olingo.client.core.http.NTLMAuthHttpClientFactory;
> public class PojoExample {
> public static void main(String args[]) {
> String serviceRoot = "https://example.crm2016/api/data/v8.1";
> String workstation = "***";
> String username = "***";
> String password = "***";
> String domain = "****";
> // Client HTTP Client factory for active directory
> NTLMAuthHttpClientFactory factory = new
> NTLMAuthHttpClientFactory(
> username, password, workstation, domain);
> // Load the odata client with the HTTP client factory
> // Get the service and set the client
> Service<EdmEnabledODataClient> service = Service
> .getV4(serviceRoot);
> EdmEnabledODataClient client = service.getClient();
> client.getConfiguration().setHttpClientFactory(factory);
>
>
> odata.test.pojo.microsoft.dynamics.crm.System container =
> service
>
> .getEntityContainer(odata.test.pojo.microsoft.dynamics.crm.System.class);
>
> retrive(container);
> create(container);
> }
> private static void retrive(
> odata.test.pojo.microsoft.dynamics.crm.System
> container) {
> for (Contact c : container.getContacts())
> System.out.printf("Firstname: %s - Fullname: %s%n",
> c.getFirstname(), c.getLastname());
> }
> private static void create(
> odata.test.pojo.microsoft.dynamics.crm.System
> container) {
> final Contact order =
> container.newEntityInstance(Contact.class);
> order.setFirstname("try with flush");
> container.getContacts().add(order);
> container.flush();
> System.out.println("inserted");
> }
>
> }
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)