Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionProfileRepository.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionProfileRepository.java253
1 files changed, 0 insertions, 253 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionProfileRepository.java b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionProfileRepository.java
deleted file mode 100644
index 25e7ea7acd..0000000000
--- a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionProfileRepository.java
+++ /dev/null
@@ -1,253 +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.db.internal;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-import org.eclipse.datatools.connectivity.IConnectionProfile;
-import org.eclipse.datatools.connectivity.IProfileListener;
-import org.eclipse.datatools.connectivity.ProfileManager;
-import org.eclipse.jpt.utility.internal.iterators.TransformationIterator;
-
-/**
- * ConnectionProfileRepository is a mediator to the DTP ProfileManager.
- */
-public class ConnectionProfileRepository {
- private ProfileManager dtpProfileManager;
-
- private LocalRepositoryListener repositoryListener;
- private LocalProfileListener profileListener;
- private Set<ConnectionProfile> profiles;
-
- private static ConnectionProfileRepository INSTANCE;
-
- public static final String DATABASE_CATEGORY_ID = "org.eclipse.datatools.connectivity.db.category"; //$NON-NLS-1$
-
- /**
- * singleton support
- */
- public static ConnectionProfileRepository instance() {
- if (INSTANCE == null) {
- INSTANCE = new ConnectionProfileRepository();
- }
- return INSTANCE;
- }
-
- // ********** constructors **********
-
- private ConnectionProfileRepository() {
- super();
- this.dtpProfileManager = ProfileManager.getInstance();
- }
-
- // ********** behavior **********
-
- public void initializeListeners() {
-
- if( this.repositoryListener == null) {
- this.repositoryListener = new LocalRepositoryListener();
- this.dtpProfileManager.addProfileListener( this.repositoryListener);
- }
- if( this.profileListener == null) {
- this.profileListener = new LocalProfileListener();
- this.dtpProfileManager.addProfileListener( this.profileListener);
- }
- }
-
- public void disposeListeners() {
- for( Iterator<ConnectionProfile> stream = this.profiles(); stream.hasNext(); ) {
- stream.next().dispose();
- }
- if( this.repositoryListener != null) {
- this.dtpProfileManager.removeProfileListener( this.repositoryListener);
- this.repositoryListener = null;
- }
- if( this.profileListener != null) {
- this.dtpProfileManager.removeProfileListener( this.profileListener);
- this.profileListener = null;
- }
- }
-
- public Connection getConnectionWithProfileNamed( String name) {
- return this.profileNamed( name).getConnection();
- }
-
-
- @Override
- public String toString() {
- return this.profiles.toString();
- }
-
- // ********** profiles
-
- public Iterator<ConnectionProfile> profiles() {
- return this.getProfiles().iterator();
- }
-
- public Iterator<String> profileNames() {
- return new TransformationIterator<ConnectionProfile, String>( this.profiles()) {
- @Override
- protected String transform( ConnectionProfile profile) {
- return profile.getName();
- }
- };
- }
-
- public ConnectionProfile profileNamed( String name) {
- for( Iterator<ConnectionProfile> stream = this.profiles(); stream.hasNext(); ) {
- ConnectionProfile profile = stream.next();
- if( profile.getName().equals( name)) {
- return profile;
- }
- }
- return NullConnectionProfile.instance();
- }
-
- private Set<ConnectionProfile> getProfiles() {
-
- if( this.profiles == null) {
- this.profiles = this.buildProfiles();
- }
- return this.profiles;
- }
-
- private Set<ConnectionProfile> buildProfiles() {
- IConnectionProfile[] dtpProfiles = this.dtpProfileManager.getProfiles();
- Set<ConnectionProfile> result = new HashSet<ConnectionProfile>( dtpProfiles.length);
- for (IConnectionProfile dtpProfile : dtpProfiles) {
- result.add( ConnectionProfile.createProfile( this, dtpProfile));
- }
- return result;
- }
-
- void addProfile( IConnectionProfile dtpProfile) {
-
- if( !this.profileExists( dtpProfile)) {
- ConnectionProfile newProfile = ConnectionProfile.createProfile( ConnectionProfileRepository.this, dtpProfile);
- this.profiles.add( newProfile);
- }
- }
-
- void removeProfile( IConnectionProfile dtpProfile) {
-
- this.profiles.remove( this.getProfile( dtpProfile));
- }
-
- private boolean profileExists( IConnectionProfile dtpProfile) {
-
- return ( this.getProfile( dtpProfile) == null) ? false : true;
- }
-
- ConnectionProfile getProfile( IConnectionProfile dtpProfile) {
-
- for( Iterator<ConnectionProfile> stream = this.profiles(); stream.hasNext(); ) {
- ConnectionProfile profile = stream.next();
- if( profile.wraps( dtpProfile)) {
- return profile;
- }
- }
- return null;
- }
-
- // ********** listeners **********
-
- public void addProfileListener( ProfileListener listener) {
-
- this.profileListener.addProfileListener( listener);
- }
-
- public void removeProfileListener( ProfileListener listener) {
-
- this.profileListener.removeProfileListener( listener);
- }
-
- @SuppressWarnings("unused")
- private void addInternalProfileListener( IProfileListener listener) {
-
- this.dtpProfileManager.addProfileListener( listener);
- }
-
- @SuppressWarnings("unused")
- private void removeInternalProfileListener( IProfileListener listener) {
-
- this.dtpProfileManager.removeProfileListener( listener);
- }
-
- // ********** member class **********
- /**
- * Listens to ProfileManager events and updates the repository.
- */
- private class LocalRepositoryListener implements IProfileListener {
-
- LocalRepositoryListener() {
- super();
- }
-
- public void profileAdded( IConnectionProfile connectionProfile) {
- ConnectionProfileRepository.this.addProfile( connectionProfile);
- }
-
- public void profileChanged( IConnectionProfile connectionProfile) {
- // do nothing
- }
-
- public void profileDeleted( IConnectionProfile connectionProfile) {
- ConnectionProfileRepository.this.removeProfile( connectionProfile);
- }
- }
-
-
- /**
- * This listener translates and forwards IProfileListener events to ProfileListener.
- */
- private class LocalProfileListener implements IProfileListener {
- private Collection<ProfileListener> listeners = new ArrayList<ProfileListener>();
-
- LocalProfileListener() {
- super();
- }
-
- void addProfileListener( ProfileListener listener) {
- this.listeners.add( listener);
- }
-
- void removeProfileListener( ProfileListener listener) {
- this.listeners.remove( listener);
- }
-
- // ********** behavior **********
-
- public void profileAdded( IConnectionProfile dtpProfile) {
- ConnectionProfile profile = getProfile( dtpProfile);
- for (ProfileListener listener : this.listeners) {
- listener.profileAdded( profile);
- }
- }
-
- public void profileChanged( IConnectionProfile dtpProfile) {
- ConnectionProfile profile = getProfile( dtpProfile);
- for (ProfileListener listener : this.listeners) {
- listener.profileChanged( profile);
- }
- }
-
- public void profileDeleted( IConnectionProfile dtpProfile) {
- String profileName = dtpProfile.getName();
- for (ProfileListener listener : this.listeners) {
- listener.profileDeleted( profileName);
- }
- }
- }
-}
-
-

Back to the top