RapidMiner

RapidMiner

Call my own operator from rapidminer-studio-core built on eclipse

Contributor II

Call my own operator from rapidminer-studio-core built on eclipse

Hi, everyone.

 

Since I am developing my own operator, I need to call it from the rapidminer-studio-core (7.3.0-SNAPSHOT), that has been built on eclipse.

(I followed this tutorial and successfully built and ran it without any errors.)

 

However, I cannot see any operators from rapidminer-studio-core's GUI even though I locate the operator's jar file into the specific directory, $HOME/.Rapidminer/extensions. This directory is also used from the original Rapidminer Studio, that has been downloaded from official website, and my operators can be seen from the original Rapidminer Studio.

 

Does anyone give me advices how to call my extension from rapidminer-studio-core built on eclipse?

 

 

RapidMiner_Original.pngRapidMiner_Build.png

 

2 REPLIES
Contributor II

Re: Call my own operator from rapidminer-studio-core built on eclipse

Hi, everyone.

I found a warning in rapidminer-studio-core's log:

 

WARNING: Cannot register operators from MyOwnOperator: RapidMiner Studio dependency not fulfilled! This extension needs RapidMiner Studio version 7.3.000. RapidMiner version is 7.3.000-SNAPSHOT

 

RMStaff

Re: Call my own operator from rapidminer-studio-core built on eclipse

Hi,

 

WARNING: Cannot register operators from MyOwnOperator: RapidMiner Studio dependency not fulfilled! This extension needs RapidMiner Studio version 7.3.000. RapidMiner version is 7.3.000-SNAPSHOT

The priority of snapshot versions is lower than an actual released version - this is the reason why you are getting this error.

You can resolve this error by publishing RapidMiner Core 7.3.000-SNAPSHOT to your local repository (gradle publishJarPublicationToMavenLocal) and changing your extension dependency to 7.3.000-SNAPSHOT. If you want to release your extension later on don't forget to remove the snapshot tag.

 

Another way, without publishing the artifact, is to modify a Java class of the open core:

Version.java:

 

	@Override
	public int compareTo(VersionNumber o) {
		int index = Double.compare(this.majorNumber, o.majorNumber);
		if (index != 0) {
			return index;
		} else {
			index = Double.compare(this.minorNumber, o.minorNumber);
			if (index != 0) {
				return index;
			} else {
				index = Double.compare(this.patchLevel, o.patchLevel);
				if (index != 0) {
					return index;
				}
				// CHANGE THE FOLLOWING LINE
                                // to treat development builds as released versions
				return 0;
			}
		}
	}

and  

	public final boolean isSnapshot() {
		// always return true
		return true;
	}

 

Hope this helps,

Marcel