diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/miner/Miner.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/miner/Miner.java
index 83b94593036..e17d275f816 100644
--- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/miner/Miner.java
+++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/miner/Miner.java
@@ -26,9 +26,9 @@ import org.eclipse.dstore.core.model.DataStore;
import org.eclipse.dstore.core.model.DataStoreResources;
import org.eclipse.dstore.core.model.DataStoreSchema;
import org.eclipse.dstore.core.model.Handler;
+import org.eclipse.dstore.core.model.IExternalLoader;
import org.eclipse.dstore.core.model.ISchemaExtender;
-import org.eclipse.dstore.internal.core.util.ExternalLoader;
-
+
/**
* Miner is the abstact base class of all DataStore extensions).
* The DataStore framework knows how to load and route commands to miners
@@ -49,7 +49,7 @@ implements ISchemaExtender
private boolean _initialized;
private boolean _connected;
- private ExternalLoader _loader;
+ private IExternalLoader _loader;
protected String _name = null;
protected String _value = null;
@@ -190,7 +190,7 @@ implements ISchemaExtender
if (_value == null)
{
String name = getMinerName();
- int indexOfValue = name.lastIndexOf("."); //$NON-NLS-1$
+ int indexOfValue = name.lastIndexOf("."); //$NON-NLS-1$
_value = name.substring(indexOfValue + 1, name.length());
}
return _value;
@@ -631,12 +631,12 @@ implements ISchemaExtender
return _dataStore.getDescriptorRoot();
}
- public void setExternalLoader(ExternalLoader loader)
+ public void setExternalLoader(IExternalLoader loader)
{
_loader = loader;
}
- public ExternalLoader getExternalLoader()
+ public IExternalLoader getExternalLoader()
{
return _loader;
}
diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/IExternalLoader.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/IExternalLoader.java
new file mode 100644
index 00000000000..50cf21e9374
--- /dev/null
+++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/IExternalLoader.java
@@ -0,0 +1,34 @@
+/********************************************************************************
+ * Copyright (c) 2007 IBM Corporation. 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
+ *
+ * Initial Contributors:
+ * The following IBM employees contributed to the Remote System Explorer
+ * component that contains this file: David McKnight.
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+package org.eclipse.dstore.core.model;
+
+public interface IExternalLoader {
+
+
+ /**
+ * Indicates whether this external loader can load a particular class
+ * @param source a qualified classname
+ * @return true if it can load the clas
+ */
+ public boolean canLoad(String source);
+
+ /**
+ * Loads the specified class
+ * @param source a qualified classname
+ * @return the loaded class
+ * @throws ClassNotFoundException
+ */
+ public Class loadClass(String source) throws ClassNotFoundException;
+
+}
diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ISchemaExtender.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ISchemaExtender.java
index 8187f489b1b..27cafaef17c 100644
--- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ISchemaExtender.java
+++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ISchemaExtender.java
@@ -17,7 +17,6 @@
package org.eclipse.dstore.core.model;
-import org.eclipse.dstore.internal.core.util.ExternalLoader;
/**
* ISchemaExtender describes the interfaces that tool extensions
@@ -45,5 +44,5 @@ public interface ISchemaExtender
*
* @return the external loader
*/
- public abstract ExternalLoader getExternalLoader();
+ public abstract IExternalLoader getExternalLoader();
}
\ No newline at end of file
diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ISchemaRegistry.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ISchemaRegistry.java
index 9aa8897cea9..1de9d2a90b4 100644
--- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ISchemaRegistry.java
+++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ISchemaRegistry.java
@@ -16,7 +16,6 @@
package org.eclipse.dstore.core.model;
-import org.eclipse.dstore.internal.core.util.ExternalLoader;
/**
* ISchemaRegistry describes the interface that needs to be
@@ -42,9 +41,9 @@ public interface ISchemaRegistry
public void extendSchema(DataStore dataStore);
/**
- * Returns an ExternalLoader
for the specified qualified class name
+ * Returns an IExternalLoader
for the specified qualified class name
* @param qualifiedClassName the qualified class name of an external tool
* @return the external loader that can load to specified class
*/
- public ExternalLoader getLoaderFor(String qualifiedClassName);
+ public IExternalLoader getLoaderFor(String qualifiedClassName);
}
\ No newline at end of file
diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/model/SchemaRegistry.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/model/SchemaRegistry.java
index 700f295f7fe..f92e045777d 100644
--- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/model/SchemaRegistry.java
+++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/model/SchemaRegistry.java
@@ -20,9 +20,9 @@ import java.util.ArrayList;
import org.eclipse.dstore.core.model.DataElement;
import org.eclipse.dstore.core.model.DataStore;
+import org.eclipse.dstore.core.model.IExternalLoader;
import org.eclipse.dstore.core.model.ISchemaExtender;
import org.eclipse.dstore.core.model.ISchemaRegistry;
-import org.eclipse.dstore.internal.core.util.ExternalLoader;
/**
* SchemaRegistry implements the interface for external tools to contribute their
@@ -79,12 +79,12 @@ public class SchemaRegistry implements ISchemaRegistry
* @param source the qualified classname
* @return the external loader for the specified classname
*/
- public ExternalLoader getLoaderFor(String source)
+ public IExternalLoader getLoaderFor(String source)
{
for (int i = 0; i < _extenders.size(); i++)
{
ISchemaExtender extender = (ISchemaExtender) _extenders.get(i);
- ExternalLoader loader = extender.getExternalLoader();
+ IExternalLoader loader = extender.getExternalLoader();
if (loader.canLoad(source))
{
return loader;
diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/MinerLoader.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/MinerLoader.java
index 81691532e7c..04071c60141 100644
--- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/MinerLoader.java
+++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/MinerLoader.java
@@ -28,6 +28,7 @@ import org.eclipse.dstore.core.model.DE;
import org.eclipse.dstore.core.model.DataElement;
import org.eclipse.dstore.core.model.DataStore;
import org.eclipse.dstore.core.model.DataStoreAttributes;
+import org.eclipse.dstore.core.model.IExternalLoader;
import org.eclipse.dstore.core.model.ISchemaExtender;
import org.eclipse.dstore.core.model.ISchemaRegistry;
import org.eclipse.dstore.internal.core.util.ExternalLoader;
@@ -190,7 +191,7 @@ public class MinerLoader implements ISchemaRegistry
// only load new miners
try
{
- ExternalLoader loader = getLoaderFor(name);
+ IExternalLoader loader = getLoaderFor(name);
if (loader != null)
{
// try to load and instantiate the miner
@@ -334,7 +335,7 @@ public class MinerLoader implements ISchemaRegistry
* @param source a qualified classname
* @return the loader for the specified class
*/
- public ExternalLoader getLoaderFor(String source)
+ public IExternalLoader getLoaderFor(String source)
{
ExternalLoader remoteLoader = getExternalRemoteLoader();
diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/ExternalLoader.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/ExternalLoader.java
index c0d308e8e64..a92e32700e6 100644
--- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/ExternalLoader.java
+++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/ExternalLoader.java
@@ -19,6 +19,7 @@ package org.eclipse.dstore.internal.core.util;
import java.util.ArrayList;
import org.eclipse.dstore.core.java.RemoteClassLoader;
+import org.eclipse.dstore.core.model.IExternalLoader;
import org.eclipse.dstore.core.util.StringCompare;
@@ -28,7 +29,7 @@ import org.eclipse.dstore.core.util.StringCompare;
* contains a load scope, a list of classpaths that it's class loader is able
* to load.
*/
-public class ExternalLoader
+public class ExternalLoader implements IExternalLoader
{
private ClassLoader _classLoader;