Changes for feature parity with 0.6 rel

Change-Id: I7021905da0c3aaf86b34f22e930b3ca47d708e76
Signed-off-by: Ashish Singh<ashish.singh@sap.com>
(cherry picked from commit be50217b46689ae3eedefbc7680f2143d254039f)
diff --git a/org.eclipse.ogee.core/Ogee.html b/org.eclipse.ogee.core/Ogee.html
new file mode 100644
index 0000000..54c373b
--- /dev/null
+++ b/org.eclipse.ogee.core/Ogee.html
@@ -0,0 +1,40 @@
+<html>

+<h1 class="title topictitle1">Ogee Overview</h1>

+<div class="body conbody">

+	<p class="shortdesc">Ogee provides Eclipse-based developer tools to

+		produce data using the OData protocol.</p>

+	<p class="p">

+		<span class="ph emphasis emphasis">Ogee</span> comprises a graphical

+		OData Model Editor for the creation of OData models that define the

+		data structure required to create and design the applications.

+	</p>

+	<div class="p">

+		Ogee allows developers to:

+		<ul class="ul"

+			id="loioeef506110fb04dd9a0b93ba240ca529c__ul_nnw_lgf_3n">

+			<li class="li">Model new OData services</li>

+			<li class="li">Visualize and explore existing OData services</li>

+		</ul>

+	</div>

+	<p class="p">Ogee lowers the barrier for developers who want to

+		produce and consume data, by bringing the OData advantages to the

+		fingertips of Eclipse developers. It enables the community to

+		contribute to this project by extending our contribution with more

+		provider environments, more consumption environments, ensuring

+		interoperability across various industry standards, and promoting

+		OData by easing the development process.</p>

+	<p class="p">

+		The graphical <span class="ph emphasis emphasis">OData Model

+			Editor</span> in Eclipse enables you to start the OData service development

+		phase by creating an OData model. Knowledge of the programming

+		language is not required to create an OData model in Eclipse, which

+		means you can focus solely on the data you want to create and define

+		the structure in which you want the data to be published. After you

+		have created a suitable OData model based on your own requirements,

+		you can save it as an OData model definition file.

+	</p>

+	<img src="res/images/Ogee.PNG" alt="OData Model Editor"

+		style="width: 704px; height: 428px" />

+</div>

+</body>

+</html>
\ No newline at end of file
diff --git a/org.eclipse.ogee.core/about.ini b/org.eclipse.ogee.core/about.ini
index 2ece563..577916d 100644
--- a/org.eclipse.ogee.core/about.ini
+++ b/org.eclipse.ogee.core/about.ini
@@ -1,3 +1,15 @@
+###############################################################################
+#  Copyright (c) 2012-2014 SAP SE.
+#  All rights reserved. This program and the accompanying materials
+#  are made available under the terms of the Eclipse Public License v1.0
+#  which accompanies this distribution, and is available at
+#  http://www.eclipse.org/legal/epl-v10.html
+#
+#  Contributors:
+#  SAP SE - initial API and implementation and/or initial documentation
+#
+###############################################################################
+
 # Property "aboutText" contains text for "About" dialog (translated)
 aboutText=%aboutText
 
@@ -11,7 +23,7 @@
 aboutImage=/res/images/ODataLogo-250.png
 
 # A welcome page.
-welcomePage=$nl$/welcome.xml
+#welcomePage=$nl$/welcome.xml
 
 # The preferred perspective in which to show the welcome page.
 welcomePerspective=org.eclipse.ogee.utils.perspective
diff --git a/org.eclipse.ogee.core/build.properties b/org.eclipse.ogee.core/build.properties
index af3b478..ea97f58 100644
--- a/org.eclipse.ogee.core/build.properties
+++ b/org.eclipse.ogee.core/build.properties
@@ -13,7 +13,6 @@
 output.. = bin/
 bin.includes = .,\
                plugin.xml,\
-               res/,\
                schema/,\
                about.ini,\
                about.properties,\
@@ -21,6 +20,8 @@
                about.html,\
                contextHelp.xml,\
                META-INF/,\
-               welcome.xml
+               introContent.xml,\
+               Ogee.html,\
+               res/
              
      
diff --git a/org.eclipse.ogee.core/contextHelp.xml b/org.eclipse.ogee.core/contextHelp.xml
index 8917094..41e823a 100644
--- a/org.eclipse.ogee.core/contextHelp.xml
+++ b/org.eclipse.ogee.core/contextHelp.xml
@@ -1,14 +1,25 @@
-<contexts>
-	
-  	
+<!--
+ <copyright>
+ 
+ Copyright (c) 2012-2014 SAP SE.
+	All rights reserved. This program and the accompanying materials
+	are made available under the terms of the Eclipse Public License v1.0
+	which accompanies this distribution, and is available at
+	http://www.eclipse.org/legal/epl-v10.html
+ 
+ Contributors:
+	SAP SE - initial API and implementation and/or initial documentation
+ 
+ </copyright>
+-->
+
+<contexts>  	
 	<context id="NewODataModel">
     <topic href="../org.eclipse.ogee.help/html/Creating a Blank OData Model.html" label="NewODataModel"/>		
- 	</context>
- 	
+ 	</context> 	
 	<context id="SvcFromUrl">
   <topic href="../org.eclipse.ogee.help/html/Creating an OData Model Using Service URL.html" label="SvcFromUrl"/>		
-	</context>
-	
+	</context>	
 	<context id="SvcFromFile">
   <topic href="../org.eclipse.ogee.help/html/Creating an OData Model Using Metadata File.html" label="SvcFromFile"/>		
 	</context>
diff --git a/org.eclipse.ogee.core/introContent.xml b/org.eclipse.ogee.core/introContent.xml
new file mode 100644
index 0000000..c03abbf
--- /dev/null
+++ b/org.eclipse.ogee.core/introContent.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8" ?>

+

+<!--

+ <copyright>

+ 

+ Copyright (c) 2012-2014 SAP SE.

+	All rights reserved. This program and the accompanying materials

+	are made available under the terms of the Eclipse Public License v1.0

+	which accompanies this distribution, and is available at

+	http://www.eclipse.org/legal/epl-v10.html

+ 

+ Contributors:

+	SAP SE - initial API and implementation and/or initial documentation

+ 

+ </copyright>

+-->

+

+<introContent>

+	<extensionContent id="org.eclipse.ogee.intro.overview"

+		style="css/overview.css" alt-style="css/swt.properties" name="Ogee Workbench"

+		path="overview/@">

+		<group style-id="content-group" id="workbench-group-ogee1"

+			importance="high">

+			<img src="/res/images/ODataLogo-32.gif" />

+			<link label="Ogee" url="Ogee.html" id="org.eclipse.ogee"

+				style-id="content-link">

+				<text>Ogee provides Eclipse-based developer tools for the

+					provisioning and consumption of OData services regardless of the

+					service provisioning platform and service consuming technology. It

+					comprises a graphical OData Model Editor for the creation of OData

+					models that define the data structure required. The models can then

+					be exported as service meta-data document.

+				</text>

+			</link>

+		</group>

+	</extensionContent>

+	<extensionContent id="org.eclipse.ogee.intro.whatsnew"

+		style="css/overview.css" alt-style="css/swt.properties" name="Ogee Workbench"

+		path="whatsnew/@">

+		<group style-id="content-group" id="workbench-group-ogee2"

+			importance="high">

+			<img src="/res/images/ODataLogo-32.gif" />

+			<link label="Ogee" url="Ogee.html" id="org.eclipse.ogee"

+				style-id="content-link">

+				<text>Ogee provides Eclipse-based developer tools for the

+					provisioning and consumption of OData services regardless of the

+					service provisioning platform and service consuming technology. It

+					comprises a graphical OData Model Editor for the creation of OData

+					models that define the data structure required. The models can then

+					be exported as service meta-data document.

+				</text>

+			</link>

+		</group>

+	</extensionContent>

+</introContent>

