Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 3b7ebd42 authored by Jérôme Euzenat's avatar Jérôme Euzenat
Browse files

- reimplemented dynamic class loading in the correct way

parent 77e4bfaa
No related branches found
No related tags found
No related merge requests found
/* /*
* $Id$ * $Id$
* *
* Copyright (C) 2003-2004 INRIA Rhne-Alpes. * Copyright (C) 2003-2005 INRIA Rhne-Alpes.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License * modify it under the terms of the GNU Lesser General Public License
...@@ -177,9 +177,11 @@ public class EvalAlign { ...@@ -177,9 +177,11 @@ public class EvalAlign {
if ( classname != null ) { if ( classname != null ) {
try { try {
Object [] mparams = {(Object)align1, (Object)align2}; Object [] mparams = {(Object)align1, (Object)align2};
Class oClass = Class.forName("org.semanticweb.owl.align.Alignment");
Class[] cparams = { oClass, oClass };
Class evaluatorClass = Class.forName(classname); Class evaluatorClass = Class.forName(classname);
java.lang.reflect.Constructor[] evaluatorConstructors = evaluatorClass.getConstructors(); java.lang.reflect.Constructor evaluatorConstructor = evaluatorClass.getConstructor(cparams);
eval = (Evaluator)evaluatorConstructors[0].newInstance(mparams); eval = (Evaluator)evaluatorConstructor.newInstance(mparams);
} catch (Exception ex) { } catch (Exception ex) {
System.err.println("Cannot create alignment " + System.err.println("Cannot create alignment " +
classname + "\n" + ex.getMessage() ); classname + "\n" + ex.getMessage() );
......
...@@ -199,12 +199,12 @@ public class ParserPrinter { ...@@ -199,12 +199,12 @@ public class ParserPrinter {
if ( rendererClass == null ) renderer = new RDFRendererVisitor( writer ); if ( rendererClass == null ) renderer = new RDFRendererVisitor( writer );
else { else {
try { try {
//renderer = (AlignmentVisitor) ClassLoader.getSystemClassLoader().loadClass(renderingClass).newInstance(); Object[] mparams = {(Object) writer };
Object[] mparams = {(Object) writer }; Class[] cparams = {Class.forName("java.io.writer")};
java.lang.reflect.Constructor[] rendererConstructors = java.lang.reflect.Constructor rendererConstructor =
Class.forName(rendererClass).getConstructors(); Class.forName(rendererClass).getConstructor(cparams);
renderer = renderer =
(AlignmentVisitor) rendererConstructors[0].newInstance(mparams); (AlignmentVisitor) rendererConstructor.newInstance(mparams);
} catch (Exception ex) { } catch (Exception ex) {
System.err.println("Cannot create renderer " + System.err.println("Cannot create renderer " +
rendererClass + "\n" + ex.getMessage() ); rendererClass + "\n" + ex.getMessage() );
......
...@@ -267,9 +267,10 @@ public class Procalign { ...@@ -267,9 +267,10 @@ public class Procalign {
// Create alignment object // Create alignment object
Object[] mparams = {(Object)onto1, (Object)onto2 }; Object[] mparams = {(Object)onto1, (Object)onto2 };
Class alignmentClass = Class.forName(alignmentClassName); Class alignmentClass = Class.forName(alignmentClassName);
java.lang.reflect.Constructor[] alignmentConstructors = Class oClass = Class.forName("org.semanticweb.owl.model.OWLOntology");
alignmentClass.getConstructors(); Class[] cparams = { oClass, oClass };
result = (AlignmentProcess)alignmentConstructors[0].newInstance(mparams); java.lang.reflect.Constructor alignmentConstructor = alignmentClass.getConstructor(cparams);
result = (AlignmentProcess)alignmentConstructor.newInstance(mparams);
result.setFile1(uri1); result.setFile1(uri1);
result.setFile2(uri2); result.setFile2(uri2);
} catch (Exception ex) { } catch (Exception ex) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment