/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.advisor.ui.actions; import java.util.Properties; import org.eclipse.core.resources.IProject; import org.eclipse.jface.action.Action; import org.eclipse.jface.window.Window; import org.eclipse.ui.IWorkbenchWindow; import org.teiid.designer.advisor.ui.AdvisorUiConstants; import org.teiid.designer.advisor.ui.AdvisorUiPlugin; import org.teiid.designer.ui.viewsupport.DesignerPropertiesUtil; import org.teiid.designer.ui.viewsupport.IPropertiesContext; import org.teiid.designer.ui.viewsupport.ModelerUiViewUtils; import org.teiid.designer.vdb.ui.wizards.DefineVdbDialog; /** * */ public class DefineVdbAction extends Action implements AdvisorUiConstants { private Properties designerProperties; /** * Construct an instance of NewModelAction. */ public DefineVdbAction() { super(); setText("Define Vdb"); //$NON-NLS-1$ setToolTipText("Define Vdb Tooltip"); //$NON-NLS-1$ setImageDescriptor(AdvisorUiPlugin.getDefault().getImageDescriptor(Images.NEW_VDB)); } /** * @param properties the designer properties */ public DefineVdbAction( Properties properties ) { this(); this.designerProperties = properties; } /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ @Override public void run() { if( !ModelerUiViewUtils.workspaceHasOpenModelProjects() ) { IProject newProject = ModelerUiViewUtils.queryUserToCreateModelProject(); if( newProject != null ) { DesignerPropertiesUtil.setProjectName(designerProperties, newProject.getName()); } else { DesignerPropertiesUtil.setProjectStatus(this.designerProperties, IPropertiesContext.NO_OPEN_PROJECT); return; } } final IWorkbenchWindow iww = AdvisorUiPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow(); DefineVdbDialog sdDialog = new DefineVdbDialog(iww.getShell(), this.designerProperties); sdDialog.open(); if (sdDialog.getReturnCode() == Window.OK) { // Should do nothing since the user can select or create new project or do nothing // and the property for the Project will be set in the "designerProperties" } } }