🎉Community Raffle - Win $25

An exclusive raffle opportunity for active members like you! Complete your profile, answer questions and get your first accepted badge to enter the raffle.
Join and Win

Error in initializing Process from xml

User: "alexb85"
New Altair Community Member
Updated by Jocelyn
Hi,
i'm running rapid miner 5.0 in a webapp, and i would like to read a rapid miner process from a xml file.


package tlicaring.analisys;

import java.io.File;
import java.io.IOException;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import tlicaring.service.NuovaAnalisi;

import com.rapidminer.RapidMiner;
import com.rapidminer.example.Example;
import com.rapidminer.example.ExampleSet;
import com.rapidminer.operator.IOContainer;
import com.rapidminer.operator.Operator;
import com.rapidminer.operator.OperatorException;
import com.rapidminer.tools.LogService;
import com.rapidminer.tools.XMLException;
import com.rapidminer.Process;

public class RapidMinerAnalisys {
RapidMiner.ExecutionMode APPSERVER;

protected final Log logger = LogFactory.getLog(getClass());

public Set<Example> run(NuovaAnalisi n) {

String file = "E:/Spring/tlicaring/war/WEB-INF/classifier.xml";

System.setProperty("rapidminer.init.weka","true");
//System.setProperty("rapidminer.init.plugins","false");
System.setProperty("rapidminer.init.jdbc.lib","true");
System.setProperty("rapidminer.init.jdbc.lib.location","C:/Programmi/Rapid-I/RapidMiner5/lib/jdbc");
System.setProperty("rapidminer.init.jdbc.classpath","false");
//System.setProperty("rapidminer.init.operators","C:/Programmi/Rapid-I/RapidMiner5/resources/com/rapidminer/resources/OperatorsCore.xml");
System.setProperty("rapidminer.home","C:/Programmi/Rapid-I/RapidMiner5");

RapidMiner.setExecutionMode(APPSERVER);

Set<Example> results = new HashSet<Example>();

File xml = new File(file);

try {
LogService.getGlobal().setVerbosityLevel(LogService.MAXIMUM);
Process process = new Process(xml);

IOContainer container = process.run();
ExampleSet exampleSet = container.get(ExampleSet.class);

Iterator<Example> iteratorExample = exampleSet.iterator();

while (iteratorExample.hasNext()) {
Example example = iteratorExample.next();

results.add(example);
}

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XMLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OperatorException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return results;
}
}
but when i try to run my application i recive back these errors:


16-lug-2010 12.33.03 org.apache.catalina.startup.Catalina start
INFO: Server startup in 5614 ms

16-lug-2010 12.33.07 tlicaring.web.HomeController handleRequest
INFO: Returning home view with Fri Jul 16 12:33:07 CEST 2010

com.rapidminer.tools.XMLException: Unknown operator class: 'process'!
at com.rapidminer.io.process.XMLImporter.parseOperator(XMLImporter.java:429)
at com.rapidminer.io.process.XMLImporter.parseOperator(XMLImporter.java:404)
at com.rapidminer.io.process.XMLImporter.parse(XMLImporter.java:294)
at com.rapidminer.io.process.XMLImporter.parse(XMLImporter.java:233)
at com.rapidminer.Process.readProcess(Process.java:1001)
at com.rapidminer.Process.<init>(Process.java:219)
at com.rapidminer.Process.<init>(Process.java:208)
at tlicaring.analisys.RapidMinerAnalisys.run(RapidMinerAnalisys.java:60)16-lug-2010 12.33.11 tlicaring.web.NuovaAnalisiFormController onSubmit
at tlicaring.web.NuovaAnalisiFormController.onSubmit(NuovaAnalisiFormController.java:26)
at org.springframework.web.servlet.mvc.SimpleFormController.onSubmit(SimpleFormController.java:409)
at org.springframework.web.servlet.mvc.SimpleFormController.onSubmit(SimpleFormController.java:381)
at org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:267)
at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:265)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:874)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:808)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at com.springsource.insight.collection.tcserver.request.HttpRequestOperationCollectionValve.invoke(HttpRequestOperationCollectionValve.java:60)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:379)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
I think the problem is not the file access, but the linking between the xml Operators and the java Class.
In fact in the error stack there is: "com.rapidminer.tools.XMLException: Unknown operator class: 'process'!"

Is there someone that can help me?

Find more posts tagged with

Sort by:
1 - 1 of 11
    User: "land"
    New Altair Community Member
    Hi,
    did you initialized RapidMiner? Otherwise the operators will not be read in from the various sources and hence would be unknown when parsing the process.

    Greetings,
      Sebastian