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/JpaProject.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaProject.java832
1 files changed, 0 insertions, 832 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaProject.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaProject.java
deleted file mode 100644
index d163881bef..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaProject.java
+++ /dev/null
@@ -1,832 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 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;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.core.internal.content.java.JavaPersistentType;
-import org.eclipse.jpt.core.internal.content.java.JpaCompilationUnit;
-import org.eclipse.jpt.core.internal.facet.JpaFacetUtils;
-import org.eclipse.jpt.core.internal.platform.IContext;
-import org.eclipse.jpt.db.internal.ConnectionProfile;
-import org.eclipse.jpt.db.internal.JptDbPlugin;
-import org.eclipse.jpt.utility.internal.iterators.CloneIterator;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Jpa Project</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jpt.core.internal.JpaProject#getPlatform <em>Platform</em>}</li>
- * <li>{@link org.eclipse.jpt.core.internal.JpaProject#getDataSource <em>Data Source</em>}</li>
- * <li>{@link org.eclipse.jpt.core.internal.JpaProject#isDiscoverAnnotatedClasses <em>Discover Annotated Classes</em>}</li>
- * <li>{@link org.eclipse.jpt.core.internal.JpaProject#getFiles <em>Files</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jpt.core.internal.JpaCorePackage#getJpaProject()
- * @model kind="class"
- * @generated
- */
-public class JpaProject extends JpaEObject implements IJpaProject
-{
- /**
- * The IProject associated with this JPA project
- */
- protected IProject project;
-
- /**
- * The IJpaPlatform associated with this JPA project
- */
- protected IJpaPlatform platform;
-
- /**
- * The cached value of the '{@link #getDataSource() <em>Data Source</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDataSource()
- * @generated
- * @ordered
- */
- protected IJpaDataSource dataSource;
-
- /**
- * The default value of the '{@link #isDiscoverAnnotatedClasses() <em>Discover Annotated Classes</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isDiscoverAnnotatedClasses()
- * @generated
- * @ordered
- */
- protected static final boolean DISCOVER_ANNOTATED_CLASSES_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isDiscoverAnnotatedClasses() <em>Discover Annotated Classes</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isDiscoverAnnotatedClasses()
- * @generated
- * @ordered
- */
- protected boolean discoverAnnotatedClasses = DISCOVER_ANNOTATED_CLASSES_EDEFAULT;
-
- /**
- * This is true if the Discover Annotated Classes attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean discoverAnnotatedClassesESet;
-
- /**
- * The cached value of the '{@link #getFiles() <em>Files</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getFiles()
- * @generated
- * @ordered
- */
- protected EList<IJpaFile> files;
-
- /**
- * Flag to indicate whether this project has been filled with files
- */
- private boolean filled = false;
-
- /**
- * Flag to indicate that the resynchJob has been scheduled or is running.
- * This is set to false when that job is completed
- */
- boolean resynching = false;
-
- /**
- * Flag to indicate that the disposing job has been scheduled or is running
- * (or has been run, in some cases)
- */
- boolean disposing = false;
-
- /**
- * Flag to indicate that the resynchJob needs to be run. This is
- * set to true if resynching = true so that the next time the job completes
- * it will be run again.
- */
- boolean needsToResynch = false;
-
- /**
- * Job used to reconnect the model parts throughout the project containment hierarchy
- * @see IJpaProject#resynch()
- */
- Job resynchJob;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- protected JpaProject() {
- super();
- }
-
- private Job getResynchJob() {
- if (this.resynchJob == null) {
- this.resynchJob = buildResynchJob();
- }
- return this.resynchJob;
- }
-
- private Job buildResynchJob() {
- Job job = new Job("Resynching JPA model ...") {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- return runResynch(monitor);
- }
- finally {
- JpaProject.this.resynching = false;
- if (JpaProject.this.needsToResynch) {
- resynch();
- }
- }
- }
- };
- if (this.project == null) {
- throw new IllegalStateException("Project can not be null when the Resynch Job is built");
- }
- job.setRule(this.project);
- return job;
- }
-
- private IStatus runResynch(IProgressMonitor monitor) {
- IContext contextHierarchy = getPlatform().buildProjectContext();
- if (monitor.isCanceled()) {
- return Status.CANCEL_STATUS;
- }
- try {
- getPlatform().resynch(contextHierarchy, monitor);
- }
- catch (OperationCanceledException e) {
- return Status.CANCEL_STATUS;
- }
- catch (Throwable e) {
- //TODO should I cancel the thread if this happens?
- //exceptions can occur when this thread is running and changes are
- //made to the java source. our model is not yet updated to the changed java source.
- //log these exceptions and assume they won't happen when the resynch runs again
- //as a result of the java source changes.
- JptCorePlugin.log(e);
- }
- return Status.OK_STATUS;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return JpaCorePackage.Literals.JPA_PROJECT;
- }
-
- /**
- * @see IJpaProject#getProject()
- */
- public IProject getProject() {
- return project;
- }
-
- void setProject(IProject theProject) {
- project = theProject;
- }
-
- public IJavaProject getJavaProject() {
- return JavaCore.create(getProject());
- }
-
- /**
- * @see IJpaProject#getModel()
- */
- public IJpaModel getModel() {
- return (IJpaModel) eContainer();
- }
-
- /**
- * Returns the value of the '<em><b>Platform</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Platform</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Platform</em>' reference.
- * @see #setPlatform(IJpaPlatform)
- * @see org.eclipse.jpt.core.internal.JpaCorePackage#getJpaProject_Platform()
- * @model resolveProxies="false" required="true" ordered="false"
- * @generated
- */
- public IJpaPlatform getPlatformGen() {
- return platform;
- }
-
- public IJpaPlatform getPlatform() {
- if (platform == null) {
- setPlatform(JpaFacetUtils.getPlatform(project));
- }
- return getPlatformGen();
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.internal.JpaProject#getPlatform <em>Platform</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Platform</em>' reference.
- * @see #getPlatform()
- * @generated
- */
- public void setPlatformGen(IJpaPlatform newPlatform) {
- IJpaPlatform oldPlatform = platform;
- platform = newPlatform;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JpaCorePackage.JPA_PROJECT__PLATFORM, oldPlatform, platform));
- }
-
- public void setPlatform(IJpaPlatform jpaPlatform) {
- jpaPlatform.setProject(this);
- setPlatformGen(jpaPlatform);
- }
-
- /**
- * @see IJpaProject#setPlatform(String)
- */
- public void setPlatform(String platformId) {
- setPlatform(JpaPlatformRegistry.INSTANCE.getJpaPlatform(platformId));
- }
-
- /**
- * Returns the value of the '<em><b>Data Source</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Data Source</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Data Source</em>' containment reference.
- * @see #setDataSource(IJpaDataSource)
- * @see org.eclipse.jpt.core.internal.JpaCorePackage#getJpaProject_DataSource()
- * @model containment="true" ordered="false"
- * @generated
- */
- public IJpaDataSource getDataSourceGen() {
- return dataSource;
- }
-
- public synchronized IJpaDataSource getDataSource() {
- if (dataSource == null) {
- setDataSource(JpaFacetUtils.getConnectionName(project));
- }
- return getDataSourceGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetDataSource(IJpaDataSource newDataSource, NotificationChain msgs) {
- IJpaDataSource oldDataSource = dataSource;
- dataSource = newDataSource;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, JpaCorePackage.JPA_PROJECT__DATA_SOURCE, oldDataSource, newDataSource);
- if (msgs == null)
- msgs = notification;
- else
- msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.internal.JpaProject#getDataSource <em>Data Source</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Data Source</em>' containment reference.
- * @see #getDataSource()
- * @generated
- */
- public void setDataSource(IJpaDataSource newDataSource) {
- if (newDataSource != dataSource) {
- NotificationChain msgs = null;
- if (dataSource != null)
- msgs = ((InternalEObject) dataSource).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - JpaCorePackage.JPA_PROJECT__DATA_SOURCE, null, msgs);
- if (newDataSource != null)
- msgs = ((InternalEObject) newDataSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - JpaCorePackage.JPA_PROJECT__DATA_SOURCE, null, msgs);
- msgs = basicSetDataSource(newDataSource, msgs);
- if (msgs != null)
- msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JpaCorePackage.JPA_PROJECT__DATA_SOURCE, newDataSource, newDataSource));
- }
-
- /**
- * @see IJpaProject#setDataSource(String)
- */
- public void setDataSource(String connectionProfileName) {
- if (dataSource == null) {
- JpaDataSource ds = JpaCoreFactory.eINSTANCE.createJpaDataSource();
- setDataSource(ds);
- }
- dataSource.setConnectionProfileName(connectionProfileName);
- }
-
- /**
- * Returns the value of the '<em><b>Discover Annotated Classes</b></em>' attribute.
- * The default value is <code>"false"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Discover Annotated Classes</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Discover Annotated Classes</em>' attribute.
- * @see #isSetDiscoverAnnotatedClasses()
- * @see #unsetDiscoverAnnotatedClasses()
- * @see #setDiscoverAnnotatedClasses(boolean)
- * @see org.eclipse.jpt.core.internal.JpaCorePackage#getJpaProject_DiscoverAnnotatedClasses()
- * @model default="false" unique="false" unsettable="true" required="true" ordered="false"
- * @generated
- */
- public boolean isDiscoverAnnotatedClassesGen() {
- return discoverAnnotatedClasses;
- }
-
- public boolean isDiscoverAnnotatedClasses() {
- if (!isSetDiscoverAnnotatedClasses()) {
- setDiscoverAnnotatedClasses(JpaFacetUtils.getDiscoverAnnotatedClasses(project));
- }
- return isDiscoverAnnotatedClassesGen();
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.internal.JpaProject#isDiscoverAnnotatedClasses <em>Discover Annotated Classes</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Discover Annotated Classes</em>' attribute.
- * @see #isSetDiscoverAnnotatedClasses()
- * @see #unsetDiscoverAnnotatedClasses()
- * @see #isDiscoverAnnotatedClasses()
- * @generated
- */
- public void setDiscoverAnnotatedClasses(boolean newDiscoverAnnotatedClasses) {
- boolean oldDiscoverAnnotatedClasses = discoverAnnotatedClasses;
- discoverAnnotatedClasses = newDiscoverAnnotatedClasses;
- boolean oldDiscoverAnnotatedClassesESet = discoverAnnotatedClassesESet;
- discoverAnnotatedClassesESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JpaCorePackage.JPA_PROJECT__DISCOVER_ANNOTATED_CLASSES, oldDiscoverAnnotatedClasses, discoverAnnotatedClasses, !oldDiscoverAnnotatedClassesESet));
- }
-
- /**
- * Unsets the value of the '{@link org.eclipse.jpt.core.internal.JpaProject#isDiscoverAnnotatedClasses <em>Discover Annotated Classes</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetDiscoverAnnotatedClasses()
- * @see #isDiscoverAnnotatedClasses()
- * @see #setDiscoverAnnotatedClasses(boolean)
- * @generated
- */
- public void unsetDiscoverAnnotatedClasses() {
- boolean oldDiscoverAnnotatedClasses = discoverAnnotatedClasses;
- boolean oldDiscoverAnnotatedClassesESet = discoverAnnotatedClassesESet;
- discoverAnnotatedClasses = DISCOVER_ANNOTATED_CLASSES_EDEFAULT;
- discoverAnnotatedClassesESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, JpaCorePackage.JPA_PROJECT__DISCOVER_ANNOTATED_CLASSES, oldDiscoverAnnotatedClasses, DISCOVER_ANNOTATED_CLASSES_EDEFAULT, oldDiscoverAnnotatedClassesESet));
- }
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jpt.core.internal.JpaProject#isDiscoverAnnotatedClasses <em>Discover Annotated Classes</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Discover Annotated Classes</em>' attribute is set.
- * @see #unsetDiscoverAnnotatedClasses()
- * @see #isDiscoverAnnotatedClasses()
- * @see #setDiscoverAnnotatedClasses(boolean)
- * @generated
- */
- public boolean isSetDiscoverAnnotatedClasses() {
- return discoverAnnotatedClassesESet;
- }
-
- public String rootDeployLocation() {
- String metaInfLocation = "";
- try {
- if (FacetedProjectFramework.hasProjectFacet(project, IModuleConstants.JST_WEB_MODULE)) {
- metaInfLocation = J2EEConstants.WEB_INF_CLASSES;
- }
- }
- catch (CoreException ce) {
- // if exception occurs, we'll take the default location
- JptCorePlugin.log(ce);
- }
- return metaInfLocation;
- }
-
- @Override
- public IJpaProject getJpaProject() {
- return this;
- }
-
- /**
- * Returns the value of the '<em><b>Files</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jpt.core.internal.IJpaFile}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Files</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Files</em>' containment reference list.
- * @see org.eclipse.jpt.core.internal.JpaCorePackage#getJpaProject_Files()
- * @model containment="true"
- * @generated
- */
- public EList<IJpaFile> getFiles() {
- if (files == null) {
- files = new EObjectContainmentEList<IJpaFile>(IJpaFile.class, this, JpaCorePackage.JPA_PROJECT__FILES);
- }
- return files;
- }
-
- /**
- * INTERNAL ONLY
- * Fill project with file resources
- */
- void fill() throws CoreException {
- if (filled) {
- return;
- }
- IResourceProxyVisitor visitor = new IResourceProxyVisitor() {
- public boolean visit(IResourceProxy resource) throws CoreException {
- switch (resource.getType()) {
- case IResource.PROJECT :
- case IResource.FOLDER :
- return true;
- case IResource.FILE :
- IFile file = (IFile) resource.requestResource();
- if (getJpaFileInternal(file) == null) {
- createJpaFile(file);
- }
- default :
- return false;
- }
- }
- };
- getProject().accept(visitor, IResource.NONE);
- filled = true;
- resynch();
- }
-
- public boolean isFilled() {
- return filled;
- }
-
- /**
- * @see IJpaProject#getJpaFile(IFile)
- */
- public synchronized IJpaFile getJpaFile(IFile file) {
- IJpaFile jpaFile = getJpaFileInternal(file);
- if (jpaFile != null) {
- return jpaFile;
- }
- else if (!filled) {
- return createJpaFile(file);
- }
- else {
- return null;
- }
- }
-
- synchronized IJpaFile getJpaFileInternal(IFile file) {
- for (IJpaFile next : this.getFiles()) {
- if (next.getFile().equals(file)) {
- return next;
- }
- }
- return null;
- }
-
- public Iterator<IJpaFile> jpaFiles() {
- return new CloneIterator<IJpaFile>(getFiles());
- }
-
- public Collection<IJpaFile> jpaFiles(String contentType) {
- Collection<IJpaFile> jpaFiles = new ArrayList<IJpaFile>();
- for (Iterator<IJpaFile> stream = jpaFiles(); stream.hasNext();) {
- IJpaFile next = stream.next();
- if (next.getContentId().equals(contentType)) {
- jpaFiles.add(next);
- }
- }
- return jpaFiles;
- }
-
- public JavaPersistentType findJavaPersistentType(IType type) {
- if (type == null) {
- return null;
- }
- Collection<IJpaFile> persistenceFiles = jpaFiles(JptCorePlugin.JAVA_CONTENT_TYPE);
- for (IJpaFile jpaFile : persistenceFiles) {
- JpaCompilationUnit compilationUnit = (JpaCompilationUnit) jpaFile.getContent();
- for (JavaPersistentType persistentType : compilationUnit.getTypes()) {
- if (type.equals(persistentType.getType().getJdtMember())) {
- return persistentType;
- }
- }
- }
- return null;
- }
-
- /**
- * INTERNAL ONLY
- * Dispose and remove project
- */
- void dispose() {
- if (disposing)
- return;
- disposing = true;
- Job job = new Job("Disposing JPA project ...") {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- dispose_();
- return Status.OK_STATUS;
- }
- };
- job.setRule(project);
- job.schedule();
- }
-
- private void dispose_() {
- for (IJpaFile jpaFile : new ArrayList<IJpaFile>(getFiles())) {
- ((JpaFile) jpaFile).dispose();
- }
- ((JpaModel) getModel()).getProjects().remove(this);
- }
-
- /**
- * INTERNAL ONLY
- * Synch internal JPA resources.
- */
- void synchInternalResources(IResourceDelta delta) throws CoreException {
- delta.accept(this.buildResourceDeltaVisitor());
- }
-
- private IResourceDeltaVisitor buildResourceDeltaVisitor() {
- return new IResourceDeltaVisitor() {
- private IResource currentResource = getProject();
-
- public boolean visit(IResourceDelta delta) throws CoreException {
- IResource res = delta.getResource();
- if (res.equals(currentResource))
- return true;
- if (res.getType() == IResource.FILE) {
- IFile file = (IFile) res;
- switch (delta.getKind()) {
- case IResourceDelta.ADDED :
- if (getJpaFile(file) == null) {
- createJpaFile(file);
- JpaProject.this.resynch();//TODO different api for this?
- }
- break;
- case IResourceDelta.REMOVED :
- JpaFile jpaFile = (JpaFile) getJpaFile(file);
- if (jpaFile != null) {
- jpaFile.dispose();
- JpaProject.this.resynch();//TODO different api for this?
- }
- break;
- case IResourceDelta.CHANGED :
- // shouldn't have to worry, since all changes we're looking for have to do with file name
- }
- }
- return true;
- }
- };
- }
-
- synchronized IJpaFile createJpaFile(IFile file) {
- if (!JavaCore.create(getProject()).isOnClasspath(file)) {
- return null;
- }
- IJpaFile jpaFile = JpaFileContentRegistry.getFile(this, file);
- // PWFTODO
- // Return a NullPersistenceFile if no content found?
- if (jpaFile != null) {
- getFiles().add(jpaFile);
- return jpaFile;
- }
- return null;
- }
-
- /**
- * INTERNAL ONLY
- * Handle java element change event.
- */
- void handleEvent(ElementChangedEvent event) {
- if (filled) {
- for (Iterator<IJpaFile> stream = jpaFiles(); stream.hasNext();) {
- ((JpaFile) stream.next()).handleEvent(event);
- }
- }
- }
-
- public Iterator<IMessage> validationMessages() {
- List<IMessage> messages = new ArrayList<IMessage>();
- getPlatform().addToMessages(messages);
- return messages.iterator();
- }
-
- //leaving this at the JpaProject level for now instead of
- //passing it on to the JpaModel. We don't currently support
- //multiple projects having cross-references
- public void resynch() {
- //don't resynch until the project is filled
- if (disposing || !filled)
- return;
- if (!resynching) {
- this.resynching = true;
- this.needsToResynch = false;
- this.getResynchJob().schedule();
- }
- else {
- this.needsToResynch = true;
- if (getResynchJob().getState() == Job.RUNNING) {
- this.getResynchJob().cancel();
- }
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case JpaCorePackage.JPA_PROJECT__DATA_SOURCE :
- return basicSetDataSource(null, msgs);
- case JpaCorePackage.JPA_PROJECT__FILES :
- return ((InternalEList<?>) getFiles()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case JpaCorePackage.JPA_PROJECT__PLATFORM :
- return getPlatform();
- case JpaCorePackage.JPA_PROJECT__DATA_SOURCE :
- return getDataSource();
- case JpaCorePackage.JPA_PROJECT__DISCOVER_ANNOTATED_CLASSES :
- return isDiscoverAnnotatedClasses() ? Boolean.TRUE : Boolean.FALSE;
- case JpaCorePackage.JPA_PROJECT__FILES :
- return getFiles();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case JpaCorePackage.JPA_PROJECT__PLATFORM :
- setPlatform((IJpaPlatform) newValue);
- return;
- case JpaCorePackage.JPA_PROJECT__DATA_SOURCE :
- setDataSource((IJpaDataSource) newValue);
- return;
- case JpaCorePackage.JPA_PROJECT__DISCOVER_ANNOTATED_CLASSES :
- setDiscoverAnnotatedClasses(((Boolean) newValue).booleanValue());
- return;
- case JpaCorePackage.JPA_PROJECT__FILES :
- getFiles().clear();
- getFiles().addAll((Collection<? extends IJpaFile>) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case JpaCorePackage.JPA_PROJECT__PLATFORM :
- setPlatform((IJpaPlatform) null);
- return;
- case JpaCorePackage.JPA_PROJECT__DATA_SOURCE :
- setDataSource((IJpaDataSource) null);
- return;
- case JpaCorePackage.JPA_PROJECT__DISCOVER_ANNOTATED_CLASSES :
- unsetDiscoverAnnotatedClasses();
- return;
- case JpaCorePackage.JPA_PROJECT__FILES :
- getFiles().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case JpaCorePackage.JPA_PROJECT__PLATFORM :
- return platform != null;
- case JpaCorePackage.JPA_PROJECT__DATA_SOURCE :
- return dataSource != null;
- case JpaCorePackage.JPA_PROJECT__DISCOVER_ANNOTATED_CLASSES :
- return isSetDiscoverAnnotatedClasses();
- case JpaCorePackage.JPA_PROJECT__FILES :
- return files != null && !files.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * @generated NOT
- */
- @Override
- public String toString() {
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (" + getProject().toString() + ")");
- return result.toString();
- }
-
- public ConnectionProfile connectionProfile() {
- String profileName = getDataSource().getConnectionProfileName();
- return JptDbPlugin.getDefault().getConnectionProfileRepository().profileNamed(profileName);
- }
-}

Back to the top