Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Catalog.java40
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Column.java18
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Connection.java15
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionListener.java8
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionProfile.java49
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionProfileRepository.java76
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/DTPConnectionProfileWrapper.java43
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/DTPConnectionWrapper.java59
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/DTPDatabaseWrapper.java98
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/DTPTools.java23
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/DTPWrapper.java11
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Database.java65
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ForeignKey.java28
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/JptDbPlugin.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/NullConnection.java17
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/NullConnectionProfile.java32
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/NullDatabase.java21
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ProfileListener.java8
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Schema.java106
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Sequence.java18
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Table.java30
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/IAttributeMappingUiProvider.java9
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/JavaPersistentAttributeDetailsPage.java10
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPersistentAttributeDetailsPage.java7
24 files changed, 464 insertions, 329 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Catalog.java b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Catalog.java
index 4097b08014..2278497b80 100644
--- a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Catalog.java
+++ b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Catalog.java
@@ -1,28 +1,29 @@
/*******************************************************************************
* Copyright (c) 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.
- *
+ * 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.text.Collator;
-import java.util.Collection;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.Set;
+
import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObjectListener;
+import org.eclipse.emf.common.util.EList;
/**
* Wrap a DTP Catalogs
*/
-final class Catalog extends DTPWrapper {
+final class Catalog extends DTPWrapper implements Comparable<Catalog> {
private final Database database;
- private final org.eclipse.datatools.modelbase.sql.schema.Catalog dtpCatalog;
+ final org.eclipse.datatools.modelbase.sql.schema.Catalog dtpCatalog;
+ @SuppressWarnings("unused")
private ICatalogObjectListener catalogListener; //TODO listen for change
// ********** constructors **********
@@ -35,10 +36,12 @@ final class Catalog extends DTPWrapper {
// ********** behavior **********
+ @Override
protected boolean connectionIsOnline() {
return this.database.connectionIsOnline();
}
+ @SuppressWarnings("unused")
private ICatalogObjectListener buildCatalogListener() {
return new ICatalogObjectListener() {
public void notifyChanged( final ICatalogObject catalog, final int eventType) {
@@ -50,16 +53,18 @@ final class Catalog extends DTPWrapper {
};
}
+ @Override
protected void dispose() {
// this.removeCatalogObjectListener(( ICatalogObject) this.dtpCatalog, this.catalogListener);
}
- boolean wraps( org.eclipse.datatools.modelbase.sql.schema.Catalog dtpCatalog) {
- return this.dtpCatalog == dtpCatalog;
+ boolean wraps( org.eclipse.datatools.modelbase.sql.schema.Catalog catalog) {
+ return this.dtpCatalog == catalog;
}
// ********** queries **********
+ @Override
public String getName() {
return this.dtpCatalog.getName();
}
@@ -74,12 +79,13 @@ final class Catalog extends DTPWrapper {
// ***** schemata
- synchronized Set buildSchemata() {
- Collection dtpSchemata = this.dtpCatalog.getSchemas();
+ @SuppressWarnings("unchecked")
+ synchronized Set<Schema> buildSchemata() {
+ EList<org.eclipse.datatools.modelbase.sql.schema.Schema> dtpSchemata = this.dtpCatalog.getSchemas();
- Set result = new HashSet( dtpSchemata.size());
- for( Iterator i = dtpSchemata.iterator(); i.hasNext(); ) {
- result.add( this.wrap(( org.eclipse.datatools.modelbase.sql.schema.Schema)i.next()));
+ Set<Schema> result = new HashSet<Schema>( dtpSchemata.size());
+ for (org.eclipse.datatools.modelbase.sql.schema.Schema dtpSchema : dtpSchemata) {
+ result.add( this.wrap(dtpSchema));
}
return result;
}
@@ -91,8 +97,8 @@ final class Catalog extends DTPWrapper {
// ********** Comparable implementation **********
- public int compareTo( Object o) {
- return Collator.getInstance().compare( this.getName(), (( Catalog)o).getName());
+ public int compareTo( Catalog catalog) {
+ return Collator.getInstance().compare( this.getName(), catalog.getName());
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Column.java b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Column.java
index 54ff56f94f..298c7ae6a8 100644
--- a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Column.java
+++ b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Column.java
@@ -1,15 +1,16 @@
/*******************************************************************************
* 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.
- *
+ * 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.text.Collator;
+
import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObjectListener;
import org.eclipse.datatools.modelbase.sql.datatypes.DataType;
@@ -20,7 +21,7 @@ import org.eclipse.jpt.utility.internal.NameTools;
/**
* Wrap a DTP Column
*/
-public final class Column extends DTPWrapper {
+public final class Column extends DTPWrapper implements Comparable<Column> {
private final Table table;
private final org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn;
private ICatalogObjectListener columnListener;
@@ -46,6 +47,7 @@ public final class Column extends DTPWrapper {
}
}
+ @Override
protected boolean connectionIsOnline() {
return this.table.connectionIsOnline();
}
@@ -61,6 +63,7 @@ public final class Column extends DTPWrapper {
};
}
+ @Override
protected void dispose() {
this.removeCatalogObjectListener(( ICatalogObject) this.dtpColumn, this.columnListener);
@@ -68,6 +71,7 @@ public final class Column extends DTPWrapper {
// ********** queries **********
+ @Override
public String getName() {
return this.dtpColumn.getName();
}
@@ -122,8 +126,8 @@ public final class Column extends DTPWrapper {
// ********** Comparable implementation **********
- public int compareTo( Object o) {
- return Collator.getInstance().compare( this.getName(), (( Column)o).getName());
+ public int compareTo( Column column) {
+ return Collator.getInstance().compare( this.getName(), column.getName());
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Connection.java b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Connection.java
index e3ce55897c..3e1e7365db 100644
--- a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Connection.java
+++ b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Connection.java
@@ -1,9 +1,9 @@
/*******************************************************************************
* 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.
- *
+ * 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
******************************************************************************/
@@ -15,7 +15,7 @@ import java.text.Collator;
/**
* Connection wrapper base class.
*/
-public abstract class Connection extends DTPWrapper {
+public abstract class Connection extends DTPWrapper implements Comparable<Connection> {
// ********** constructors **********
@@ -52,14 +52,15 @@ public abstract class Connection extends DTPWrapper {
public abstract String getFactoryId();
+ @Override
protected boolean connectionIsOnline() {
return this.isConnected();
}
// ********** Comparable implementation **********
- public int compareTo(Object o) {
- return Collator.getInstance().compare( this.getName(), ((Connection)o).getName());
+ public int compareTo(Connection connection) {
+ return Collator.getInstance().compare( this.getName(), connection.getName());
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionListener.java b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionListener.java
index 32528cf083..d778cbb1e4 100644
--- a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionListener.java
+++ b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionListener.java
@@ -1,9 +1,9 @@
/*******************************************************************************
* 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.
- *
+ * 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
******************************************************************************/
diff --git a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionProfile.java b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionProfile.java
index 6016824c5e..96f2597932 100644
--- a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionProfile.java
+++ b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/ConnectionProfile.java
@@ -1,9 +1,9 @@
/*******************************************************************************
* 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.
- *
+ * 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
******************************************************************************/
@@ -11,12 +11,13 @@ package org.eclipse.jpt.db.internal;
import java.text.Collator;
import java.util.NoSuchElementException;
+
import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObjectListener;
/**
* ConnectionProfile wrapper base class.
*/
-public abstract class ConnectionProfile extends DTPWrapper {
+public abstract class ConnectionProfile extends DTPWrapper implements Comparable<ConnectionProfile> {
private Connection connection; // Lazy initialized
private Database database; // Lazy initialized
@@ -49,19 +50,20 @@ public abstract class ConnectionProfile extends DTPWrapper {
protected abstract Database buildDatabase();
- abstract void databaseChanged( Database database, int eventType);
+ abstract void databaseChanged( Database db, int eventType);
- abstract void catalogChanged( Catalog catalog, Database database, int eventType);
+ abstract void catalogChanged( Catalog catalog, Database db, int eventType);
- abstract void schemaChanged( Schema schema, Database database, int eventType);
+ abstract void schemaChanged( Schema schema, Database db, int eventType);
- abstract void tableChanged( Table table, Schema schema, Database database, int eventType);
+ abstract void tableChanged( Table table, Schema schema, Database db, int eventType);
protected void refreshDatabase() {
this.disposeDatabase();
this.database = null;
}
+ @Override
protected void dispose() {
this.disengageConnectionListener();
@@ -118,6 +120,7 @@ public abstract class ConnectionProfile extends DTPWrapper {
public abstract boolean isConnected();
+ @Override
protected boolean connectionIsOnline() {
return this.isConnected();
}
@@ -180,39 +183,39 @@ public abstract class ConnectionProfile extends DTPWrapper {
private ConnectionListener buildConnectionListener() {
return new ConnectionListener() {
- public void aboutToClose(Connection connection) {
+ public void aboutToClose(Connection c) {
// not interested to this event.
}
- public void closed(Connection connection) {
+ public void closed(Connection c) {
ConnectionProfile.this.refreshDatabase();
- }
+ }
- public void modified(Connection connection) {
+ public void modified(Connection c) {
// not interested to this event.
return;
- }
+ }
- public boolean okToClose(Connection connection) {
+ public boolean okToClose(Connection c) {
// not interested to this event.
return true;
}
- public void opened(Connection connection) {
+ public void opened(Connection c) {
ConnectionProfile.this.refreshDatabase();
}
- public void databaseChanged(Connection connection, final Database database) {
+ public void databaseChanged(Connection c, final Database db) {
// not interested to this event.
return;
- }
+ }
- public void schemaChanged(Connection connection, final Schema schema) {
+ public void schemaChanged(Connection c, final Schema schema) {
// not interested to this event.
return;
- }
+ }
- public void tableChanged(Connection connection, final Table table) {
+ public void tableChanged(Connection c, final Table table) {
// not interested to this event.
return;
}
@@ -237,8 +240,8 @@ public abstract class ConnectionProfile extends DTPWrapper {
// ********** Comparable implementation **********
- public int compareTo( Object o) {
- return Collator.getInstance().compare( this.getName(), (( ConnectionProfile)o).getName());
+ public int compareTo( ConnectionProfile connectionProfile) {
+ return Collator.getInstance().compare( this.getName(), connectionProfile.getName());
}
}
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
index e23c37572c..25e7ea7acd 100644
--- 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
@@ -1,9 +1,9 @@
/*******************************************************************************
* 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.
- *
+ * 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
******************************************************************************/
@@ -27,7 +27,7 @@ public class ConnectionProfileRepository {
private LocalRepositoryListener repositoryListener;
private LocalProfileListener profileListener;
- private Set profiles;
+ private Set<ConnectionProfile> profiles;
private static ConnectionProfileRepository INSTANCE;
@@ -65,8 +65,8 @@ public class ConnectionProfileRepository {
}
public void disposeListeners() {
- for( Iterator i = profiles(); i.hasNext(); ) {
- (( ConnectionProfile) i.next()).dispose();
+ for( Iterator<ConnectionProfile> stream = this.profiles(); stream.hasNext(); ) {
+ stream.next().dispose();
}
if( this.repositoryListener != null) {
this.dtpProfileManager.removeProfileListener( this.repositoryListener);
@@ -83,27 +83,29 @@ public class ConnectionProfileRepository {
}
+ @Override
public String toString() {
return this.profiles.toString();
}
// ********** profiles
- public Iterator profiles() {
+ public Iterator<ConnectionProfile> profiles() {
return this.getProfiles().iterator();
}
- public Iterator profileNames() {
- return new TransformationIterator( this.profiles()) {
- protected Object transform( Object next) {
- return (( ConnectionProfile)next).getName();
+ 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 stream = this.profiles(); stream.hasNext(); ) {
- ConnectionProfile profile = ( ConnectionProfile) stream.next();
+ for( Iterator<ConnectionProfile> stream = this.profiles(); stream.hasNext(); ) {
+ ConnectionProfile profile = stream.next();
if( profile.getName().equals( name)) {
return profile;
}
@@ -111,7 +113,7 @@ public class ConnectionProfileRepository {
return NullConnectionProfile.instance();
}
- private Set getProfiles() {
+ private Set<ConnectionProfile> getProfiles() {
if( this.profiles == null) {
this.profiles = this.buildProfiles();
@@ -119,16 +121,16 @@ public class ConnectionProfileRepository {
return this.profiles;
}
- private Set buildProfiles() {
- IConnectionProfile[] profiles = this.dtpProfileManager.getProfiles();
- Set result = new HashSet( profiles.length);
- for( int i = profiles.length; i-- > 0; ) {
- result.add( ConnectionProfile.createProfile( this, profiles[i]));
+ 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;
}
- private void addProfile( IConnectionProfile dtpProfile) {
+ void addProfile( IConnectionProfile dtpProfile) {
if( !this.profileExists( dtpProfile)) {
ConnectionProfile newProfile = ConnectionProfile.createProfile( ConnectionProfileRepository.this, dtpProfile);
@@ -136,7 +138,7 @@ public class ConnectionProfileRepository {
}
}
- private void removeProfile( IConnectionProfile dtpProfile) {
+ void removeProfile( IConnectionProfile dtpProfile) {
this.profiles.remove( this.getProfile( dtpProfile));
}
@@ -146,10 +148,10 @@ public class ConnectionProfileRepository {
return ( this.getProfile( dtpProfile) == null) ? false : true;
}
- private ConnectionProfile getProfile( IConnectionProfile dtpProfile) {
+ ConnectionProfile getProfile( IConnectionProfile dtpProfile) {
- for( Iterator i = this.profiles(); i.hasNext(); ) {
- ConnectionProfile profile = ( ConnectionProfile)i.next();
+ for( Iterator<ConnectionProfile> stream = this.profiles(); stream.hasNext(); ) {
+ ConnectionProfile profile = stream.next();
if( profile.wraps( dtpProfile)) {
return profile;
}
@@ -169,11 +171,13 @@ public class ConnectionProfileRepository {
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);
@@ -185,6 +189,10 @@ public class ConnectionProfileRepository {
*/
private class LocalRepositoryListener implements IProfileListener {
+ LocalRepositoryListener() {
+ super();
+ }
+
public void profileAdded( IConnectionProfile connectionProfile) {
ConnectionProfileRepository.this.addProfile( connectionProfile);
}
@@ -203,7 +211,11 @@ public class ConnectionProfileRepository {
* This listener translates and forwards IProfileListener events to ProfileListener.
*/
private class LocalProfileListener implements IProfileListener {
- private Collection listeners = new ArrayList();
+ private Collection<ProfileListener> listeners = new ArrayList<ProfileListener>();
+
+ LocalProfileListener() {
+ super();
+ }
void addProfileListener( ProfileListener listener) {
this.listeners.add( listener);
@@ -217,22 +229,22 @@ public class ConnectionProfileRepository {
public void profileAdded( IConnectionProfile dtpProfile) {
ConnectionProfile profile = getProfile( dtpProfile);
- for( Iterator j = listeners.iterator(); j.hasNext(); ) {
- (( ProfileListener)j.next()).profileAdded( profile);</