Hi,
I am just working on a modification of the "Get Page" operator to address some issues that appear in the daily use. To keep track of the modifications and to protect them from further updates of the original operator I want to integrate the modified operator in my own extension where I develop supplementary operators as they become usefull. I copied GetWebpageOperator.java from the web mining extension, renamed the class and added the operator to a group (using the XML files). But during startup of RapidMiner there are some errors:
WARNING: Failed to register operator: com.rapidminer.operator.OperatorCreationException: Operator cannot be constructed: 'get_page_advanced(com.rapidminer.matthias.webmining.retrieval.GetWebpageAdvancedOperator)': com/rapidminer/operator/text/Document
com.rapidminer.operator.OperatorCreationException: Operator cannot be constructed: 'get_page_advanced(com.rapidminer.matthias.webmining.retrieval.GetWebpageAdvancedOperator)': com/rapidminer/operator/text/Document
at com.rapidminer.operator.OperatorDescription.createOperatorInstance(OperatorDescription.java:347)
at com.rapidminer.tools.OperatorService.registerOperator(OperatorService.java:430)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:260)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:256)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:256)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:256)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:232)
at com.rapidminer.tools.OperatorService.registerOperators(OperatorService.java:206)
at com.rapidminer.tools.plugin.Plugin.registerOperators(Plugin.java:471)
at com.rapidminer.tools.plugin.Plugin.registerAllPluginOperators(Plugin.java:725)
at com.rapidminer.tools.OperatorService.init(OperatorService.java:167)
at com.rapidminer.RapidMiner.init(RapidMiner.java:465)
at com.rapidminer.gui.RapidMinerGUI.run(RapidMinerGUI.java:221)
at com.rapidminer.gui.RapidMinerGUI.launch(RapidMinerGUI.java:505)
at com.rapidminer.gui.RapidMinerGUI.main(RapidMinerGUI.java:488)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.rapidminer.operator.OperatorDescription.createOperatorInstanceByDescription(OperatorDescription.java:360)
at com.rapidminer.operator.OperatorDescription.createOperatorInstance(OperatorDescription.java:339)
... 14 more
Caused by: java.lang.NoClassDefFoundError: com/rapidminer/operator/text/Document
at com.rapidminer.matthias.webmining.retrieval.GetWebpageAdvancedOperator.<init>(GetWebpageAdvancedOperator.java:64)
... 20 more
Caused by: java.lang.ClassNotFoundException: com.rapidminer.operator.text.Document
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at com.rapidminer.tools.plugin.PluginClassLoader.loadClass(PluginClassLoader.java:102)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 21 more
Well, I think the problem is the use of the operator in an isolated place. But the error refers to the Document type of the Text Processing extension which is also a separate one. What do I miss to allow this for my operator too? I tried to integrate the extended AbstractReader into my local project, but this didn't help. Since I worked mainly on smaller Java projects until now, I am not really familiar with the connection of different packages and libraries (what is allowed and what is required). Perhaps you can give me a hint what else is neccessary?
Thanks in advance and best regards
Matthias