[ 
https://issues.apache.org/jira/browse/OLINGO-861?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15897877#comment-15897877
 ] 

rafiqkattangere commented on OLINGO-861:
----------------------------------------

this is how modified mydemosample looks like.
####
public class MyDemoServlet extends HttpServlet {

       private static final long serialVersionUID = 1L;
       private static final Logger LOG = 
LoggerFactory.getLogger(MyDemoServlet.class);
       private ReferenceResolver referenceResolver = new 
LocalReferenceResolver();

       @Override
       protected void service(final HttpServletRequest req, final 
HttpServletResponse resp)
                     throws ServletException, IOException {

              try {
                     HttpSession session = req.getSession(true);
                     MetadataParser parser = new MetadataParser();
                     InputStream is = 
getClass().getResourceAsStream("/ServiceRoot.xml");
                     Reader reader = new InputStreamReader(is);
                     parser.referenceResolver(new LocalReferenceResolver());

                     OData odata = OData.newInstance();
                     ServiceMetadata edm = parser.buildServiceMetadata(reader);
                     ODataHttpHandler handler = odata.createHandler(edm);
                     handler.process(req, resp);
              } catch (RuntimeException e) {
                     LOG.error("Server Error", e);
                     throw new ServletException(e);
              } catch (XMLStreamException e) {
                     e.printStackTrace();
              }
       }

       private static class LocalReferenceResolver implements ReferenceResolver 
{

              public InputStream resolveReference(URI referenceUri, String 
xmlBase) {
                     String baseDir = "C:/metadata/";
                     String qURI = referenceUri.toASCIIString();
                     String fileName = qURI.substring(35); 
//sizeof("http://redfish.dmtf.org/schemas/v1/";);
               if ((qURI.contains("http://redfish.dmtf.org/schemas/v1/";)))
               {
                            try {
                            return new FileInputStream(baseDir+fileName);
                                  } catch (FileNotFoundException e) {
                                         e.printStackTrace();
                                  }

                  }
                  return null;
             }
       }


> MetaDataParser unable to build EdmProvider from Edmx files with references
> --------------------------------------------------------------------------
>
>                 Key: OLINGO-861
>                 URL: https://issues.apache.org/jira/browse/OLINGO-861
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata4-server
>    Affects Versions: (Java) V4 4.1.0
>            Reporter: VIJAYASIMHA R NAGA
>            Assignee: Ramesh Reddy
>             Fix For: (Java) V4 4.2.0
>
>         Attachments: MyODataDemoService.zip, ServiceRoot.xml
>
>
> Unable to build an EdmProvider from Edmx files with references to external 
> name spaces, (Method "readReference" in MetaDataParser.java from 
> server-core-ext library has a TODO remark to deal with this)
>  Ex: Having the below reference included in an Edmx file <edmx:Reference 
> Uri="http://docs.oasis-open.org/odata/odata/v4.0/cs01/vocabularies/Org.OData.Core.V1.xml";>
>  <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/> </edmx:Reference>



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to