Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/operations/AbstractJpaFileCreationOperation.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/operations/AbstractJpaFileCreationOperation.java132
1 files changed, 0 insertions, 132 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/operations/AbstractJpaFileCreationOperation.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/operations/AbstractJpaFileCreationOperation.java
deleted file mode 100644
index c1b526e43c..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/operations/AbstractJpaFileCreationOperation.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Oracle. 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:
- * Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.core.internal.operations;
-
-
-import static org.eclipse.jpt.core.internal.operations.JpaFileCreationDataModelProperties.*;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jpt.core.JpaProject;
-import org.eclipse.jpt.core.JptCorePlugin;
-import org.eclipse.jpt.core.internal.utility.PlatformTools;
-import org.eclipse.jpt.core.resource.AbstractXmlResourceProvider;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public abstract class AbstractJpaFileCreationOperation
- extends AbstractDataModelOperation
-{
- /**
- * Will be null until container is created or verified to exist
- */
- protected IContainer container;
-
- /**
- * Will be null until file is created or verified to exist
- */
- protected IFile file;
-
-
- protected AbstractJpaFileCreationOperation(IDataModel dataModel) {
- super(dataModel);
- }
-
-
- @Override
- public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
- SubMonitor sm = SubMonitor.convert(monitor, 5);
- // Create folder if it does not exist
- createContainer(sm.newChild(1));
- // Create file
- createFile(sm.newChild(4));
- return OK_STATUS;
- }
-
- protected IContainer getContainer() throws ExecutionException {
- IPath containerPath = (IPath) getDataModel().getProperty(CONTAINER_PATH);
- IContainer container = PlatformTools.getContainer(containerPath);
- if (container == null) {
- throw new ExecutionException("No container path specified"); //$NON-NLS-1$
- }
- return container;
- }
-
- protected IProject getProject() throws ExecutionException {
- return getContainer().getProject();
- }
-
- protected JpaProject getJpaProject() throws ExecutionException {
- IProject project = getProject();
- JpaProject jpaProject = JptCorePlugin.getJpaProject(project);
- if (jpaProject == null) {
- throw new ExecutionException("Project does not have JPA facet"); //$NON-NLS-1$
- }
- return jpaProject;
- }
-
- /**
- * This method will create the container as specified in the data model if it does not exist.
- */
- protected void createContainer(IProgressMonitor monitor) throws ExecutionException {
- IContainer container = getContainer();
- if (! container.exists()) {
- if (container.getType() == IContainer.PROJECT) {
- throw new ExecutionException("Project does not exist");
- }
- else if (container.getType() == IContainer.FOLDER) {
- try {
- ((IFolder) container).create(true, true, null);
- }
- catch (CoreException e) {
- throw new ExecutionException("Could not create folder", e); //$NON-NLS-1$
- }
- }
- else {
- throw new ExecutionException("Container is not a project or folder"); //$NON-NLS-1$
- }
- }
- this.container = container;
- }
-
- protected void createFile(IProgressMonitor monitor) throws ExecutionException {
- String fileName = getDataModel().getStringProperty(FILE_NAME);
- IFile newFile = this.container.getFile(new Path(fileName));
- AbstractXmlResourceProvider resourceProvider = getXmlResourceProvider(newFile);
- try {
- resourceProvider.createFileAndResource(getDataModel(), monitor);
- }
- catch (CoreException e) {
- throw new ExecutionException("Could not create file", e);
- }
- this.file = newFile;
- }
-
- @Override
- public ISchedulingRule getSchedulingRule() {
- try {
- return this.getProject();
- } catch (ExecutionException ex) {
- throw new RuntimeException(ex);
- }
- }
-
- protected abstract AbstractXmlResourceProvider getXmlResourceProvider(IFile file);
-}

Back to the top