Releng : Adopt Eclipse 4.5 M1 (Mars)
Releng : Adopt GEF 3.9.200 I201408020206 (Mars)
Releng : Adopt WTP 3.7 M1 (Mars)
Releng : Adopt Eclipse 4.4.1 RC1 (Luna SR1)
Releng : Adopt GEF 3.9.101 RC1 (Luna SR1)
Releng : Adopt EMF 2.10.1 RC1 (Luna SR1)
Releng : Adopt WTP 3.6.1 RC1a (Luna SR1)
Fix : NPE in IdentityCache

The following exception is seen intermittently.

java.lang.NullPointerException
     at org.eclipse.sapphire.util.IdentityCache.get(IdentityCache.java:28)
     at org.eclipse.sapphire.modeling.xml.XmlElement.getChildElements(XmlElement.java:422)
     at org.eclipse.sapphire.modeling.xml.XmlElement.getChildElement(XmlElement.java:481)
     at org.eclipse.sapphire.modeling.xml.XmlElement.getChildNode(XmlElement.java:814)
     at org.eclipse.sapphire.modeling.xml.XmlElement.getChildNode(XmlElement.java:783)
     at org.eclipse.sapphire.modeling.xml.XmlElement.setChildNodeText(XmlElement.java:849)
     at org.eclipse.sapphire.modeling.xml.StandardXmlValueBindingImpl.write(StandardXmlValueBindingImpl.java:184)
     at org.eclipse.sapphire.Value.write(Value.java:413)
     at oracle.eclipse.tools.cloud.profile.ICloudProfile$Impl.setConnectionState(UnknownSource)
     at oracle.eclipse.tools.cloud.CloudServices.read(CloudServices.java:91)
     at oracle.eclipse.tools.cloud.CloudServices.read(CloudServices.java:1)
     at oracle.eclipse.tools.cloud.RemoteData.fetch(RemoteData.java:259)
     at oracle.eclipse.tools.cloud.RemoteData$1.run(RemoteData.java:190)

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=442731
Fix : PropertyEditorPart does not handle element property validation

When computing validation, PropertyEditorPart only accounts for value
and list properties. It also needs to account for element properties.
Even if Sapphire itself does not currently include any property editors
for element properties, an adopter may want to write such a property
editor.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=442816
Fix : Widget is disposed exception inside DiagramPresentation

SapphireDiagramEditor's constructor instantiates a DiagramPresentation
obj using Display.getCurrent().getActiveShell(). This is problematic if
an adopter uses a progress monitor when bringing up the diagram editor.
The instantiation of DiagramPresentation needs to be moved to
SapphireDiagramEditor's configureGraphicalViewer() using viewer
control's shell.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=442837
Releng : Adopt Eclipse 4.4.1 RC2 (Luna SR1)
Releng : Adopt EMF 2.10.1 RC2 (Luna SR1)
Fix : Invalid thread access exception in TablePropertyEditorPresentation

When a table property editor presentation is displaying a reference
property that points to a Java class that is created or deleted, an
exception is thrown.

org.eclipse.swt.SWTException: Invalid thread access
	at org.eclipse.swt.SWT.error(SWT.java:4441)
	at org.eclipse.swt.SWT.error(SWT.java:4356)
	at org.eclipse.swt.SWT.error(SWT.java:4327)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:476)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:367)
	at org.eclipse.swt.widgets.Table.getItems(Table.java:2660)
	at org.eclipse.jface.viewers.TableViewer.doGetItems(TableViewer.java:233)
	at org.eclipse.jface.viewers.AbstractTableViewer.doFindItem(AbstractTableViewer.java:328)
	at org.eclipse.jface.viewers.TableViewer.doFindItem(TableViewer.java:458)
	at org.eclipse.jface.viewers.StructuredViewer.findItems(StructuredViewer.java:810)
	at org.eclipse.jface.viewers.StructuredViewer.update(StructuredViewer.java:2067)
	at org.eclipse.jface.viewers.ColumnViewer.update(ColumnViewer.java:540)
	at org.eclipse.sapphire.ui.forms.swt.TablePropertyEditorPresentation.update(TablePropertyEditorPresentation.java:1530)
	at org.eclipse.sapphire.ui.forms.swt.TablePropertyEditorPresentation.access$7(TablePropertyEditorPresentation.java:1523)
	at org.eclipse.sapphire.ui.forms.swt.TablePropertyEditorPresentation$TableRow.refreshValidation(TablePropertyEditorPresentation.java:2487)
	at org.eclipse.sapphire.ui.forms.swt.TablePropertyEditorPresentation$TableRow.access$0(TablePropertyEditorPresentation.java:2480)
	at org.eclipse.sapphire.ui.forms.swt.TablePropertyEditorPresentation$TableRow$1.handleTypedEvent(TablePropertyEditorPresentation.java:2467)
	at org.eclipse.sapphire.ui.forms.swt.TablePropertyEditorPresentation$TableRow$1.handleTypedEvent(TablePropertyEditorPresentation.java:1)
	at org.eclipse.sapphire.FilteredListener.handle(FilteredListener.java:35)
	at org.eclipse.sapphire.EventDeliveryJob.run(EventDeliveryJob.java:52)
	at org.eclipse.sapphire.JobQueue.process(JobQueue.java:94)
	at org.eclipse.sapphire.ListenerContext.broadcast(ListenerContext.java:126)
	at org.eclipse.sapphire.ListenerContext.broadcast(ListenerContext.java:132)
	at org.eclipse.sapphire.Property.broadcast(Property.java:766)
	at org.eclipse.sapphire.Property.refreshValidation(Property.java:282)
	at org.eclipse.sapphire.Property$5.handle(Property.java:242)
	at org.eclipse.sapphire.EventDeliveryJob.run(EventDeliveryJob.java:52)
	at org.eclipse.sapphire.JobQueue.process(JobQueue.java:94)
	at org.eclipse.sapphire.ListenerContext.broadcast(ListenerContext.java:126)
	at org.eclipse.sapphire.ListenerContext.broadcast(ListenerContext.java:132)
	at org.eclipse.sapphire.services.Service.broadcast(Service.java:126)
	at org.eclipse.sapphire.services.Service.broadcast(Service.java:131)
	at org.eclipse.sapphire.services.DataService.refresh(DataService.java:152)
	at org.eclipse.sapphire.java.jdt.internal.JdtJavaTypeReferenceService.access$1(JdtJavaTypeReferenceService.java:1)
	at org.eclipse.sapphire.java.jdt.internal.JdtJavaTypeReferenceService$1$1.run(JdtJavaTypeReferenceService.java:86)

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=443125
Fix : Exception when DND multiple elements

