/******************************************************************************* | |
* Copyright (c) 2016 Fundación Tecnalia Research & Innovation. | |
* | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v2.0 | |
* which accompanies this distribution, and is available at | |
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html | |
* | |
* SPDX-License-Identifier: EPL-2.0 | |
* | |
* Contributors: | |
* Huascar Espinoza - initial API and implementation | |
* Alejandra Ruíz - initial API and implementation | |
* Idoya Del Río - initial API and implementation | |
* Mari Carmen Palacios - initial API and implementation | |
* Angel López - initial API and implementation | |
*******************************************************************************/ | |
/* | |
* | |
*/ | |
package org.eclipse.opencert.pkm.refframework.refframework.diagram.part; | |
import org.eclipse.core.runtime.IPath; | |
import org.eclipse.core.runtime.Path; | |
import org.eclipse.emf.common.util.URI; | |
import org.eclipse.jface.viewers.IStructuredSelection; | |
import org.eclipse.osgi.util.NLS; | |
import org.eclipse.swt.widgets.Composite; | |
import org.eclipse.ui.dialogs.WizardNewFileCreationPage; | |
/** | |
* @generated | |
*/ | |
public class RefframeworkCreationWizardPage extends WizardNewFileCreationPage { | |
/** | |
* @generated | |
*/ | |
private final String fileExtension; | |
/** | |
* @generated | |
*/ | |
public RefframeworkCreationWizardPage(String pageName, | |
IStructuredSelection selection, String fileExtension) { | |
super(pageName, selection); | |
this.fileExtension = fileExtension; | |
} | |
/** | |
* Override to create files with this extension. | |
* | |
* @generated | |
*/ | |
protected String getExtension() { | |
return fileExtension; | |
} | |
/** | |
* @generated | |
*/ | |
public URI getURI() { | |
return URI.createPlatformResourceURI(getFilePath().toString(), false); | |
} | |
/** | |
* @generated | |
*/ | |
protected IPath getFilePath() { | |
IPath path = getContainerFullPath(); | |
if (path == null) { | |
path = new Path(""); //$NON-NLS-1$ | |
} | |
String fileName = getFileName(); | |
if (fileName != null) { | |
path = path.append(fileName); | |
} | |
return path; | |
} | |
/** | |
* @generated | |
*/ | |
public void createControl(Composite parent) { | |
super.createControl(parent); | |
setFileName(RefframeworkDiagramEditorUtil.getUniqueFileName( | |
getContainerFullPath(), getFileName(), getExtension())); | |
setPageComplete(validatePage()); | |
} | |
/** | |
* @generated | |
*/ | |
protected boolean validatePage() { | |
if (!super.validatePage()) { | |
return false; | |
} | |
String extension = getExtension(); | |
if (extension != null | |
&& !getFilePath().toString().endsWith("." + extension)) { | |
setErrorMessage(NLS.bind( | |
Messages.RefframeworkCreationWizardPageExtensionError, | |
extension)); | |
return false; | |
} | |
return true; | |
} | |
} |