Ok, I have checked in a fix for the RuntimeException handling. If you try the new code, you should get a full trace for the NPE that is causing the problem.
Karl On Wed, Jun 8, 2011 at 3:20 PM, Karl Wright <[email protected]> wrote: > The code is: > > Throwable z = e.getTargetException(); > if (z instanceof Error) > throw (Error)z; > else > throw (ManifoldCFException)z; > > > The problem cannot be that z is null, because "z instanceof Error" > does not blow up. Indeed: > "java.lang.NullPointerException cannot be cast to > org.apache.manifoldcf.core.interfaces.ManifoldCFException" is the > message. The code is not resilient against RuntimeError exceptions is > one problem. > > The problem with your connector code is therefore a NPE being thrown. > I'll check in changes here and it should be possible for you to tell > what is happening. > > Karl > > > On Wed, Jun 8, 2011 at 2:55 PM, Farzad Valad <[email protected]> wrote: >> Looking at the OutputConnectorFactory code, it seems there are two problems. >> The exception handling has a bug assuming a null value won't be passed. >> Line 149 says "throw (ManifoldCFException) z;" where z is null. The main >> problem is why registering my connector is now producing an >> InvocationTargetException? and it wasn't a problem before? >> >> public DupFinderConnector() throws ManifoldCFException { >> Logging.connectors.log(Level.ALL, "DupFinder Version 1.0.0"); >> >> calendar = Calendar.getInstance(); >> hashGen = new HashsumGenerator(); >> } >> >> >> On 6/8/2011 12:00 PM, Farzad Valad wrote: >>> >>> Any idea why I would get this failure on registering my connector. Hadn't >>> seen it before. I was trying to setup a new system and was issuing commands >>> to setup the database. Note I was able to register Null Output and File >>> System connectors without error. >>> >>> D:\Program >>> Files\Apache\ManifoldCF\myMCF>processes\script\executecommand.bat >>> org.apache.manifoldcf.agents.RegisterOutput org.apache.manifoldcf.agents. >>> output.dupfinder.DupFinderConnector DupFinder >>> Configuration file successfully read >>> Exception in thread "main" java.lang.ClassCastException: >>> java.lang.NullPointerException cannot be cast to >>> org.apache.manifoldcf.core.interfaces.ManifoldCFException >>> at >>> org.apache.manifoldcf.agents.interfaces.OutputConnectorFactory.getConnectorNoCheck(OutputConnectorFactory.java:149) >>> at >>> org.apache.manifoldcf.agents.interfaces.OutputConnectorFactory.install(OutputConnectorFactory.java:50) >>> at >>> org.apache.manifoldcf.agents.outputconnmgr.OutputConnectorManager.registerConnector(OutputConnectorManager.java:180) >>> at >>> org.apache.manifoldcf.agents.RegisterOutput.doExecute(RegisterOutput.java:47) >>> at >>> org.apache.manifoldcf.agents.TransactionalAgentsInitializationCommand.execute(TransactionalAgentsInitializationCommand.java:43) >>> at >>> org.apache.manifoldcf.agents.RegisterOutput.main(RegisterOutput.java:70) >>> >>> D:\Program >>> Files\Apache\ManifoldCF\myMCF>processes\script\executecommand.bat >>> org.apache.manifoldcf.agents.RegisterOutput >>> org.apache.manifoldcf.agents.output.nullconnector.NullConnector NullOutput >>> Configuration file successfully read >>> Successfully registered output connector >>> 'org.apache.manifoldcf.agents.output.nullconnector.NullConnector' >>> >>> D:\Program >>> Files\Apache\ManifoldCF\myMCF>processes\script\executecommand.bat >>> org.apache.manifoldcf.crawler.Register >>> org.apache.manifoldcf.crawler.connectors.filesystem.FileConnector FileSystem >>> Configuration file successfully read >>> Successfully registered connector >>> 'org.apache.manifoldcf.crawler.connectors.filesystem.FileConnector' >>> >>> D:\Program Files\Apache\ManifoldCF\myMCF> >> >> >