diff --git a/org.eclipse.ogee.core/plugin.xml b/org.eclipse.ogee.core/plugin.xml
index cc880d8..36621c5 100644
--- a/org.eclipse.ogee.core/plugin.xml
+++ b/org.eclipse.ogee.core/plugin.xml
@@ -23,6 +23,7 @@
    <extension-point id="component" name="%extension-point.name.2" schema="schema/component.exsd"/>
    <extension-point id="serviceModel" name="%extension-point.name.3" schema="schema/odata_model.exsd"/>
    <extension-point id="serviceImplementation" name="OData Service Implementation" schema="schema/service_implementation.exsd"/>
+   
    <extension
          point="org.eclipse.equinox.p2.engine.touchpoints">
       <touchpoint
@@ -31,6 +32,7 @@
             version="1">
       </touchpoint>
    </extension>
+   
    <extension
          point="org.eclipse.equinox.p2.engine.actions">
       <action
@@ -41,6 +43,7 @@
             version="1.0">
       </action>
    </extension>
+   
    <extension
          point="org.eclipse.ui.newWizards">
       <category
@@ -58,6 +61,7 @@
             <description>%wizard.description.1</description>
       </wizard>
    </extension>
+   
    <extension
          point="org.eclipse.help.contexts">
       <contexts
@@ -65,6 +69,7 @@
             plugin="org.eclipse.ogee.core">
       </contexts>
    </extension>
+   
    <extension
          point="org.eclipse.ui.importWizards">
       <category
@@ -80,7 +85,8 @@
             <description>%wizard.description.2</description>
       </wizard>
    </extension>
-        <extension
+   
+   <extension
          point="org.eclipse.ui.commands">
       <command
             defaultHandler="org.eclipse.ogee.core.wizard.ODataWizardHandler"
@@ -88,6 +94,7 @@
             name="%wizard.command">
       </command>
    </extension>
+   
    <extension
          point="org.eclipse.ui.menus">
       <menuContribution
@@ -113,5 +120,12 @@
          </command>
       </menuContribution>
    </extension>
+   
+   <extension
+   		point="org.eclipse.ui.intro.configExtension">
+			<configExtension
+				configId="org.eclipse.ui.intro.universalConfig"
+				content="introContent.xml" />
+   </extension>
 
 </plugin>
diff --git a/org.eclipse.ogee.core/res/images/ODataLogo-32.gif b/org.eclipse.ogee.core/res/images/ODataLogo-32.gif
new file mode 100644
index 0000000..17d63fd
--- /dev/null
+++ b/org.eclipse.ogee.core/res/images/ODataLogo-32.gif
Binary files differ
diff --git a/org.eclipse.ogee.core/res/images/Ogee.PNG b/org.eclipse.ogee.core/res/images/Ogee.PNG
new file mode 100644
index 0000000..82d41ef
--- /dev/null
+++ b/org.eclipse.ogee.core/res/images/Ogee.PNG
Binary files differ
diff --git a/org.eclipse.ogee.core/welcome.xml b/org.eclipse.ogee.core/welcome.xml
deleted file mode 100644
index 326df2f..0000000
--- a/org.eclipse.ogee.core/welcome.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>

-<welcomePage title="Eclipse Platform">

-

-	<intro>This page will help familiarize you with the Eclipse Workbench.

-		To get started, read the sections below and click on the related

-		links.

-	</intro>

-

-	<item>

-		<b>Installed Features </b>

-		To find out more about the features installed in your workbench,

-		choose

-		<action pluginId="org.eclipse.ui" class="org.eclipse.ui.internal.QuickStartAction">Help > Welcome...

-		</action>

-		and select the feature you are interested in.

-	</item>

-

-	<item>

-		<b>Perspectives, views and editors </b>

-		A window contains one or more perspectives. A perspective consists of

-		views (e.g. Navigator)

-		and editors for working with your resources.

-		The

-		shortcut bar at the far left of the window allows you to open new

-		perspectives and move

-		between perspectives that are already open. The

-		perspective you are currently

-		working with

-		is shown in the title of the

-		window and in the shortcut bar as a

-		pushed-in icon.

-	</item>

-

-	<item>

-		<b>Configuring your perspectives</b>

-		You can move views and editors around the workbench by dragging their

-		titlebars. You can

-		also add more views to your current perspective by

-		using Window > Show

-		View.

-		To reset the perspective to its original

-		state, choose

-		<action pluginId="org.eclipse.ui"

