Search in sources :

Example 1 with ResourceStoreException

use of org.eclipse.sapphire.modeling.ResourceStoreException in project liferay-ide by liferay.

the class CreatePortletActionHandler method run.

/**
 * (non-Javadoc)
 *
 * @see
 * SapphireActionHandler#run(org.eclipse.sapphire.ui.
 * SapphireRenderingContext)
 */
@Override
protected Object run(Presentation context) {
    PortletApp rootModel = (PortletApp) context.part().getModelElement();
    Portlet portlet = rootModel.getPortlets().insert();
    // Open the dialog to capture the mandatory properties
    SapphireDialog dialog = new SapphireDialog(((SwtPresentation) context).shell(), portlet, DefinitionLoader.sdef(PortletXmlEditor.class).dialog());
    if ((dialog != null) && (Dialog.OK == dialog.open())) {
        // Select the node
        MasterDetailsEditorPagePart page = getPart().nearest(MasterDetailsEditorPagePart.class);
        MasterDetailsContentNodePart root = page.outline().getRoot();
        MasterDetailsContentNodePart node = root.findNode(portlet);
        if (node != null) {
            node.select();
        }
        try {
            rootModel.resource().save();
        } catch (ResourceStoreException rse) {
        // Log it in PorletUI Plugin
        }
        return portlet;
    } else {
        rootModel.getPortlets().remove(portlet);
        portlet = null;
        try {
            rootModel.resource().save();
        } catch (ResourceStoreException rse) {
        // Log it in PorletUI Plugin
        }
        return null;
    }
}
Also used : ResourceStoreException(org.eclipse.sapphire.modeling.ResourceStoreException) Portlet(com.liferay.ide.portlet.core.model.Portlet) MasterDetailsContentNodePart(org.eclipse.sapphire.ui.forms.MasterDetailsContentNodePart) MasterDetailsEditorPagePart(org.eclipse.sapphire.ui.forms.MasterDetailsEditorPagePart) SapphireDialog(org.eclipse.sapphire.ui.forms.swt.SapphireDialog) PortletApp(com.liferay.ide.portlet.core.model.PortletApp)

Aggregations

Portlet (com.liferay.ide.portlet.core.model.Portlet)1 PortletApp (com.liferay.ide.portlet.core.model.PortletApp)1 ResourceStoreException (org.eclipse.sapphire.modeling.ResourceStoreException)1 MasterDetailsContentNodePart (org.eclipse.sapphire.ui.forms.MasterDetailsContentNodePart)1 MasterDetailsEditorPagePart (org.eclipse.sapphire.ui.forms.MasterDetailsEditorPagePart)1 SapphireDialog (org.eclipse.sapphire.ui.forms.swt.SapphireDialog)1