From 65e14345a09c91cece88bbd489c07bf0c957b571 Mon Sep 17 00:00:00 2001 From: Philipp Spohr <spohr.philipp@web.de> Date: Sun, 6 Aug 2017 13:24:31 +0200 Subject: [PATCH] Back to the primitive: Converted back to "raw" maven as osgi plugin in gradle is not really working as intended and cytoscape strongly suggests using their maven archetype (future versions will drop support for other solutions) --- .gitignore | 6 +- build.gradle | 27 --- gradle/wrapper/gradle-wrapper.jar | Bin 54208 -> 0 bytes gradle/wrapper/gradle-wrapper.properties | 6 - gradlew | 172 ------------------ gradlew.bat | 84 --------- pom.xml | 123 ++++++------- settings.gradle | 1 - .../hhu/ba/yoshikoWrapper/gui/MainPanel.java | 58 ++++++ .../yoshikoWrapper/internal/CyActivator.java | 33 ++++ .../internal/MainPanelAction.java | 48 +++++ .../yoshikoWrapper/internal/CyActivator.java | 14 -- 12 files changed, 199 insertions(+), 373 deletions(-) delete mode 100644 build.gradle delete mode 100644 gradle/wrapper/gradle-wrapper.jar delete mode 100644 gradle/wrapper/gradle-wrapper.properties delete mode 100755 gradlew delete mode 100644 gradlew.bat delete mode 100644 settings.gradle create mode 100644 src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java create mode 100644 src/main/java/de/hhu/ba/yoshikoWrapper/internal/CyActivator.java create mode 100644 src/main/java/de/hhu/ba/yoshikoWrapper/internal/MainPanelAction.java delete mode 100644 src/main/java/de/hhu/bcs/yoshikoWrapper/internal/CyActivator.java diff --git a/.gitignore b/.gitignore index b6c00de..f6eef68 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ -# Gradle -.gradle -/build/ +#Maven +/target # Java *.class @@ -11,3 +10,4 @@ /.settings/org.eclipse.buildship.core.prefs /.settings/org.eclipse.jdt.core.prefs /bin/de +/.gradle/ diff --git a/build.gradle b/build.gradle deleted file mode 100644 index efe952b..0000000 --- a/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id 'maven' -} - -apply plugin: 'java' - - -group = 'de.hhu.bcs' -version = '0.0.1-SNAPSHOT' -description = """yoshikoWrapper""" - -sourceCompatibility = 1.8 -targetCompatibility = 1.8 - -repositories { - maven { url "http://code.cytoscape.org/nexus/content/repositories/snapshots/" } - maven { url "http://code.cytoscape.org/nexus/content/repositories/releases/" } - maven { url "http://repo.maven.apache.org/maven2" } -} - -dependencies { - compile group: 'org.osgi', name: 'org.osgi.core', version:'4.2.0' - compile group: 'org.cytoscape', name: 'service-api', version:'3.5.0-RC2' - compile group: 'org.cytoscape', name: 'swing-application-api', version:'3.5.0-RC2' - compile group: 'org.cytoscape', name: 'session-api', version:'3.5.0-RC2' - compile group: 'org.ops4j.pax.logging', name: 'pax-logging-api', version:'1.5.2' -} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 94028048d0056911c625a3485f7a9f8930e878c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54208 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%0DU#3beOVd$ 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 1549331..0000000 --- a/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri Jul 28 17:36:49 CEST 2017 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.4-bin.zip diff --git a/gradlew b/gradlew deleted file mode 100755 index 4453cce..0000000 --- a/gradlew +++ /dev/null @@ -1,172 +0,0 @@ -#!/usr/bin/env sh - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save ( ) { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=$(save "$@") - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi - -exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat deleted file mode 100644 index e95643d..0000000 --- a/gradlew.bat +++ /dev/null @@ -1,84 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/pom.xml b/pom.xml index 2d67244..f12c3a6 100644 --- a/pom.xml +++ b/pom.xml @@ -1,49 +1,31 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <properties> - <bundle.symbolicName>de.hhu.bcs.yoshikoWrapper</bundle.symbolicName> - <bundle.namespace>de.hhu.bcs.yoshikoWrapper</bundle.namespace> + <bundle.symbolicName>org.cytoscape.sample-control-panel</bundle.symbolicName> + <bundle.namespace>org.cytoscape.sample.internal</bundle.namespace> + <cytoscape.api.version>3.0.0</cytoscape.api.version> + + <maven-bundle-plugin.version>2.3.4</maven-bundle-plugin.version> + <osgi.api.version>4.2.0</osgi.api.version> </properties> - <modelVersion>4.0.0</modelVersion> - <groupId>de.hhu.bcs</groupId> + <groupId>de.hhu.ba</groupId> <artifactId>yoshikoWrapper</artifactId> - <version>0.0.1-SNAPSHOT</version> - - <name>yoshikoWrapper</name> + <version>0.0.1</version> + + <name>YoshikoWrapper</name> <build> - <resources> - <resource> - <directory>src/main/resources</directory> - </resource> - </resources> - <!-- Cytoscape requires Java 1.8 --> <plugins> <plugin> + <inherited>true</inherited> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>2.3.2</version> - <executions> - <execution> - <id>default-testCompile</id> - <phase>test-compile</phase> - <goals> - <goal>testCompile</goal> - </goals> - </execution> - <execution> - <id>default-compile</id> - <phase>compile</phase> - <goals> - <goal>compile</goal> - </goals> - </execution> - </executions> + <version>3.0</version> <configuration> - <source>1.8</source> - <target>1.8</target> + <source>1.6</source> + <target>1.6</target> <optimize>true</optimize> <showWarnings>true</showWarnings> <showDeprecation>true</showDeprecation> @@ -53,28 +35,19 @@ </compilerArguments> </configuration> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <version>2.7.1</version> - <configuration> - <redirectTestOutputToFile>true</redirectTestOutputToFile> - </configuration> - </plugin> - <!-- Generates the OSGi metadata based on the osgi.bnd file. --> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> - <version>2.3.7</version> + <version>${maven-bundle-plugin.version}</version> <extensions>true</extensions> <configuration> <instructions> - <Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName> + <Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName> <Bundle-Version>${project.version}</Bundle-Version> - <Export-Package>${bundle.namespace}</Export-Package> - <Private-Package>${bundle.namespace}.internal.*</Private-Package> - <Bundle-Activator>${bundle.namespace}.internal.CyActivator</Bundle-Activator> - </instructions> + <Export-Package>!${bundle.namespace}.*</Export-Package> + <Private-Package>${bundle.namespace}.*</Private-Package> + <Bundle-Activator>${bundle.namespace}.CyActivator</Bundle-Activator> + </instructions> </configuration> </plugin> </plugins> @@ -85,6 +58,7 @@ <repository> <id>cytoscape_snapshots</id> <snapshots> + <enabled>true</enabled> </snapshots> <releases> <enabled>false</enabled> @@ -98,45 +72,62 @@ <enabled>false</enabled> </snapshots> <releases> + <enabled>true</enabled> </releases> <name>Cytoscape Releases</name> <url>http://code.cytoscape.org/nexus/content/repositories/releases/</url> </repository> </repositories> - <!-- Dependencies needed to compile this project. --> <dependencies> <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.core</artifactId> - <version>4.2.0</version> + <groupId>org.cytoscape</groupId> + <artifactId>swing-application-api</artifactId> + <version>${cytoscape.api.version}</version> </dependency> - <dependency> <groupId>org.cytoscape</groupId> - <artifactId>service-api</artifactId> - <version>3.5.0-RC2</version> + <artifactId>work-api</artifactId> + <version>${cytoscape.api.version}</version> </dependency> <dependency> <groupId>org.cytoscape</groupId> - <artifactId>swing-application-api</artifactId> - <version>3.5.0-RC2</version> + <artifactId>service-api</artifactId> + <version>${cytoscape.api.version}</version> </dependency> <dependency> - <groupId>org.cytoscape</groupId> - <artifactId>session-api</artifactId> - <version>3.5.0-RC2</version> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.core</artifactId> + <version>${osgi.api.version}</version> </dependency> - <!-- Logging --> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.8.2</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-all</artifactId> + <version>1.8.5</version> + <scope>test</scope> + </dependency> <dependency> <groupId>org.ops4j.pax.logging</groupId> <artifactId>pax-logging-api</artifactId> <version>1.5.2</version> - <scope>provided</scope> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.cytoscape</groupId> + <artifactId>service-api</artifactId> + <version>${cytoscape.api.version}</version> + <type>test-jar</type> + <scope>test</scope> </dependency> - </dependencies> - <description>A Java Application that wraps the yoshiko algorithm implemented in C++</description> + <description>A Cytoscape plugin for graph-based clustering that wraps the yoshiko algorithm.</description> + <packaging>bundle</packaging> </project> diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 83349fd..0000000 --- a/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'yoshikoWrapper' diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java b/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java new file mode 100644 index 0000000..99bc852 --- /dev/null +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java @@ -0,0 +1,58 @@ +package de.hhu.ba.yoshikoWrapper.gui; + +import java.awt.Component; + +import javax.swing.Icon; +import javax.swing.JFileChooser; +import javax.swing.JPanel; +import org.cytoscape.application.swing.CytoPanelComponent; +import org.cytoscape.application.swing.CytoPanelName; + +/**This class describes the Swing Panel that the user interacts with in cytoscape + * @author Philipp Spohr, Aug 6, 2017 + * + */ +public class MainPanel extends JPanel implements CytoPanelComponent { + + /** + * Unique identifier for serialization + */ + private static final long serialVersionUID = 6214827920591046457L; + + + /** + * Main constructor, creates a new Panel and intializes subcomponents + */ + public MainPanel() { + + JFileChooser yoshikoNativeChooser = new JFileChooser(); + + this.add(yoshikoNativeChooser); + this.setVisible(true); + } + + + public Component getComponent() { + return this; + } + + + /* (non-Javadoc) + * @see org.cytoscape.application.swing.CytoPanelComponent#getCytoPanelName() + */ + public CytoPanelName getCytoPanelName() { + //By convention most plugins that provide a "toolbox"-like interface use the WEST orientation + return CytoPanelName.WEST; + } + + public String getTitle() { + //TODO: Be creative I guess + return "Yoshiko Wrapper Panel"; + } + + + public Icon getIcon() { + //TODO: + return null; + } +} diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/internal/CyActivator.java b/src/main/java/de/hhu/ba/yoshikoWrapper/internal/CyActivator.java new file mode 100644 index 0000000..76e6dc2 --- /dev/null +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/internal/CyActivator.java @@ -0,0 +1,33 @@ +package de.hhu.ba.yoshikoWrapper.internal; + +import java.util.Properties; + +import org.cytoscape.application.swing.CyAction; +import org.cytoscape.application.swing.CySwingApplication; +import org.cytoscape.application.swing.CytoPanelComponent; +import org.cytoscape.service.util.AbstractCyActivator; +import org.osgi.framework.BundleContext; + +import de.hhu.ba.yoshikoWrapper.gui.MainPanel; + + +public class CyActivator extends AbstractCyActivator { + + public CyActivator() { + super(); + } + + @Override + public void start(BundleContext context) throws Exception { + + CySwingApplication cytoscapeDesktopService = getService(context,CySwingApplication.class); + + MainPanel mainPanel = new MainPanel(); + registerService(context,mainPanel,CytoPanelComponent.class, new Properties()); + + MainPanelAction controlPanelAction = new MainPanelAction(cytoscapeDesktopService,mainPanel); + registerService(context,controlPanelAction,CyAction.class, new Properties()); + + } + +} diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/internal/MainPanelAction.java b/src/main/java/de/hhu/ba/yoshikoWrapper/internal/MainPanelAction.java new file mode 100644 index 0000000..42f3103 --- /dev/null +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/internal/MainPanelAction.java @@ -0,0 +1,48 @@ +package de.hhu.ba.yoshikoWrapper.internal; + +import java.awt.event.ActionEvent; + +import org.cytoscape.application.swing.AbstractCyAction; +import org.cytoscape.application.swing.CySwingApplication; +//import org.cytoscape.application.swing.CytoPanel; +//import org.cytoscape.application.swing.CytoPanelName; + +import de.hhu.ba.yoshikoWrapper.gui.MainPanel; + +public class MainPanelAction extends AbstractCyAction { + + /** + * + */ + private static final long serialVersionUID = -4710814976875737575L; + + //private CySwingApplication desktopApp; + //private final CytoPanel cytoPanelWest; + //private MainPanel mainPanel; + + /**Main constructor, generates a new CyAction handling the main panel + * @param desktopApp + * @param mainPanel + */ + public MainPanelAction( + CySwingApplication desktopApp, + MainPanel mainPanel + ){ + + super("Control Panel"); + + setPreferredMenu("Apps.Clustering"); + + //this.desktopApp = desktopApp; + + //this.cytoPanelWest = this.desktopApp.getCytoPanel(CytoPanelName.WEST); + //this.mainPanel = mainPanel; + } + + @Override + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + + } + +} diff --git a/src/main/java/de/hhu/bcs/yoshikoWrapper/internal/CyActivator.java b/src/main/java/de/hhu/bcs/yoshikoWrapper/internal/CyActivator.java deleted file mode 100644 index 0a1e89d..0000000 --- a/src/main/java/de/hhu/bcs/yoshikoWrapper/internal/CyActivator.java +++ /dev/null @@ -1,14 +0,0 @@ -package de.hhu.bcs.yoshikoWrapper.internal; - -import org.cytoscape.service.util.AbstractCyActivator; -import org.osgi.framework.BundleContext; - - -public class CyActivator extends AbstractCyActivator { - - @Override - public void start(BundleContext context) throws Exception { - System.loadLibrary("yoshiko"); - } - -} -- GitLab