-			class="org.eclipse.ui.internal.ResetPerspectiveAction">Window > Reset Perspective</action>

-		.

-		Once you have arranged your perspective, you can save it using Window

-		>

-		Save Perspective As....

-		You can customize the views, perspectives and

-		New menu operations that

-		show up for

-		your perspective. To do this choose

-		<action pluginId="org.eclipse.ui" class="org.eclipse.ui.internal.EditActionSetsAction">Window > Customize

-			Perspective...

-		</action>

-		.

-		A view can additionally be converted into a Fast View by dragging it

-		to

-		the shortcut bar (at the

-		far left of the window).

-	</item>

-

-	<item>

-		<b>Learn more </b>

-		To learn more you can browse the

-		<topic id="/org.eclipse.platform.doc.user/toc.xml">Workbench User Guide</topic>

-		.

-	</item>

-

-</welcomePage>
\ No newline at end of file
diff --git a/org.eclipse.ogee.export/src/org/eclipse/ogee/export/util/converters/FunctionImportParameterConverter.java b/org.eclipse.ogee.export/src/org/eclipse/ogee/export/util/converters/FunctionImportParameterConverter.java
index 0638ed4..991187c 100644
--- a/org.eclipse.ogee.export/src/org/eclipse/ogee/export/util/converters/FunctionImportParameterConverter.java
+++ b/org.eclipse.ogee.export/src/org/eclipse/ogee/export/util/converters/FunctionImportParameterConverter.java
@@ -37,53 +37,44 @@
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
-public class FunctionImportParameterConverter implements
-		IFunctionImportParameterConverter {
+public class FunctionImportParameterConverter implements IFunctionImportParameterConverter {
 
 	private Element parameterElement;
 
 	@Override
-	public void createElement(final IFormatConverterFactory currentFactory,
-			Document document, Element parentElement,
+	public void createElement(final IFormatConverterFactory currentFactory, Document document, Element parentElement,
 			Parameter functionImportParameter) {
 
 		// Create FunctionImportParameter XML Element
 		this.parameterElement = document.createElement(ITag.PARAMETER);
-		this.parameterElement.setAttribute(IAttribute.NAME,
-				functionImportParameter.getName());
+		this.parameterElement.setAttribute(IAttribute.NAME, functionImportParameter.getName());
 		// Add Type attribute.
-		IParameterTypeUsage parameterTypeUsage = functionImportParameter
-				.getType();
+		IParameterTypeUsage parameterTypeUsage = functionImportParameter.getType();
 		if (parameterTypeUsage != null) {
 			if (parameterTypeUsage instanceof SimpleTypeUsage) {
 				// FunctionImport parameter from Simple type
-				SimpleType simpleType = ((SimpleTypeUsage) parameterTypeUsage)
-						.getSimpleType();
+				SimpleType simpleType = ((SimpleTypeUsage) parameterTypeUsage).getSimpleType();
 				if (simpleType != null) {
 					EDMTypes simpleTypeEdmType = simpleType.getType();
 					if (simpleTypeEdmType != null) {
-						this.parameterElement.setAttribute(IAttribute.TYPE,
-								simpleTypeEdmType.getLiteral());
+						this.parameterElement.setAttribute(IAttribute.TYPE, simpleTypeEdmType.getLiteral());
 					}
 
 					int maxLength = simpleType.getMaxLength();
 					if (maxLength >= 0) {
-						this.parameterElement
-								.setAttribute(IAttribute.MAXLENGTH,
-										String.valueOf(maxLength));
+						this.parameterElement.setAttribute(IAttribute.MAXLENGTH, String.valueOf(maxLength));
 					}
 
-					int precision = simpleType.getPrecision();
-					if (precision >= 0) {
-						this.parameterElement
-								.setAttribute(IAttribute.PRECISION,
-										String.valueOf(precision));
-					}
+					if (!(simpleTypeEdmType.equals(EDMTypes.BOOLEAN) || simpleTypeEdmType.equals(EDMTypes.STRING))) {
+						int precision = simpleType.getPrecision();
+						if (precision >= 0) {
+							this.parameterElement.setAttribute(IAttribute.PRECISION, String.valueOf(precision));
+						}
 
-					int scale = simpleType.getScale();
-					if (scale >= 0) {
-						this.parameterElement.setAttribute(IAttribute.SCALE,
-								String.valueOf(scale));
+						int scale = simpleType.getScale();
+						if (scale >= 0) {
+							this.parameterElement.setAttribute(IAttribute.SCALE, String.valueOf(scale));
+						}
 					}
 
 				}
@@ -91,26 +82,20 @@
 			}
 			if (parameterTypeUsage instanceof ComplexTypeUsage) {
 				// FunctionImport parameter from Complex type
-				ComplexType complexType = ((ComplexTypeUsage) parameterTypeUsage)
-						.getComplexType();
+				ComplexType complexType = ((ComplexTypeUsage) parameterTypeUsage).getComplexType();
 				if (complexType != null) {
-					String typeSchemaIdentifier = getTypeSchemaIdentifier(
-							complexType, functionImportParameter);
-					this.parameterElement.setAttribute(
-							IAttribute.TYPE,
-							typeSchemaIdentifier + ISymbol.DOT
-									+ complexType.getName());
+					String typeSchemaIdentifier = getTypeSchemaIdentifier(complexType, functionImportParameter);
+					this.parameterElement.setAttribute(IAttribute.TYPE,
+							typeSchemaIdentifier + ISymbol.DOT + complexType.getName());
 				}
 
 			}
 
 			if (parameterTypeUsage instanceof EnumTypeUsage) {
 				// FunctionImport parameter from Enum type
-				EnumType enumType = ((EnumTypeUsage) parameterTypeUsage)
-						.getEnumType();
+				EnumType enumType = ((EnumTypeUsage) parameterTypeUsage).getEnumType();
 				if (enumType != null) {
-					this.parameterElement.setAttribute(IAttribute.TYPE,
-							enumType.getUnderlyingType().getLiteral());
+					this.parameterElement.setAttribute(IAttribute.TYPE, enumType.getUnderlyingType().getLiteral());
 				}
 
 			}
@@ -118,15 +103,11 @@
 			// type in odata V2, then entity type should be supported as well.
 			if (parameterTypeUsage instanceof EntityTypeUsage) {
 				// FunctionImport parameter from EntityType
-				EntityType entityType = ((EntityTypeUsage) parameterTypeUsage)
-						.getEntityType();
+				EntityType entityType = ((EntityTypeUsage) parameterTypeUsage).getEntityType();
 				if (entityType != null) {
-					String typeSchemaIdentifier = getTypeSchemaIdentifier(
-							entityType, functionImportParameter);
-					this.parameterElement.setAttribute(
-							IAttribute.TYPE,
-							typeSchemaIdentifier + ISymbol.DOT
-									+ entityType.getName());
+					String typeSchemaIdentifier = getTypeSchemaIdentifier(entityType, functionImportParameter);
+					this.parameterElement.setAttribute(IAttribute.TYPE,
+							typeSchemaIdentifier + ISymbol.DOT + entityType.getName());
 				}
 
 			}
@@ -138,13 +119,10 @@
 		parentElement.appendChild(this.parameterElement);
 
 		// Create Documentation sub-element
-		Documentation documentation = functionImportParameter
-				.getDocumentation();
+		Documentation documentation = functionImportParameter.getDocumentation();
 		if (documentation != null) {
-			IDocumentationConverter documentationConverter = currentFactory
-					.getDocumatationConverter();
-			documentationConverter.createElement(currentFactory, document,
-					this.parameterElement, documentation);
+			IDocumentationConverter documentationConverter = currentFactory.getDocumatationConverter();
+			documentationConverter.createElement(currentFactory, document, this.parameterElement, documentation);
 		}
 	}
 
@@ -153,19 +131,16 @@
 		return this.parameterElement;
 	}
 
-	public String getTypeSchemaIdentifier(Object typeObject,
-			Parameter functionImportParameter) {
+	public String getTypeSchemaIdentifier(Object typeObject, Parameter functionImportParameter) {
 		String schemaIdentifier = null;
 		// Get the used type namespace
 		if (typeObject instanceof ComplexType) {
 			ComplexType complexType = (ComplexType) typeObject;
-			schemaIdentifier = ((Schema) complexType.eContainer())
-					.getNamespace();
+			schemaIdentifier = ((Schema) complexType.eContainer()).getNamespace();
 
 		} else if (typeObject instanceof EntityType) {
 			EntityType entityType = (EntityType) typeObject;
-			schemaIdentifier = ((Schema) entityType.eContainer())
-					.getNamespace();
+			schemaIdentifier = ((Schema) entityType.eContainer()).getNamespace();
 
 		} else if (typeObject instanceof EnumType) {
 			EnumType enumType = (EnumType) typeObject;
@@ -173,8 +148,8 @@
 		}
 
 		// Get the current model schema namespace
-		Schema currentSchema = ((Schema) ((EntityContainer) ((FunctionImport) (functionImportParameter
-				.eContainer())).eContainer()).eContainer());
+		Schema currentSchema = ((Schema) ((EntityContainer) ((FunctionImport) (functionImportParameter.eContainer()))
+				.eContainer()).eContainer());
 		if (currentSchema.getNamespace().equals(schemaIdentifier)) {
 			// It means that the used type is not a reference type
 			// Check if current model schema has alias
@@ -191,8 +166,7 @@
 				for (Using usingEntry : usingsList) {
 					// Check in using list the respective alias name that can be
 					// used instead the namespace name
-					if (usingEntry.getUsedNamespace().getNamespace()
-							.equals(schemaIdentifier)) {
+					if (usingEntry.getUsedNamespace().getNamespace().equals(schemaIdentifier)) {
 						schemaIdentifier = usingEntry.getAlias();
 						break;
 					}
diff --git a/org.eclipse.ogee.property.editor/plugin.xml b/org.eclipse.ogee.property.editor/plugin.xml
index bbf2fed..5ac606b 100644
--- a/org.eclipse.ogee.property.editor/plugin.xml
+++ b/org.eclipse.ogee.property.editor/plugin.xml
@@ -52,13 +52,4 @@
       </propertyContributor>
    </extension>
    
-            <extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
-      <propertyContributor
-            contributorId="org.eclipse.ui.navigator.ProjectExplorer"
-            labelProvider="org.eclipse.ogee.property.editor.adapter.TabbedPropertyHeaderProvider"
-            tabDescriptorProvider="org.eclipse.ogee.property.editor.tab.TabDescriptorProvider">
-             <propertyCategory category="sample">
-              </propertyCategory>
-      </propertyContributor>
-   </extension>  
 </plugin>
diff --git a/org.eclipse.ogee.property.editor/src/org/eclipse/ogee/property/editor/tab/sections/GeneralSectionDescriptor.java b/org.eclipse.ogee.property.editor/src/org/eclipse/ogee/property/editor/tab/sections/GeneralSectionDescriptor.java
index d75f34d..7b926c4 100644
--- a/org.eclipse.ogee.property.editor/src/org/eclipse/ogee/property/editor/tab/sections/GeneralSectionDescriptor.java
+++ b/org.eclipse.ogee.property.editor/src/org/eclipse/ogee/property/editor/tab/sections/GeneralSectionDescriptor.java
@@ -11,21 +11,21 @@
  *******************************************************************************/
 package org.eclipse.ogee.property.editor.tab.sections;
 
+import org.eclipse.jface.viewers.AcceptAllFilter;
 import org.eclipse.jface.viewers.IFilter;
 import org.eclipse.ogee.property.editor.nls.messages.Constants;
 import org.eclipse.ogee.property.editor.nls.messages.Messages;
-import org.eclipse.ogee.property.editor.tab.sections.filters.GeneralFilter;
 import org.eclipse.ogee.property.editor.ui.elements.AdvancedPropertySection;
 import org.eclipse.ui.views.properties.tabbed.AbstractSectionDescriptor;
 import org.eclipse.ui.views.properties.tabbed.ISection;
 
 public class GeneralSectionDescriptor extends AbstractSectionDescriptor {
 
-	private IFilter filter;
+	private IFilter filter;	
 
 	private GeneralSectionDescriptor() {
 		super();
-		filter = new GeneralFilter();
+		filter = new AcceptAllFilter();
 	}
 
 	@Override