Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 428351

Summary: Improve cloud foundry manifest parsing
Product: [ECD] Orion Reporter: Maciej Bendkowski <maciej.bendkowski>
Component: DeploymentAssignee: Maciej Bendkowski <maciej.bendkowski>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3    
Version: unspecified   
Target Milestone: 6.0 M1   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on:    
Bug Blocks: 428353    

Description Maciej Bendkowski CLA 2014-02-17 08:30:35 EST
Our current manifest parser implementation has several flaws:

1. Error handling - in order to facilitate creating and modifying application manifests, we need a robust error handling mechanism. Lexical and syntactic analysis is required to provide quick fixes for common mistakes: typos, etc.
 
2. Semantic analysis - we need a better way of doing contextual semantic analysis. Consider applications which have different sets of required fields and/or default parameter values.

3. Error recovery - a seamless recovery strategy would greatly increase the code safety and style.
Comment 1 Maciej Bendkowski CLA 2014-03-10 09:20:44 EDT
The first major part of the actual enhancement: http://git.eclipse.org/c/orion/org.eclipse.orion.server.git/commit/?id=70f802d86f4c995e90dd283db5848e23efd88e10

We introduced a new manifest parser implementation consisting of three parts, i.e. a preprocessor, tokenizer and parser. It should allow us to support virtually any real-life manifest format, with better error handling and seamless recovery strategy. Further improvements should switch our current manifest parser to the new one and provide further semantic analysis.
Comment 2 Maciej Bendkowski CLA 2014-03-10 11:09:14 EDT
http://git.eclipse.org/c/orion/org.eclipse.orion.server.git/commit/?id=9940588ba125393a9937db85e02c343a50426875 introduced a symbol resolver and completed the base parser utilities.
Comment 3 Maciej Bendkowski CLA 2014-03-13 08:58:04 EDT
http://git.eclipse.org/c/orion/org.eclipse.orion.server.git/commit/?id=b0cacfa27be66e306f9b1d91bc79e959316b9919 - included a basic manifest parser test suite.
Comment 4 Maciej Bendkowski CLA 2014-03-18 10:50:50 EDT
http://git.eclipse.org/c/orion/org.eclipse.orion.server.git/commit/?id=5e875fd48409cd8354a4ed821fe4048d0dfe4d7a - changed our manifest parser to v2.
Closing as the master bug has been fixed.