An exception is thrown when multiple elements are drag-n-dropped between
master-detail editor page outlines of two editor instances.

1. Create two contacts.xml files and open both of them.
2. Create two contacts in one of the editors.
3. Drag-n-drop both of the contacts from one editor to the other.

java.lang.IllegalStateException: Contact element is already disposed.
	at org.eclipse.sapphire.ElementImpl.assertNotDisposed(ElementImpl.java:1157)
	at org.eclipse.sapphire.ElementImpl.property(ElementImpl.java:335)
	at org.eclipse.sapphire.ui.forms.PropertyEditorPart.init(PropertyEditorPart.java:129)
	at org.eclipse.sapphire.ui.SapphirePart.initialize(SapphirePart.java:206)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.all(ContainerPart.java:191)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.refreshVisibleChildren(ContainerPart.java:229)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.visible(ContainerPart.java:213)
	at org.eclipse.sapphire.ui.forms.swt.internal.CompositePresentation.renderChildren(CompositePresentation.java:198)
	at org.eclipse.sapphire.ui.forms.swt.internal.CompositePresentation.refresh(CompositePresentation.java:235)
	at org.eclipse.sapphire.ui.forms.swt.internal.CompositePresentation.render(CompositePresentation.java:167)
	at org.eclipse.sapphire.ui.forms.swt.internal.CompositePresentation.render(CompositePresentation.java:88)
	at org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage$DetailsSection.refreshSections(MasterDetailsEditorPage.java:2215)
	at org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage$DetailsSection.selectionChanged(MasterDetailsEditorPage.java:2173)
	at org.eclipse.ui.forms.DetailsPart$1.run(DetailsPart.java:274)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.forms.DetailsPart.showPage(DetailsPart.java:261)
	at org.eclipse.ui.forms.DetailsPart.update(DetailsPart.java:234)
	at org.eclipse.ui.forms.DetailsPart.selectionChanged(DetailsPart.java:219)
	at org.eclipse.ui.forms.ManagedForm.fireSelectionChanged(ManagedForm.java:148)
	at org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage$MasterSection.handleSelectionChangedEvent(MasterDetailsEditorPage.java:2096)
	at org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage$MasterSection.access$0(MasterDetailsEditorPage.java:2091)
	at org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage$MasterSection$2.handleTypedEvent(MasterDetailsEditorPage.java:2046)
	at org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage$MasterSection$2.handleTypedEvent(MasterDetailsEditorPage.java:1)
	at org.eclipse.sapphire.FilteredListener.handle(FilteredListener.java:35)
	at org.eclipse.sapphire.EventDeliveryJob.run(EventDeliveryJob.java:52)
	at org.eclipse.sapphire.JobQueue.process(JobQueue.java:94)
	at org.eclipse.sapphire.ListenerContext.broadcast(ListenerContext.java:126)
	at org.eclipse.sapphire.ListenerContext.broadcast(ListenerContext.java:132)
	at org.eclipse.sapphire.ui.forms.MasterDetailsContentOutline.setSelectedNodes(MasterDetailsContentOutline.java:134)
	at org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage$10.selectionChanged(MasterDetailsEditorPage.java:1031)
	at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:163)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:178)
	at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:160)
	at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2171)
	at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1707)
	at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1093)
	at org.eclipse.jface.viewers.Viewer.setSelection(Viewer.java:388)
	at org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage$9.handle(MasterDetailsEditorPage.java:983)
	at org.eclipse.sapphire.EventDeliveryJob.run(EventDeliveryJob.java:52)
	at org.eclipse.sapphire.JobQueue.process(JobQueue.java:94)
	at org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage$12.dragFinished(MasterDetailsEditorPage.java:1218)
	at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:45)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:782)
	at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:389)
	at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:289)
	at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:172)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:236)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=443155
Releng : Adopt Eclipse 4.4.1 RC2a (Luna SR1)
Releng : Adopt WTP 3.6.1 RC2 (Luna SR1)
Fix : Property is disposed in TextFieldPropertyEditorPresentation

Added a property.disposed() before accessing property's definition

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=439072
Enhancement : Add "Show properties page" action to the diagram editor

Action handler implemented with a condition where the action shows only
when the selected part(diagram, node, shape or connection) has
properties page.

Conflicts:
	plugins/org.eclipse.sapphire.ui/META-INF/sapphire-extension.xml

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=443246
Enhancement : Open properties view from the diagram editor page

Added an image for the "Show in Properties View" action. Without the
image, a default action image is used in the floating palette.

Changed action and handler ids.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=443246
Enhancement : Open properties view from the diagram editor page

Fixed the issue of properties page in grid mode if not opened already.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=443246