<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="utils"/>
<classpathentry kind="src" path="test"/>
- <classpathentry kind="lib" path="lib/activation.jar"/>
<classpathentry kind="lib" path="lib/axis.jar" sourcepath="D:/axis-1_2RC2-src/axis-1_2RC2"/>
<classpathentry kind="lib" path="lib/commons-discovery.jar"/>
<classpathentry kind="lib" path="lib/jaxrpc.jar"/>
<classpathentry kind="lib" path="lib/jhall.jar"/>
- <classpathentry kind="lib" path="lib/mail.jar"/>
<classpathentry kind="lib" path="lib/regex.jar"/>
- <classpathentry kind="lib" path="lib/saaj.jar"/>
- <classpathentry kind="lib" path="lib/wsdl4j.jar"/>
<classpathentry kind="lib" path="lib/xercesImpl.jar"/>
<classpathentry kind="lib" path="lib/JGoogleAnalytics_0.3.jar" sourcepath="/JGoogleAnalytics/src/main/java"/>
<classpathentry kind="lib" path="lib/vamsas-client.jar"/>
<classpathentry kind="lib" path="lib/VAqua5-patch.jar"/>
<classpathentry kind="lib" path="utils/classgraph-4.1.6.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/plugin"/>
- <classpathentry kind="lib" path="lib/xml-apis.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Plugin.jar"/>
<classpathentry kind="lib" path="lib/jersey-client-1.19.jar"/>
<classpathentry kind="lib" path="lib/jersey-core-1.19.jar"/>
- <classpathentry kind="lib" path="lib/jsr311-api-1.1.1.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/plugin.jar"/>
<classpathentry kind="lib" path="lib/jetty-server-9.2.10.v20150310.jar"/>
- <classpathentry kind="lib" path="lib/servlet-api-3.1.jar"/>
<classpathentry kind="lib" path="lib/jetty-util-9.2.10.v20150310.jar"/>
<classpathentry kind="lib" path="lib/jetty-http-9.2.10.v20150310.jar"/>
<classpathentry kind="lib" path="lib/jetty-io-9.2.10.v20150310.jar"/>
/benchmarking/lib
*.class
/site
+/.gradle
+/build
+/utils/HelpLinksChecker.out
+/.settings
+/getdown/website
+/getdown/full_app
+/getdown/files
+/.classpath
--- /dev/null
+Java 11 module replacements
+
+As Java 11 no longer ships with Java EE libraries, which were standard in Java 8, and available (modularised, through the --add-modules CLI mechanism) in Java 9 and 10, third party replacement libraries for these libraries/modules have to be found.
+
+Ideally, these jar files would be packaged as modules (i.e. would contains a module-info.class with the relevant provision and requirements information for that module package). However, as at time of writing (end Nov 2018) the available packages are not fully mature.
+There also seems to be no single place to look when trying to obtain modules jar files.
+
+A couple of good places to start:
+https://javaee.github.io/
+(see Metro, Glassfish etc)
+
+https://search.maven.org/
+(search for e.g. a:javax.activation)
+
+https://mvnrepository.com/
+(if the other two fail!)
+
+Unfortunately there seems to be multiple projects providing the same modules, with little indication of which is "best".
+Here's an example of what to do with search.maven.org, looking for, say, the java.activation module
+
+Firstly, remember this might be called javax.activation (in fact it is), so searching for
+
+a:javax.activation
+
+shows 3 possible candidates.
+
+The "Updated" date gives a clue if a library might be up-to-date or still being maintained, and of the three listed, com.sun.activation version 1.2.0 was updated in Sep 2017, and is the only one updated in the last 5 years, so it looks like a good candidate.
+Click on the arrow in the Download column which gives various download options. Choose "jar" and this should download straight away.
+
+If you have a peek inside the jar file:
+
+$ jar -tvf ~/Downloads/javax.activation-1.2.0.jar
+
+ 0 Wed Sep 06 16:13:08 BST 2017 META-INF/
+ 1307 Wed Sep 06 16:13:06 BST 2017 META-INF/MANIFEST.MF
+ 0 Wed Sep 06 14:23:50 BST 2017 javax/
+ 0 Wed Sep 06 14:23:50 BST 2017 javax/activation/
+ 0 Wed Sep 06 14:23:50 BST 2017 com/
+ 0 Wed Sep 06 14:23:50 BST 2017 com/sun/
+ 0 Wed Sep 06 14:23:50 BST 2017 com/sun/activation/
+...
+ 2238 Wed Sep 06 14:23:50 BST 2017 com/sun/activation/registries/LineTokenizer.class
+ 39394 Wed Sep 06 16:13:06 BST 2017 META-INF/LICENSE.txt
+ 581 Wed Sep 06 16:13:06 BST 2017 META-INF/mimetypes.default
+ 292 Wed Sep 06 16:13:06 BST 2017 META-INF/mailcap.default
+ 0 Wed Sep 06 16:13:08 BST 2017 META-INF/maven/
+ 0 Wed Sep 06 16:13:08 BST 2017 META-INF/maven/com.sun.activation/
+ 0 Wed Sep 06 16:13:08 BST 2017 META-INF/maven/com.sun.activation/javax.activation/
+ 6515 Fri Sep 01 16:13:04 BST 2017 META-INF/maven/com.sun.activation/javax.activation/pom.xml
+ 119 Wed Sep 06 14:23:52 BST 2017 META-INF/maven/com.sun.activation/javax.activation/pom.properties
+
+
+you can see that it doesn't have a module-info.class file, meaning it can only be used as an "automatic" module. This will probably mean it can't be used with jlink when creating a JRE.
+HAVE NO FEAR!
+We can semi-manually (urgh!) create a module-info.class for this library and turn it into a module. This really should be scripted. I might just do it.
+
+So, assuming we downloaded that jar to ~/Downloads/javax.activation-1.2.0.jar, and JAVA_HOME is set to a java distribution, we can do:
+
+mkdir tmp
+cd tmp
+jar -xvf ~/Downloads/javax.activation-1.2.0.jar
+jdeps --generate-module-info . ~/Downloads/javax.activation-1.2.0.jar
+# --generate-module-info creates the module-info.java file we are looking for! but for some reason insists on sticking it in a java.activation subdir (even though we ask for '.')
+mv java.activation/module-info.java .
+rmdir java.activation
+javac -d . module-info.java
+# we could clean up (rm) module-info.java, but I think it'll be more useful to keep a hold of it in the jar, it's not causing a problem or taking up space
+cd ..
+jar -cvf javax.activation-1.2.0-MODULE.jar -C ./tmp .
+/bin/rm -rf ./tmp
+
+and voila, you have a modulified version of the library in the jar file ./javax.activation-1.2.0-MODULE.jar. This can be used with jlink.
+[ timeout: I scripted this as utils/modulify.sh Usage: modulify.sh /path/to/jarfile.jar ... creates /path/to/jarfile-MODULE.jar ]
+
+Once we have enough modulified jar files (note, we kind of keep downloading a new file or files until jalview starts without Exceptions, jdeps could probably provide a better way(!), and jaxws-rt provides quite a few of the needed jar files, hopefully in a coherent way).
+
+A list of module dependencies can be found with (note module-path doesn't need jar files, just the dirs to look in, unlike class-path)
+
+jdeps --class-path="lib/*:j11lib/*" --module-path="$JAVA_HOME/jmods:j11lib" --list-deps dist/jalview.jar libs/*.jar
+
+will end with a list of modules required in the JRE, these need to be comma-separated-listed for jlink. We /ought/ to be able to do this by using "--print-module-deps" like this
+
+jdeps --class-path="lib/*:j11lib/*" --module-path="$JAVA_HOME/jmods:j11lib" --print-module-deps dist/jalview.jar libs/*.jar
+
+but that ends with an Exception. Perhaps should look into that...
+
+Anyway, with the list of modules required (in the file "modules") you can do
+
+jlink --module-path $JAVA_HOME/jmods:j11lib --compress=2 --add-modules `cat modules` --no-header-files --no-man-pages --bind-services --output j11jre/openjdk11_platform
+
+To create a Java 11 JRE in j11jre/openjdk11_platform (or whatever you wish to call it).
+You can point JAVA_HOME at the JDK11 of a different platform, so long as the jlink in your path is to the jlink for the platform you're running on.
+
+
--- /dev/null
+YEAR=2018
+AUTHORS=J Procter, M Carstairs, B Soares, K Mourao, TC Ofoegbu, AM Waterhouse, J Engelhardt, LM Lui, A Menard, D Barton, N Sherstnev, D Roldan-Martinez, M Clamp, S Searle, G Barton
+AUTHORFNAMES=Jim Procter, Mungo Carstairs, Ben Soares, Kira Mourao, Tochukwu 'Charles' Ofoegbu, Andrew Waterhouse, Jan Engelhardt, Lauren Lui, Anne Menard, Daniel Barton, Natasha Sherstnev, David Roldan-Martinez, Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton
+
\ No newline at end of file
<echo message="note: compile and makeApplet optionally compile/obfuscate applet against a different Java version by specifying -Djava118.home=PathtoJDK/lib which is the lib directory in the JDK install that contains rt.jar " />
<echo message="Useful -D flags: -Ddonotobfuscate will prevent applet obfuscation" />
<echo message="Useful -D flags: -Dclover.jar to specify path to openclover for testng coverage report" />
+ <echo message="Useful -D flags: -Ddeprecation=true to add -Xlint:deprecation to the java compiler" />
</target>
<condition property="java9">
<equals arg1="${ant.java.version}" arg2="9"/>
</condition>
+ <!-- Java 10 JVM args -->
+ <condition property="java10">
+ <equals arg1="${ant.java.version}" arg2="10"/>
+ </condition>
+ <!-- Java 11 JVM args -->
+ <condition property="java11">
+ <equals arg1="${ant.java.version}" arg2="11"/>
+ </condition>
+ <echo message="ant.java.version is ${ant.java.version}"/>
<!-- Don't change anything below here unless you know what you are doing! -->
<!-- Url path for WebStart in JNLP file -->
<!-- Anne's version needs 1.7 - should rebuild VARNA to java 1.6 for release -->
<property name="j2sev" value="1.7+" />
<!-- Java Compilation settings - source and target javac version -->
- <property name="javac.source" value="1.8" />
- <property name="javac.target" value="1.8" />
+ <property name="javac.source" value="11" if:set="java11" />
+ <property name="javac.target" value="11" if:set="java11" />
+ <property name="javac.source" value="1.8" unless:set="java11" />
+ <property name="javac.target" value="1.8" unless:set="java11" />
+ <echo message="javac.source is ${javac.source}"/>
+ <echo message="javac.target is ${javac.target}"/>
<!-- Permissions for running Java applets and applications. -->
<!-- Defaults are those suitable for deploying jalview webstart www.jalview.org -->
<!-- build directory configuration -->
<property name="libDir" value="lib" />
+ <property name="j11libDir" value="j11lib" />
<property name="resourceDir" value="resources" />
<property name="helpDir" value="help" />
<property name="docDir" value="doc" />
<include name="*.jar" />
<include name="**/*.jar" />
</fileset>
+ <fileset dir="${j11libDir}">
+ <include name="*.jar" />
+ <include name="**/*.jar" />
+ </fileset>
<fileset dir="${libDir}">
<include name="*.jar" />
<include name="**/*.jar" />
<include name="${jmolJar}" />
<include name="${varnaJar}" />
</fileset>
+ <pathelement location="${clover.jar}" if:set="clover.jar"/>
</path>
<path id="test.classpath">
<pathelement path="${outputDir}" />
<target name="build" depends="prepare">
<!-- not efficient yet. -->
- <javac source="${javac.source}" target="${javac.target}" srcdir="${sourceDir}" destdir="${outputDir}" debug="${javac.debug}" classpathref="build.classpath">
+ <!-- Echo the build.classpath
+ <pathconvert property="echoClasspath" refid="build.classpath" />
+ <echo message="build.classpath is '${echoClasspath}'" />
+ -->
+ <echo message="javac.target is '${javac.target}'" />
+ <echo message="adding -Xlint:deprecation to javac" if:set="deprecation"/>
+ <javac includeantruntime="false" source="${javac.source}" target="${javac.target}" srcdir="${sourceDir}" destdir="${outputDir}" debug="${javac.debug}" classpathref="build.classpath">
+ <compilerarg value="-Xlint:deprecation" if:set="deprecation" />
<exclude name="jalview/*applet*" />
<exclude name="jalview/appletgui/**" />
<exclude name="com/stevesoft/**" />
<taskdef resource="testngtasks" classpath="utils/testnglibs/testng.jar" />
<target name="testng" depends="buildTests">
+ <loadfile property="j11modules" srcFile="modules">
+ <filterchain>
+ <striplinebreaks/>
+ </filterchain>
+ </loadfile>
+ <echo message="j11libDir is '${j11libDir}'" />
+ <echo message="j11modules is '${j11modules}'" />
<testng outputDir="${reportDir}" haltOnFailure="false" groups="${testng-groups}" mode="testng"
verbose="2">
<classpath>
<pathelement location="${clover.jar}" if:set="clover.jar"/>
<path refid="test.classpath" />
</classpath>
+ <!--
+ <jvmarg value="DASH_DASH_module-path=${j11libDir}:${java.home}/jmods" if:set="java11"/>
+ -->
+ <jvmarg value="--module-path=${j11libDir}" if:set="java11"/>
+ <jvmarg value="--add-modules=${j11modules}" if:set="java11"/>
<jvmarg value="--add-modules=java.se.ee" if:set="java9"/>
<jvmarg value="--illegal-access=warn" if:set="java9"/>
<classfileset dir="${testOutputDir}" includes="**/*.class" />
</testng>
</target>
+ <target name="testngclass" depends="buildTests">
+ <condition property="propsSpecified">
+ <isset property="class.name" />
+ </condition>
+ <fail unless="propsSpecified" message="class.name property not specified."/>
+ <echo message="testng-groups is '${testng-groups}'" />
+ <loadfile property="j11modules" srcFile="modules"/>
+ <testng outputDir="${reportDir}" haltOnFailure="false" groups="${testng-groups}" mode="testng" verbose="2">
+ <classpath>
+ <pathelement location="${testOutputDir}" />
+ <pathelement location="${clover.jar}" if:set="clover.jar"/>
+ <path refid="test.classpath" />
+ </classpath>
+ <jvmarg value="--module-path=${j11libDir}:${java.home}/jmods" if:set="java11"/>
+ <jvmarg value="--add-modules=${j11modules}" if:set="java11"/>
+ <jvmarg value="--add-modules=java.se.ee" if:set="java9"/>
+ <jvmarg value="--illegal-access=warn" if:set="java9"/>
+ <classfileset dir="${testOutputDir}" includes="${class.name}" />
+ </testng>
+ </target>
+
<target name="buildindices" depends="init, prepare" unless="help.uptodate">
<replace value="${JALVIEW_VERSION}">
<replacetoken><![CDATA[$$Version-Rel$$]]></replacetoken>
--- /dev/null
+import org.apache.tools.ant.filters.ReplaceTokens
+import org.gradle.internal.os.OperatingSystem
+
+
+buildscript {
+ dependencies {
+ //classpath files("$gradlePluginsDir/gradle-macappbundle-2.3.0-patched-2.3.0.jar")
+ }
+}
+
+plugins {
+ id 'java'
+ id 'application'
+ id 'com.github.johnrengelman.shadow' version '4.0.3'
+ id 'com.install4j.gradle' version '7.0.9'
+}
+
+repositories {
+ jcenter()
+ mavenCentral()
+ flatDir {
+ dirs gradlePluginsDir
+ }
+}
+
+mainClassName = launcherClass
+
+sourceSets {
+
+ main {
+ java {
+ srcDirs "$jalviewDir/$sourceDir"
+ outputDir = file("$jalviewDir/$classesDir")
+ }
+
+ resources {
+ srcDirs "$jalviewDir/$resourceDir"
+ srcDirs "$jalviewDir/$libDir"
+ }
+
+ jar.destinationDir = file("$jalviewDir/$packageDir")
+
+ compileClasspath = files(sourceSets.main.java.outputDir)
+ compileClasspath += fileTree(dir: "$jalviewDir/$libDir", include: ["*.jar"])
+ if (JAVA_VERSION.equals("1.8")) {
+ print("ADDING J11LIBS TO CLASSPATH")
+ compileClasspath += fileTree(dir: "$jalviewDir/$j11libDir", include: ["*.jar"])
+ }
+
+ runtimeClasspath = compileClasspath
+ }
+
+ test {
+ java {
+ srcDirs "$jalviewDir/$testSourceDir"
+ outputDir = file("$jalviewDir/$testOutputDir")
+ }
+
+ resources {
+ srcDirs = sourceSets.main.resources.srcDirs
+ }
+
+ compileClasspath = sourceSets.main.compileClasspath
+ compileClasspath += files( sourceSets.test.java.outputDir )
+ compileClasspath += fileTree(dir: "$jalviewDir/$utilsDir", include: ["**/*.jar"])
+
+ runtimeClasspath = compileClasspath
+ }
+
+ modules {
+ compileClasspath = fileTree(dir: "$jalviewDir/$j11libDir", include: ["*.jar"])
+
+ runtimeClasspath = compileClasspath
+ }
+
+}
+
+compileJava {
+
+ doFirst {
+ if (JAVA_VERSION.equals("1.8")) {
+ sourceCompatibility = 1.8
+ targetCompatibility = 1.8
+ } else if (JAVA_VERSION.equals("11")) {
+ sourceCompatibility = 11
+ targetCompatibility = 11
+
+ options.compilerArgs = [
+ '--module-path', sourceSets.modules.compileClasspath.asPath,
+ '--add-modules', j11modules
+ ]
+ }
+ print ("Setting target compatibility to "+targetCompatibility+"\n")
+ }
+
+}
+
+compileTestJava {
+
+ doFirst {
+ if (JAVA_VERSION.equals("1.8")) {
+ sourceCompatibility = 1.8
+ targetCompatibility = 1.8
+ } else if (JAVA_VERSION.equals("11")) {
+ sourceCompatibility = 11
+ targetCompatibility = 11
+
+ options.compilerArgs = [
+ '--module-path', sourceSets.modules.compileClasspath.asPath,
+ '--add-modules', j11modules
+ ]
+ }
+ print ("Setting target compatibility to "+targetCompatibility+"\n")
+ }
+
+}
+
+clean {
+ delete sourceSets.main.java.outputDir
+}
+
+cleanTest {
+ delete sourceSets.test.java.outputDir
+}
+
+def getDate(format) {
+ def date = new Date()
+ //return date.format("dd MMMM yyyy")
+ return date.format(format)
+}
+
+def getGitHash() {
+ def stdout = new ByteArrayOutputStream()
+ exec {
+ commandLine "git", "rev-parse", "--short", "HEAD"
+ standardOutput = stdout
+ workingDir = jalviewDir
+ }
+ return stdout.toString().trim()
+}
+
+def getGitBranch() {
+ def stdout = new ByteArrayOutputStream()
+ exec {
+ commandLine "git", "rev-parse", "--abbrev-ref", "HEAD"
+ standardOutput = stdout
+ workingDir = jalviewDir
+ }
+ return stdout.toString().trim()
+}
+
+task createBuildProperties(type: WriteProperties) {
+ inputs.dir("$jalviewDir/$sourceDir")
+ inputs.dir("$jalviewDir/$resourceDir")
+ outputFile "$jalviewDir/$classesDir/$buildPropertiesFile"
+ /* taking time/date specific comment out to allow better incremental builds */
+ //comment "--Jalview Build Details--\n"+getDate("yyyy-MM-dd HH:mm:ss")
+ comment "--Jalview Build Details--\n"+getDate("yyyy-MM-dd")
+ property "BUILD_DATE", getDate("dd MMMM yyyy")
+ property "VERSION", JALVIEW_VERSION
+ property "INSTALLATION", INSTALLATION+" git-commit:"+getGitHash()+" ["+getGitBranch()+"]"
+ outputs.file(outputFile)
+ outputs.dir("$jalviewDir/$classesDir")
+}
+
+task syncDocs(type: Sync) {
+ def syncDir = "$jalviewDir/$classesDir/$docDir"
+ from fileTree("$jalviewDir/$docDir")
+ into syncDir
+
+}
+
+def helpFile = "$jalviewDir/$classesDir/$helpDir/help.jhm"
+task syncHelp(type: Sync) {
+ inputs.files("$jalviewDir/$helpDir")
+ outputs.files(helpFile)
+
+ def syncDir = "$jalviewDir/$classesDir/$helpDir"
+ from fileTree("$jalviewDir/$helpDir")
+ into syncDir
+}
+
+task copyHelp(type: Copy) {
+ def inputDir = "$jalviewDir/$helpDir"
+ def outputDir = "$jalviewDir/$classesDir/$helpDir"
+ from inputDir
+ into outputDir
+ filter(ReplaceTokens, beginToken: '$$', endToken: '$$', tokens: ['Version-Rel': "USING_FILTER"])
+ inputs.dir(inputDir)
+ outputs.files(helpFile)
+ outputs.dir(outputDir)
+}
+
+task syncLib(type: Sync) {
+ def syncDir = "$jalviewDir/$classesDir/$libDir"
+ from fileTree("$jalviewDir/$libDir")
+ into syncDir
+}
+
+task syncResources(type: Sync) {
+ from "$jalviewDir/$resourceDir"
+ include "**/*.*"
+ exclude "install4j"
+ into "$jalviewDir/$classesDir"
+ preserve {
+ include "**"
+ }
+}
+
+task prepare {
+ dependsOn syncResources
+ dependsOn syncDocs
+ dependsOn copyHelp
+}
+
+//testReportDirName = "test-reports" // note that test workingDir will be $jalviewDir
+test {
+ dependsOn prepare
+ dependsOn compileJava
+ dependsOn compileTestJava
+ useTestNG {
+ includeGroups testngGroups
+ preserveOrder true
+ }
+
+ workingDir = jalviewDir
+ //systemProperties 'clover.jar' System.properties.clover.jar
+ if (JAVA_VERSION.equals("1.8")) {
+ sourceCompatibility = 1.8
+ targetCompatibility = 1.8
+ } else if (JAVA_VERSION.equals("11")) {
+ sourceCompatibility = 11
+ targetCompatibility = 11
+
+ jvmArgs += [
+ '--module-path',
+ sourceSets.modules.compileClasspath.asPath,
+ '--add-modules',
+ j11modules
+ ]
+ }
+ print ("Setting target compatibility to "+targetCompatibility+"\n")
+}
+
+task buildIndices(type: JavaExec) {
+ dependsOn copyHelp
+ classpath = sourceSets.main.compileClasspath
+ main = "com.sun.java.help.search.Indexer"
+ workingDir = "$jalviewDir/$classesDir/$helpDir"
+ def argDir = "html"
+ args = [ argDir ]
+ inputs.dir("$workingDir/$argDir")
+
+ outputs.dir("$jalviewDir/$classesDir/doc")
+ outputs.dir("$jalviewDir/$classesDir/help")
+ outputs.file("$workingDir/JavaHelpSearch/DOCS")
+ outputs.file("$workingDir/JavaHelpSearch/DOCS.TAB")
+ outputs.file("$workingDir/JavaHelpSearch/OFFSETS")
+ outputs.file("$workingDir/JavaHelpSearch/POSITIONS")
+ outputs.file("$workingDir/JavaHelpSearch/SCHEMA")
+ outputs.file("$workingDir/JavaHelpSearch/TMAP")
+}
+
+task compileLinkCheck(type: JavaCompile) {
+ options.fork = true
+ classpath = files("$jalviewDir/$utilsDir")
+ destinationDir = file("$jalviewDir/$utilsDir")
+ source = fileTree(dir: "$jalviewDir/$utilsDir", include: ["HelpLinksChecker.java", "BufferedLineReader.java"])
+
+ outputs.file("$jalviewDir/$utilsDir/HelpLinksChecker.class")
+ outputs.file("$jalviewDir/$utilsDir/BufferedLineReader.class")
+}
+
+task linkCheck(type: JavaExec) {
+ dependsOn prepare, compileLinkCheck
+ classpath = files("$jalviewDir/$utilsDir")
+ main = "HelpLinksChecker"
+ workingDir = "$jalviewDir"
+ args = [ "$classesDir/$helpDir", "-nointernet" ]
+
+ doFirst {
+ standardOutput new FileOutputStream("$jalviewDir/$utilsDir/HelpLinksChecker.out")
+ }
+
+ outputs.file("$jalviewDir/$utilsDir/HelpLinksChecker.out")
+}
+
+task cleanPackageDir(type: Delete) {
+ delete fileTree("$jalviewDir/$packageDir").include("*.jar")
+}
+
+jar {
+ dependsOn linkCheck
+ dependsOn buildIndices
+ dependsOn createBuildProperties
+
+ manifest {
+ attributes "Main-Class": mainClass,
+ "Permissions": "all-permissions",
+ "Application-Name": "Jalview Desktop",
+ "Codebase": application_codebase
+ }
+
+ destinationDir = file("$jalviewDir/$packageDir")
+ archiveName = rootProject.name+".jar"
+
+ exclude "cache*/**"
+ exclude "*.jar"
+ exclude "*.jar.*"
+ exclude "**/*.jar"
+ exclude "**/*.jar.*"
+
+ inputs.dir("$jalviewDir/$classesDir")
+ outputs.file("$jalviewDir/$packageDir/$archiveName")
+}
+
+task copyJars(type: Copy) {
+ from fileTree("$jalviewDir/$classesDir").include("**/*.jar").include("*.jar").files
+ into "$jalviewDir/$packageDir"
+}
+
+// doing a Sync instead of Copy as Copy doesn't deal with "outputs" very well
+task syncJars(type: Sync) {
+ from fileTree("$jalviewDir/$libDir").include("**/*.jar").include("*.jar").files
+ into "$jalviewDir/$packageDir"
+ preserve {
+ include jar.archiveName
+ }
+}
+
+task makeDist {
+ // order of "cleanPackageDir", "copyJars", "jar" important!
+ jar.mustRunAfter cleanPackageDir
+ syncJars.mustRunAfter cleanPackageDir
+ dependsOn cleanPackageDir
+ dependsOn syncJars
+ dependsOn jar
+ outputs.dir("$jalviewDir/$packageDir")
+}
+
+task cleanDist {
+ dependsOn cleanPackageDir
+ dependsOn cleanTest
+ dependsOn clean
+}
+
+shadowJar {
+ dependsOn makeDist
+ if (JAVA_VERSION.equals("11")) {
+ from ("$jalviewDir/$j11libDir") {
+ include("*.jar")
+ }
+ }
+ mainClassName = shadowJarMainClass
+ mergeServiceFiles()
+ classifier = "all"
+ minimize()
+}
+
+ext {
+ getdownWebsiteDir = jalviewDir + '/' + getdown_website_dir
+ getdownAppDir = getdownWebsiteDir + '/' + getdown_app_dir
+ getdownJ11libDir = getdownWebsiteDir + '/' + getdown_j11lib_dir
+ getdownResourceDir = getdownWebsiteDir + '/' + getdown_resource_dir
+ getdownLauncher = jalviewDir + '/' + getdown_launcher
+ getdownFilesDir = jalviewDir + '/' + getdown_files_dir
+}
+
+task getdownWebsite() {
+ dependsOn makeDist
+ def getdownWebsiteResourceFilenames = []
+ def getdownTextString = ""
+ def getdownResourceDir = project.ext.getdownResourceDir
+ def getdownAppDir = project.ext.getdownAppDir
+ def getdownResourceFilenames = []
+ doFirst {
+ // go through properties looking for getdown_txt_...
+ def props = project.properties.sort { it.key }
+ if (JAVA_VERSION.equals("11")) {
+ props.put("getdown_txt_java_min_version", getdown_alt_java11_min_version)
+ } else {
+ props.put("getdown_txt_java_min_version", getdown_alt_java8_min_version)
+ }
+ props.each{ prop, val ->
+ if (prop.startsWith("getdown_txt_") && val != null) {
+ if (prop.startsWith("getdown_txt_multi_")) {
+ def key = prop.substring(18)
+ val.split(",").each{ v ->
+ def line = key + " = " + v + "\n"
+ getdownTextString += line
+ }
+ } else {
+ // file values rationalised
+ if (val.indexOf('/') > -1) {
+ def r = null
+ if (val.indexOf('/') == 0) {
+ // absolute path
+ r = file(val)
+ } else if (val.indexOf('/') > 0) {
+ // relative path (relative to jalviewDir)
+ r = file( jalviewDir + '/' + val )
+ }
+ if (r.exists()) {
+ val = getdown_resource_dir + '/' + r.getName()
+ getdownWebsiteResourceFilenames += val
+ getdownResourceFilenames += r.getPath()
+ }
+ }
+ def line = prop.substring(12) + " = " + val + "\n"
+ getdownTextString += line
+ }
+ }
+ }
+
+ getdownWebsiteResourceFilenames.each{ filename ->
+ getdownTextString += "resource = "+filename+"\n"
+ }
+ getdownResourceFilenames.each{ filename ->
+ copy {
+ from filename
+ into project.ext.getdownResourceDir
+ }
+ }
+
+ def codeFiles = []
+ makeDist.outputs.files.each{ f ->
+ if (f.isDirectory()) {
+ def files = fileTree(dir: f, include: ["*"]).getFiles()
+ codeFiles += files
+ } else if (f.exists()) {
+ codeFiles += f
+ }
+ }
+ codeFiles.sort().each{f ->
+ def line = "code = " + getdown_app_dir + '/' + f.getName() + "\n"
+ getdownTextString += line
+ copy {
+ from f.getPath()
+ into project.ext.getdownAppDir
+ }
+ }
+
+ if (JAVA_VERSION.equals("11")) {
+ def j11libFiles = fileTree(dir: "$jalviewDir/$j11libDir", include: ["*.jar"]).getFiles()
+ j11libFiles.sort().each{f ->
+ def line = "code = " + getdown_j11lib_dir + '/' + f.getName() + "\n"
+ getdownTextString += line
+ copy {
+ from f.getPath()
+ into project.ext.getdownJ11libDir
+ }
+ }
+ }
+
+ getdownTextString += "code = " + file(getdownLauncher).getName() + "\n"
+ getdownTextString += "class = " + mainClass + "\n"
+
+ def getdown_txt = file(project.ext.getdownWebsiteDir + "/getdown.txt")
+ getdown_txt.write(getdownTextString)
+
+ copy {
+ from getdown_txt
+ into project.ext.getdownFilesDir
+ }
+
+ copy {
+ from getdownLauncher
+ into project.ext.getdownWebsiteDir
+ }
+
+ copy {
+ from getdownLauncher
+ into project.ext.getdownFilesDir
+ }
+
+ copy {
+ from jalviewDir + '/' + project.getProperty('getdown_txt_ui.background_image')
+ from jalviewDir + '/' + project.getProperty('getdown_txt_ui.error_background')
+ from jalviewDir + '/' + project.getProperty('getdown_txt_ui.progress_image')
+ from jalviewDir + '/' + project.getProperty('getdown_txt_ui.icon')
+ from jalviewDir + '/' + project.getProperty('getdown_txt_ui.mac_dock_icon')
+ into project.ext.getdownFilesDir + '/' + getdown_resource_dir
+ }
+ }
+
+ inputs.dir(jalviewDir + '/' + packageDir)
+ outputs.dir(project.ext.getdownWebsiteDir)
+ outputs.dir(project.ext.getdownFilesDir)
+}
+
+task getdownDigest(type: JavaExec) {
+ dependsOn getdownWebsite
+ classpath = files(jalviewDir + '/' + getdown_core)
+ main = "com.threerings.getdown.tools.Digester"
+ args project.ext.getdownWebsiteDir
+ outputs.file(project.ext.getdownWebsiteDir + '/' + "digest2.txt")
+}
+
+task getdown() {
+ dependsOn getdownDigest
+}
+
+clean {
+ delete project.ext.getdownWebsiteDir
+ delete project.ext.getdownFilesDir
+}
+
+install4j {
+ def install4jHomeDir = "/opt/install4j"
+ def hostname = "hostname".execute().text.trim()
+ if (hostname.equals("jv-bamboo")) {
+ install4jHomeDir = System.getProperty("user.home")+"/buildtools/install4j"
+ } else if (OperatingSystem.current().isMacOsX()) {
+ install4jHomeDir = '/Applications/install4j.app/Contents/Resources/app'
+ if (! file(install4jHomeDir).exists()) {
+ install4jHomeDir = System.getProperty("user.home")+install4jHomeDir
+ }
+ } else if (OperatingSystem.current().isLinux()) {
+ install4jHomeDir = System.getProperty("user.home")+"/buildtools/install4j"
+ }
+ installDir = file(install4jHomeDir)
+}
+
+task installers(type: com.install4j.gradle.Install4jTask) {
+ dependsOn getdown
+ projectFile = "$jalviewDir/$install4jResourceDir/$install4jConf"
+ variables = [majorVersion: version.substring(2, 11), build: 001]
+ destination = "$jalviewDir/$install4jBuildDir"
+ buildSelected = true
+ inputs.dir(project.ext.getdownWebsiteDir)
+ outputs.dir("$jalviewDir/$install4jBuildDir")
+}
--- /dev/null
+Subproject commit 0e2f11698da3c6b9ffd9ce7a1317ff42b96a1dbf
--- /dev/null
+#org.gradle.java.home = /Users/bsoares/Java/installs/OpenJDK8U-jdk_x64_mac_hotspot_8u192b12/jdk8u192-b12/Contents/Home
+jalviewDir = .
+
+JAVA_VERSION = 11
+JALVIEW_VERSION = DEVELOPMENT
+INSTALLATION = Source
+jalview_keystore = keys/.keystore
+jalview_keystore.pass = alignmentisfun
+jalview_key = jalview
+jalview_key.pass = alignmentisfun
+jalview_tsaurl =
+proxyPort = 80
+proxyHost = sqid
+jalview_keyalg = SHA1withRSA
+jalview_keydig = SHA1
+
+testngGroups = Functional
+
+javac_source = 11
+javac_target = 11
+
+libDir = lib
+resourceDir = resources
+helpDir = help
+docDir = doc
+sourceDir = src
+schemaDir = schemas
+classesDir = classes
+clover.classesDir = cloverclasses
+packageDir = dist
+outputJar = jalview.jar
+
+testSourceDir = test
+testOutputDir = tests
+utilsDir = utils
+
+buildPropertiesFile = .build_properties
+application_codebase = *.jalview.org
+mainClass = jalview.bin.Jalview
+shadowJarMainClass = jalview.bin.Launcher
+launcherClass = jalview.bin.Jalview
+
+gradlePluginsDir = gradle/plugins
+
+getdown_website_dir = getdown/website
+getdown_resource_dir = resource
+getdown_app_dir = dist
+getdown_j11lib_dir = j11lib
+getdown_files_dir = getdown/files
+getdown_launcher = getdown/lib/getdown-launcher.jar
+getdown_core = getdown/lib/getdown-core-1.8.3-SNAPSHOT.jar
+getdown_base_txt = getdown/files/getdown.txt
+getdown_txt_title = Jalview
+getdown_txt_appbase = http://www.compbio.dundee.ac.uk/user/bsoares/getdown/jalview/DEV
+getdown_txt_allow_offline = true
+getdown_txt_jvmmempc = 95
+getdown_txt_strict_comments = true
+getdown_txt_title = Jalview
+getdown_txt_ui.name = Jalview
+getdown_txt_ui.background = FFFFFF
+getdown_txt_ui.background_image = resources/images/jalview_logo_background_getdown-640x480.png
+getdown_txt_ui.error_background = resources/images/jetset_jalview_splash.png
+getdown_txt_ui.progress_image = resources/images/jalview_logo_background_getdown-progress.png
+getdown_txt_ui.icon = resources/images/JalviewLogo_Huge.png
+getdown_txt_ui.progress = 20, 440, 600, 22
+getdown_txt_ui.progress_bar = AAAAFF
+getdown_txt_ui.progress_text = 000000
+getdown_txt_ui.status = 20, 380, 600, 58
+getdown_txt_ui.status_text = 000066
+getdown_txt_ui.text_shadow = EEEEFF
+getdown_txt_ui.install_error = http://www.jalview.org/download/error
+getdown_txt_ui.mac_dock_icon = resources/images/jalview_logos.ico
+#getdown_alt_java8_min_version = 01080000
+getdown_alt_java8_min_version = 11000000
+getdown_alt_java11_min_version = 11000000
+getdown_txt_multi_java_location = [windows] /user/bsoares/getdown/jre/jre-11.0.2-windows-amd64.jar,[mac os x] /user/bsoares/getdown/jre/jre-11.0.2-macos-amd64.jar
+getdown_txt_multi_java_location = [windows-amd64] /user/bsoares/getdown/jre/jre-11.0.2-windows-amd64.jar,[linux-amd64] /user/bsoares/getdown/jre/jre-11.0.2-linux-amd64.jar,[windows-x86] /user/bsoares/getdown/jre/jre-11.0.2-windows-x86.jar,[mac os x] /user/bsoares/getdown/jre/jre-11.0.2-macos-amd64.jar,[linux-x86] /user/bsoares/getdown/jre/jre-11.0.2-linux-x86.jar,
+
+JRE_installs = /Users/bsoares/Java/installs
+Windows_JRE8 = OpenJDK8U-jdk_x64_windows_hotspot_8u202b08/jdk8u202-b08
+Mac_JRE8 = OpenJDK8U-jre_x64_mac_hotspot_8u202b08/jdk8u202-b08-jre/Contents/Home
+Linux_JRE8 = OpenJDK8U-jre_x64_linux_hotspot_8u202b08/jdk8u202-b08-jre
+Windows_JRE11 = OpenJDK11-jre_x64_windows_hotspot_11_28/jdk-11+28-jre
+Mac_JRE11 = OpenJDK11-jre_x64_mac_hotspot_11_28/jdk-11+28-jre/Contents/Home
+Linux_JRE11 = OpenJDK11-jre_x64_linux_hotspot_11_28/jdk-11+28-jre
+
+j11libDir = j11lib
+j11modules = com.sun.istack.runtime,com.sun.xml.bind,com.sun.xml.fastinfoset,com.sun.xml.streambuffer,com.sun.xml.txw2,com.sun.xml.ws.policy,java.activation,java.annotation,java.base,java.compiler,java.datatransfer,java.desktop,java.logging,java.management,java.management.rmi,java.naming,java.prefs,java.rmi,java.scripting,java.security.sasl,java.sql,java.xml,java.xml.bind,java.xml.soap,java.xml.ws,javax.jws,jdk.httpserver,jdk.jsobject,jdk.unsupported,jdk.xml.dom,org.jvnet.mimepull,org.jvnet.staxex,javax.servlet.api,java.ws.rs
+
+install4jResourceDir = resources/install4j
+install4jConf = jalview_getdown.install4j
+install4jBuildDir = build/install4j
--- /dev/null
+com.sun.istack.runtime,com.sun.xml.bind,com.sun.xml.fastinfoset,com.sun.xml.streambuffer,com.sun.xml.txw2,com.sun.xml.ws.policy,java.activation,java.annotation,java.base,java.compiler,java.datatransfer,java.desktop,java.logging,java.management,java.management.rmi,java.naming,java.prefs,java.rmi,java.scripting,java.security.sasl,java.sql,java.xml,java.xml.bind,java.xml.soap,java.xml.ws,javax.jws,jdk.httpserver,jdk.jsobject,jdk.unsupported,jdk.xml.dom,org.jvnet.mimepull,org.jvnet.staxex,javax.servlet.api,java.ws.rs
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<install4j version="7.0.9" transformSequenceNumber="7">
+ <directoryPresets config="libjli.dylib" />
+ <application name="Jalview" distributionSourceDir="" applicationId="6595-2347-1923-0725" mediaDir="../../build/install4j" mediaFilePattern="${compiler:sys.shortName}_${compiler:sys.platform}_${compiler:sys.version}" compression="6" lzmaCompression="true" pack200Compression="false" excludeSignedFromPacking="true" commonExternalFiles="false" createMd5Sums="true" shrinkRuntime="true" shortName="Jalview" publisher="University of Dundee" publisherWeb="http://www.jalview.org/" version="DEVELOPMENT" allPathsRelative="true" backupOnSave="false" autoSave="false" convertDotsToUnderscores="true" macSignature="????" macVolumeId="5aac4968c304f65" javaMinVersion="11" javaMaxVersion="" allowBetaVM="true" jdkMode="jdk" jdkName="JDK 11.0">
+ <languages skipLanguageSelection="false" languageSelectionInPrincipalLanguage="false">
+ <principalLanguage id="en" customLocalizationFile="" />
+ <additionalLanguages />
+ </languages>
+ <searchSequence>
+ <directory location="java_vm" />
+ </searchSequence>
+ <variables />
+ <mergedProjects />
+ <codeSigning macEnabled="false" macPkcs12File="" windowsEnabled="false" windowsKeySource="pkcs12" windowsPvkFile="" windowsSpcFile="" windowsPkcs12File="" windowsPkcs11Library="" windowsPkcs11Slot="">
+ <windowsKeystoreIdentifier issuer="" serial="" subject="" />
+ <windowsPkcs11Identifier issuer="" serial="" subject="" />
+ </codeSigning>
+ </application>
+ <files keepModificationTimes="false" missingFilesStrategy="warn" globalExcludeSuffixes="" defaultOverwriteMode="4" defaultUninstallMode="2" launcherOverwriteMode="3" defaultFileMode="644" defaultDirMode="755">
+ <filesets>
+ <fileset name="Full file set" id="734" customizedId="" />
+ <fileset name="Mac OS X JRE" id="880" customizedId="" />
+ <fileset name="Windows JRE" id="882" customizedId="" />
+ </filesets>
+ <roots>
+ <root id="735" fileset="734" location="" />
+ <root id="881" fileset="880" location="" />
+ <root id="883" fileset="882" location="" />
+ </roots>
+ <mountPoints>
+ <mountPoint id="454" root="" location="" mode="755" />
+ <mountPoint id="736" root="735" location="" mode="755" />
+ <mountPoint id="884" root="881" location="" mode="755" />
+ <mountPoint id="885" root="883" location="" mode="755" />
+ </mountPoints>
+ <entries>
+ <dirEntry mountPoint="454" file="../../getdown/files" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="true" overrideUninstallMode="true" entryMode="direct" subDirectory="files" excludeSuffixes="" dirMode="755" overrideDirMode="false">
+ <exclude />
+ </dirEntry>
+ <dirEntry mountPoint="736" file="../../getdown/website" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="true" overrideUninstallMode="true" entryMode="direct" subDirectory="files" excludeSuffixes="" dirMode="755" overrideDirMode="false">
+ <exclude />
+ </dirEntry>
+ <dirEntry mountPoint="884" file="./jre/jre-11.0.2-macos-amd64/java_vm" overwriteMode="4" shared="false" fileMode="755" uninstallMode="0" overrideFileMode="true" overrideOverwriteMode="false" overrideUninstallMode="true" entryMode="subdir" subDirectory="java_vm" excludeSuffixes="" dirMode="755" overrideDirMode="false">
+ <exclude />
+ </dirEntry>
+ <dirEntry mountPoint="885" file="./jre/jre-11.0.2-windows-amd64/java_vm" overwriteMode="4" shared="false" fileMode="755" uninstallMode="0" overrideFileMode="true" overrideOverwriteMode="false" overrideUninstallMode="true" entryMode="subdir" subDirectory="java_vm" excludeSuffixes="" dirMode="755" overrideDirMode="false">
+ <exclude />
+ </dirEntry>
+ </entries>
+ <components>
+ <component name="getdown" id="456" customizedId="" displayDescription="false" hideHelpButton="false" selected="true" changeable="true" downloadable="false" hidden="false">
+ <description />
+ <include all="false">
+ <entry location=".i4j_fileset_" fileType="regular" />
+ </include>
+ <dependencies />
+ </component>
+ </components>
+ </files>
+ <launchers>
+ <launcher name="Jalview Launcher" id="121" customizedId="" external="false" excludeFromMenu="false" unixMode="755" unixAutoStart="true" menuName="${compiler:sys.shortName}-${compiler:sys.version}" icnsFile="../../resources/images/jalview_logos.icns" customMacBundleIdentifier="false" macBundleIdentifier="" swtApp="false" fileset="" macBundleBinary="JavaApplicationStub" addMacEntitlements="false" macEntitlementsFile="" useCustomMacosExecutableName="true" customMacosExecutableName="${compiler:sys.shortName}" useJavaMinVersionOverride="false" javaMinVersionOverride="" useJavaMaxVersionOverride="false" javaMaxVersionOverride="" checkUpdater="false" updateExecutionMode="unattendedProgress" unattendedUpdateTitle="${i18n:updater.WindowTitle("${compiler:sys.fullName}")}">
+ <executable name="Jalview" type="1" iconSet="true" iconFile="../../resources/images/jalview_logos.ico" executableDir="." redirectStderr="true" stderrFile="error.log" stderrMode="overwrite" redirectStdout="true" stdoutFile="output.log" stdoutMode="overwrite" failOnStderrOutput="true" executableMode="1" changeWorkingDirectory="true" workingDirectory="." singleInstance="true" serviceStartType="2" serviceDependencies="" serviceDescription="" jreLocation="" executionLevel="asInvoker" checkConsoleParameter="true" globalSingleInstance="false" singleInstanceActivate="true" dpiAware="java9+">
+ <versionInfo include="false" fileVersion="" fileDescription="" legalCopyright="" internalName="" productName="" />
+ </executable>
+ <splashScreen show="false" width="640" height="480" bitmapFile="../../resources/images/jalview_logo_background_fade-640x480.png" textOverlay="true">
+ <text>
+ <statusLine x="85" y="81" text="${compiler:sys.shortName}" fontSize="18" fontColor="0,0,0" bold="false" />
+ <versionLine x="85" y="109" text="version ${compiler:sys.version}" fontSize="8" fontColor="0,0,0" bold="false" />
+ </text>
+ </splashScreen>
+ <java mainClass="com.threerings.getdown.launcher.GetdownApp" mainMode="1" vmParameters="" arguments="." allowVMPassthroughParameters="true" preferredVM="" bundleRuntime="true">
+ <classPath>
+ <archive location="getdown-launcher.jar" failOnError="false" />
+ </classPath>
+ <modulePath />
+ <nativeLibraryDirectories />
+ <vmOptions />
+ </java>
+ <includedFiles />
+ <unextractableFiles />
+ <vmOptionsFile mode="template" overwriteMode="0" fileMode="644">
+ <content />
+ </vmOptionsFile>
+ <customScript mode="1" file="">
+ <content />
+ </customScript>
+ <infoPlist mode="1" file="">
+ <content />
+ </infoPlist>
+ <iconImageFiles>
+ <file path="../../resources/images/Jalview_Logo.png" />
+ </iconImageFiles>
+ </launcher>
+ <launcher name="Offline Jalview Launcher" id="737" customizedId="" external="false" excludeFromMenu="false" unixMode="755" unixAutoStart="true" menuName="${compiler:sys.shortName}-${compiler:sys.version}" icnsFile="../../resources/images/jalview_logos.icns" customMacBundleIdentifier="false" macBundleIdentifier="" swtApp="false" fileset="734" macBundleBinary="JavaApplicationStub" addMacEntitlements="false" macEntitlementsFile="" useCustomMacosExecutableName="true" customMacosExecutableName="${compiler:sys.shortName}" useJavaMinVersionOverride="false" javaMinVersionOverride="" useJavaMaxVersionOverride="false" javaMaxVersionOverride="" checkUpdater="false" updateExecutionMode="unattendedProgress" unattendedUpdateTitle="${i18n:updater.WindowTitle("${compiler:sys.fullName}")}">
+ <executable name="Jalview" type="1" iconSet="true" iconFile="../../resources/images/jalview_logos.ico" executableDir="." redirectStderr="true" stderrFile="error.log" stderrMode="overwrite" redirectStdout="true" stdoutFile="output.log" stdoutMode="overwrite" failOnStderrOutput="true" executableMode="1" changeWorkingDirectory="true" workingDirectory="." singleInstance="true" serviceStartType="2" serviceDependencies="" serviceDescription="" jreLocation="" executionLevel="asInvoker" checkConsoleParameter="true" globalSingleInstance="false" singleInstanceActivate="true" dpiAware="java9+">
+ <versionInfo include="false" fileVersion="" fileDescription="" legalCopyright="" internalName="" productName="" />
+ </executable>
+ <splashScreen show="false" width="640" height="480" bitmapFile="../../resources/images/jalview_logo_background_fade-640x480.png" textOverlay="true">
+ <text>
+ <statusLine x="85" y="81" text="${compiler:sys.shortName}" fontSize="18" fontColor="0,0,0" bold="false" />
+ <versionLine x="85" y="109" text="version ${compiler:sys.version}" fontSize="8" fontColor="0,0,0" bold="false" />
+ </text>
+ </splashScreen>
+ <java mainClass="com.threerings.getdown.launcher.GetdownApp" mainMode="1" vmParameters="" arguments="." allowVMPassthroughParameters="true" preferredVM="" bundleRuntime="true">
+ <classPath>
+ <archive location="getdown-launcher.jar" failOnError="false" />
+ </classPath>
+ <modulePath />
+ <nativeLibraryDirectories />
+ <vmOptions />
+ </java>
+ <includedFiles />
+ <unextractableFiles />
+ <vmOptionsFile mode="template" overwriteMode="0" fileMode="644">
+ <content />
+ </vmOptionsFile>
+ <customScript mode="1" file="">
+ <content />
+ </customScript>
+ <infoPlist mode="1" file="">
+ <content />
+ </infoPlist>
+ <iconImageFiles>
+ <file path="../../resources/images/Jalview_Logo.png" />
+ </iconImageFiles>
+ </launcher>
+ </launchers>
+ <installerGui installerType="1" addOnAppId="" suggestPreviousLocations="true" autoUpdateDescriptorUrl="" useAutoUpdateBaseUrl="false" autoUpdateBaseUrl="">
+ <staticMembers script="" />
+ <customCode />
+ <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
+ <commentFiles />
+ <customAttributes />
+ </autoUpdate>
+ <applications>
+ <application name="" id="installer" customizedId="" beanClass="com.install4j.runtime.beans.applications.InstallerApplication" enabled="true" commentSet="false" comment="" actionElevationType="none" styleId="35" fileset="" customIcnsFile="../../resources/images/jalview_logos.icns" customIcoFile="../../resources/images/jalview_logos.ico" macEntitlementsFile="" automaticLauncherIntegration="false" launchMode="startupFirstWindow" launchInNewProcess="true" launchSchedule="updateSchedule" allLaunchers="true">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.applications.InstallerApplication">
+ <void property="useCustomIcon">
+ <boolean>true</boolean>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <styleOverrides>
+ <styleOverride name="Customize banner image" enabled="true">
+ <group name="" id="146" customizedId="" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" enabled="true" commentSet="false" comment="" actionElevationType="inherit" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
+ <void property="backgroundColor">
+ <object class="java.awt.Color">
+ <int>255</int>
+ <int>255</int>
+ <int>255</int>
+ <int>255</int>
+ </object>
+ </void>
+ <void property="borderSides">
+ <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
+ <void property="bottom">
+ <boolean>true</boolean>
+ </void>
+ </object>
+ </void>
+ <void property="imageEdgeBackgroundColor">
+ <object class="java.awt.Color">
+ <int>255</int>
+ <int>255</int>
+ <int>255</int>
+ <int>255</int>
+ </object>
+ </void>
+ <void property="imageEdgeBorder">
+ <boolean>true</boolean>
+ </void>
+ <void property="imageFile">
+ <object class="com.install4j.api.beans.ExternalFile">
+ <string>../../resources/images/jalview_logo_background_fade-640x480.png</string>
+ </object>
+ </void>
+ <void property="insets">
+ <object class="java.awt.Insets">
+ <int>5</int>
+ <int>10</int>
+ <int>10</int>
+ <int>10</int>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <beans />
+ <externalParametrizationPropertyNames>
+ <propertyName>imageAnchor</propertyName>
+ <propertyName>imageEdgeBackgroundColor</propertyName>
+ <propertyName>imageFile</propertyName>
+ </externalParametrizationPropertyNames>
+ </group>
+ </styleOverride>
+ <styleOverride name="Jalview" enabled="true">
+ <formComponent name="Watermark" id="352" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" enabled="true" commentSet="false" comment="" insetTop="0" insetLeft="5" insetBottom="0" insetRight="" resetInitOnPrevious="false" useExternalParametrization="true" externalParametrizationName="Jalview" externalParametrizationMode="include">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.SeparatorComponent">
+ <void property="enabledTitleText">
+ <boolean>false</boolean>
+ </void>
+ <void property="labelText">
+ <string>install4j</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames>
+ <propertyName>labelText</propertyName>
+ </externalParametrizationPropertyNames>
+ </formComponent>
+ </styleOverride>
+ </styleOverrides>
+ <customScript mode="1" file="">
+ <content />
+ </customScript>
+ <launcherIds />
+ <variables />
+ <startup>
+ <screen name="" id="1" customizedId="" beanClass="com.install4j.runtime.beans.screens.StartupScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" styleId="" rollbackBarrier="false" rollbackBarrierExitCode="0" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.screens.StartupScreen" />
+ </java>
+ </serializedBean>
+ <styleOverrides />
+ <condition />
+ <validation />
+ <preActivation />
+ <postActivation />
+ <actions>
+ <action name="" id="22" customizedId="" beanClass="com.install4j.runtime.beans.actions.misc.RequestPrivilegesAction" enabled="true" commentSet="false" comment="" actionElevationType="none" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.misc.RequestPrivilegesAction" />
+ </java>
+ </serializedBean>
+ <condition />
+ </action>
+ </actions>
+ <formComponents />
+ </screen>
+ </startup>
+ <screens>
+ <screen name="" id="2" customizedId="" beanClass="com.install4j.runtime.beans.screens.WelcomeScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" styleId="" rollbackBarrier="false" rollbackBarrierExitCode="0" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.screens.WelcomeScreen" />
+ </java>
+ </serializedBean>
+ <styleOverrides>
+ <styleOverride name="Customize banner image" enabled="true">
+ <group name="" id="145" customizedId="" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" enabled="true" commentSet="false" comment="" actionElevationType="inherit" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
+ <void property="backgroundColor">
+ <object class="java.awt.Color">
+ <int>255</int>
+ <int>255</int>
+ <int>255</int>
+ <int>255</int>
+ </object>
+ </void>
+ <void property="borderSides">
+ <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
+ <void property="bottom">
+ <boolean>true</boolean>
+ </void>
+ </object>
+ </void>
+ <void property="imageEdgeBackgroundColor">
+ <object class="java.awt.Color">
+ <int>25</int>
+ <int>143</int>
+ <int>220</int>
+ <int>255</int>
+ </object>
+ </void>
+ <void property="imageEdgeBorder">
+ <boolean>true</boolean>
+ </void>
+ <void property="imageFile">
+ <object class="com.install4j.api.beans.ExternalFile">
+ <string>../../resources/images/jalview_logo_background_fade-640x480.png</string>
+ </object>
+ </void>
+ <void property="insets">
+ <object class="java.awt.Insets">
+ <int>5</int>
+ <int>10</int>
+ <int>10</int>
+ <int>10</int>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <beans />
+ <externalParametrizationPropertyNames>
+ <propertyName>imageAnchor</propertyName>
+ <propertyName>imageEdgeBackgroundColor</propertyName>
+ <propertyName>imageFile</propertyName>
+ </externalParametrizationPropertyNames>
+ </group>
+ </styleOverride>
+ </styleOverrides>
+ <condition />
+ <validation />
+ <preActivation />
+ <postActivation />
+ <actions>
+ <action name="" id="7" customizedId="" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="true" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction">
+ <void property="excludedVariables">
+ <array class="java.lang.String" length="1">
+ <void index="0">
+ <string>sys.installationDir</string>
+ </void>
+ </array>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <condition>context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
+ </action>
+ </actions>
+ <formComponents>
+ <formComponent name="" id="3" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
+ <void property="labelText">
+ <string>${form:welcomeMessage}</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript>!context.isConsole()</visibilityScript>
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="" id="4" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent">
+ <void property="consoleScript">
+ <object class="com.install4j.api.beans.ScriptProperty">
+ <void property="value">
+ <string>String message = context.getMessage("ConsoleWelcomeLabel", context.getApplicationName());
+return console.askOkCancel(message, true);
+</string>
+ </void>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="" id="5" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.UpdateAlertComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="true" externalParametrizationName="Update Alert" externalParametrizationMode="include">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.UpdateAlertComponent" />
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames>
+ <propertyName>updateCheck</propertyName>
+ </externalParametrizationPropertyNames>
+ </formComponent>
+ <formComponent name="" id="6" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" enabled="true" commentSet="false" comment="" insetTop="20" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
+ <void property="labelText">
+ <string>${i18n:ClickNext}</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ </formComponents>
+ </screen>
+ <screen name="" id="8" customizedId="" beanClass="com.install4j.runtime.beans.screens.InstallationDirectoryScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" styleId="" rollbackBarrier="false" rollbackBarrierExitCode="0" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.screens.InstallationDirectoryScreen" />
+ </java>
+ </serializedBean>
+ <styleOverrides />
+ <condition>!context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
+ <validation />
+ <preActivation />
+ <postActivation />
+ <actions>
+ <action name="" id="11" customizedId="" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="true" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction">
+ <void property="excludedVariables">
+ <array class="java.lang.String" length="1">
+ <void index="0">
+ <string>sys.installationDir</string>
+ </void>
+ </array>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <condition>context.getVariable("sys.responseFile") == null</condition>
+ </action>
+ </actions>
+ <formComponents>
+ <formComponent name="" id="9" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="25" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
+ <void property="labelText">
+ <string>${i18n:SelectDirLabel(${compiler:sys.fullName})}</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="" id="10" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.InstallationDirectoryChooserComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="true" externalParametrizationName="Installation Directory Chooser" externalParametrizationMode="include">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.InstallationDirectoryChooserComponent">
+ <void property="requestFocus">
+ <boolean>true</boolean>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames>
+ <propertyName>suggestAppDir</propertyName>
+ <propertyName>validateApplicationId</propertyName>
+ <propertyName>existingDirWarning</propertyName>
+ <propertyName>checkWritable</propertyName>
+ <propertyName>manualEntryAllowed</propertyName>
+ <propertyName>checkFreeSpace</propertyName>
+ <propertyName>showRequiredDiskSpace</propertyName>
+ <propertyName>showFreeDiskSpace</propertyName>
+ <propertyName>allowSpacesOnUnix</propertyName>
+ <propertyName>validationScript</propertyName>
+ <propertyName>standardValidation</propertyName>
+ </externalParametrizationPropertyNames>
+ </formComponent>
+ </formComponents>
+ </screen>
+ <screen name="" id="12" customizedId="" beanClass="com.install4j.runtime.beans.screens.ComponentsScreen" enabled="false" commentSet="false" comment="" actionElevationType="inherit" styleId="" rollbackBarrier="false" rollbackBarrierExitCode="0" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.screens.ComponentsScreen" />
+ </java>
+ </serializedBean>
+ <styleOverrides />
+ <condition />
+ <validation />
+ <preActivation />
+ <postActivation />
+ <actions />
+ <formComponents>
+ <formComponent name="" id="13" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
+ <void property="labelText">
+ <string>${i18n:SelectComponentsLabel2}</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript>!context.isConsole()</visibilityScript>
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="" id="14" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.ComponentSelectorComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="true" externalParametrizationName="Installation Components" externalParametrizationMode="include">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.ComponentSelectorComponent">
+ <void property="fillVertical">
+ <boolean>true</boolean>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames>
+ <propertyName>selectionChangedScript</propertyName>
+ </externalParametrizationPropertyNames>
+ </formComponent>
+ </formComponents>
+ </screen>
+ <screen name="" id="15" customizedId="" beanClass="com.install4j.runtime.beans.screens.InstallationScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" styleId="" rollbackBarrier="true" rollbackBarrierExitCode="0" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.screens.InstallationScreen" />
+ </java>
+ </serializedBean>
+ <styleOverrides />
+ <condition />
+ <validation />
+ <preActivation />
+ <postActivation />
+ <actions>
+ <action name="" id="17" customizedId="" beanClass="com.install4j.runtime.beans.actions.InstallFilesAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="2" errorMessage="${i18n:FileCorrupted}">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.InstallFilesAction" />
+ </java>
+ </serializedBean>
+ <condition />
+ </action>
+ <action name="" id="18" customizedId="" beanClass="com.install4j.runtime.beans.actions.desktop.CreateProgramGroupAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.desktop.CreateProgramGroupAction">
+ <void property="uninstallerMenuName">
+ <string>${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
+ </action>
+ <action name="" id="19" customizedId="" beanClass="com.install4j.runtime.beans.actions.desktop.RegisterAddRemoveAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.desktop.RegisterAddRemoveAction">
+ <void property="itemName">
+ <string>${compiler:sys.fullName} ${compiler:sys.version}</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <condition />
+ </action>
+ <action name="" id="124" customizedId="" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" enabled="false" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.control.SetVariableAction">
+ <void property="script">
+ <object class="com.install4j.api.beans.ScriptProperty">
+ <void property="value">
+ <string />
+ </void>
+ </object>
+ </void>
+ <void property="variableName">
+ <string />
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <condition>true</condition>
+ </action>
+ <action name="" id="134" customizedId="" beanClass="com.install4j.runtime.beans.actions.misc.AddVmOptionsAction" enabled="false" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.misc.AddVmOptionsAction">
+ <void property="launcherId">
+ <string>121</string>
+ </void>
+ <void property="vmOptions">
+ <array class="java.lang.String" length="0" />
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <condition />
+ </action>
+ </actions>
+ <formComponents>
+ <formComponent name="" id="16" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.ProgressComponent">
+ <void property="initialStatusMessage">
+ <string>${i18n:WizardPreparing}</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ </formComponents>
+ </screen>
+ <screen name="" id="20" customizedId="" beanClass="com.install4j.runtime.beans.screens.FinishedScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" styleId="" rollbackBarrier="false" rollbackBarrierExitCode="0" backButton="2" finishScreen="true" wizardIndexChangeType="unchanged" wizardIndexKey="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.screens.FinishedScreen" />
+ </java>
+ </serializedBean>
+ <styleOverrides />
+ <condition />
+ <validation />
+ <preActivation />
+ <postActivation />
+ <actions>
+ <action name="" id="573" customizedId="" beanClass="com.install4j.runtime.beans.actions.desktop.CreateDesktopLinkAction" enabled="false" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.desktop.CreateDesktopLinkAction">
+ <void property="name">
+ <string>${compiler:sys.fullName}</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <condition>context.getBooleanVariable("createDesktopLinkAction")</condition>
+ </action>
+ <action name="" id="575" customizedId="" beanClass="com.install4j.runtime.beans.actions.desktop.AddStartupItemAction" enabled="false" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.desktop.AddStartupItemAction" />
+ </java>
+ </serializedBean>
+ <condition />
+ </action>
+ <action name="" id="576" customizedId="" beanClass="com.install4j.runtime.beans.actions.desktop.AddToDockAction" enabled="false" commentSet="false" comment="" actionElevationType="none" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.desktop.AddToDockAction" />
+ </java>
+ </serializedBean>
+ <condition>context.getBooleanVariable("addToDockAction")</condition>
+ </action>
+ <action name="" id="578" customizedId="" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction">
+ <void property="description">
+ <string>Jalview Project File</string>
+ </void>
+ <void property="extension">
+ <string>jvp</string>
+ </void>
+ <void property="launcherId">
+ <string>121</string>
+ </void>
+ <void property="macIconFile">
+ <object class="com.install4j.api.beans.ExternalFile">
+ <string>../../resources/images/file.png</string>
+ </object>
+ </void>
+ <void property="macRole">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.runtime.beans.actions.desktop.MacAssociationRole</class>
+ <string>EDITOR</string>
+ </object>
+ </void>
+ <void property="windowsIconFile">
+ <object class="com.install4j.api.beans.ExternalFile">
+ <string>../../resources/images/file.png</string>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <condition />
+ </action>
+ </actions>
+ <formComponents>
+ <formComponent name="" id="21" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="10" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
+ <void property="labelText">
+ <string>${form:finishedMessage}</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="Add a desktop link" id="574" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
+ <void property="checkboxText">
+ <string>${i18n:CreateDesktopIcon}</string>
+ </void>
+ <void property="initiallySelected">
+ <boolean>true</boolean>
+ </void>
+ <void property="variableName">
+ <string>createDesktopLinkAction</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="Add an executable to the dock" id="577" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
+ <void property="checkboxText">
+ <string>${i18n:AddToDock}</string>
+ </void>
+ <void property="initiallySelected">
+ <boolean>true</boolean>
+ </void>
+ <void property="variableName">
+ <string>addToDockAction</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript>Util.isMacOS()</visibilityScript>
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ </formComponents>
+ </screen>
+ </screens>
+ </application>
+ <application name="" id="uninstaller" customizedId="" beanClass="com.install4j.runtime.beans.applications.UninstallerApplication" enabled="true" commentSet="false" comment="" actionElevationType="none" styleId="41" fileset="" customIcnsFile="" customIcoFile="" macEntitlementsFile="" automaticLauncherIntegration="false" launchMode="startupFirstWindow" launchInNewProcess="true" launchSchedule="updateSchedule" allLaunchers="true">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.applications.UninstallerApplication">
+ <void property="customMacosExecutableName">
+ <string>${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</string>
+ </void>
+ <void property="useCustomMacosExecutableName">
+ <boolean>true</boolean>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <styleOverrides>
+ <styleOverride name="Customize banner image" enabled="true">
+ <group name="" id="147" customizedId="" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" enabled="true" commentSet="false" comment="" actionElevationType="inherit" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
+ <void property="backgroundColor">
+ <object class="java.awt.Color">
+ <int>255</int>
+ <int>255</int>
+ <int>255</int>
+ <int>255</int>
+ </object>
+ </void>
+ <void property="borderSides">
+ <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
+ <void property="bottom">
+ <boolean>true</boolean>
+ </void>
+ </object>
+ </void>
+ <void property="imageEdgeBackgroundColor">
+ <object class="java.awt.Color">
+ <int>192</int>
+ <int>192</int>
+ <int>192</int>
+ <int>255</int>
+ </object>
+ </void>
+ <void property="imageEdgeBorder">
+ <boolean>true</boolean>
+ </void>
+ <void property="imageFile">
+ <object class="com.install4j.api.beans.ExternalFile">
+ <string>../../resources/images/jalview_logo_background_fade-640x480.png</string>
+ </object>
+ </void>
+ <void property="insets">
+ <object class="java.awt.Insets">
+ <int>5</int>
+ <int>10</int>
+ <int>10</int>
+ <int>10</int>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <beans />
+ <externalParametrizationPropertyNames>
+ <propertyName>imageAnchor</propertyName>
+ <propertyName>imageEdgeBackgroundColor</propertyName>
+ <propertyName>imageFile</propertyName>
+ </externalParametrizationPropertyNames>
+ </group>
+ </styleOverride>
+ </styleOverrides>
+ <customScript mode="1" file="">
+ <content />
+ </customScript>
+ <launcherIds />
+ <variables />
+ <startup>
+ <screen name="" id="23" customizedId="" beanClass="com.install4j.runtime.beans.screens.StartupScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" styleId="" rollbackBarrier="false" rollbackBarrierExitCode="0" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.screens.StartupScreen" />
+ </java>
+ </serializedBean>
+ <styleOverrides />
+ <condition />
+ <validation />
+ <preActivation />
+ <postActivation />
+ <actions>
+ <action name="" id="33" customizedId="" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" />
+ </java>
+ </serializedBean>
+ <condition />
+ </action>
+ <action name="" id="34" customizedId="" beanClass="com.install4j.runtime.beans.actions.misc.RequireInstallerPrivilegesAction" enabled="true" commentSet="false" comment="" actionElevationType="none" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.misc.RequireInstallerPrivilegesAction" />
+ </java>
+ </serializedBean>
+ <condition />
+ </action>
+ </actions>
+ <formComponents />
+ </screen>
+ </startup>
+ <screens>
+ <screen name="" id="24" customizedId="" beanClass="com.install4j.runtime.beans.screens.UninstallWelcomeScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" styleId="41" rollbackBarrier="false" rollbackBarrierExitCode="0" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.screens.UninstallWelcomeScreen" />
+ </java>
+ </serializedBean>
+ <styleOverrides />
+ <condition />
+ <validation />
+ <preActivation />
+ <postActivation />
+ <actions />
+ <formComponents>
+ <formComponent name="" id="25" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="10" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
+ <void property="labelText">
+ <string>${form:welcomeMessage}</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript>!context.isConsole()</visibilityScript>
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="" id="26" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent">
+ <void property="consoleScript">
+ <object class="com.install4j.api.beans.ScriptProperty">
+ <void property="value">
+ <string>String message = context.getMessage("ConfirmUninstall", context.getApplicationName());
+return console.askYesNo(message, true);
+</string>
+ </void>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ </formComponents>
+ </screen>
+ <screen name="" id="27" customizedId="" beanClass="com.install4j.runtime.beans.screens.UninstallationScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" styleId="" rollbackBarrier="false" rollbackBarrierExitCode="0" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.screens.UninstallationScreen" />
+ </java>
+ </serializedBean>
+ <styleOverrides />
+ <condition />
+ <validation />
+ <preActivation />
+ <postActivation />
+ <actions>
+ <action name="" id="659" customizedId="" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" enabled="true" commentSet="false" comment="" actionElevationType="none" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.control.SetProgressAction">
+ <void property="progressChangeType">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.runtime.beans.actions.control.ProgressChangeType</class>
+ <string>SET_INDETERMINATE</string>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <condition />
+ </action>
+ <action name="" id="29" customizedId="" beanClass="com.install4j.runtime.beans.actions.UninstallFilesAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.UninstallFilesAction" />
+ </java>
+ </serializedBean>
+ <condition />
+ </action>
+ <action name="" id="660" customizedId="" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" enabled="true" commentSet="false" comment="" actionElevationType="none" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.control.SetProgressAction">
+ <void property="percentValue">
+ <int>100</int>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <condition />
+ </action>
+ </actions>
+ <formComponents>
+ <formComponent name="" id="28" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.ProgressComponent">
+ <void property="initialStatusMessage">
+ <string>${i18n:UninstallerPreparing}</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ </formComponents>
+ </screen>
+ <screen name="" id="32" customizedId="" beanClass="com.install4j.runtime.beans.screens.UninstallFailureScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" styleId="" rollbackBarrier="false" rollbackBarrierExitCode="0" backButton="2" finishScreen="true" wizardIndexChangeType="unchanged" wizardIndexKey="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.screens.UninstallFailureScreen" />
+ </java>
+ </serializedBean>
+ <styleOverrides />
+ <condition />
+ <validation />
+ <preActivation />
+ <postActivation />
+ <actions />
+ <formComponents />
+ </screen>
+ <screen name="" id="30" customizedId="" beanClass="com.install4j.runtime.beans.screens.UninstallSuccessScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" styleId="41" rollbackBarrier="false" rollbackBarrierExitCode="0" backButton="2" finishScreen="true" wizardIndexChangeType="unchanged" wizardIndexKey="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.screens.UninstallSuccessScreen" />
+ </java>
+ </serializedBean>
+ <styleOverrides />
+ <condition />
+ <validation />
+ <preActivation />
+ <postActivation />
+ <actions />
+ <formComponents>
+ <formComponent name="" id="31" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="10" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
+ <void property="labelText">
+ <string>${form:successMessage}</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ </formComponents>
+ </screen>
+ </screens>
+ </application>
+ </applications>
+ <styles defaultStyleId="35">
+ <style name="Standard" id="35" customizedId="" beanClass="com.install4j.runtime.beans.styles.FormStyle" enabled="true" commentSet="false" comment="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.FormStyle" />
+ </java>
+ </serializedBean>
+ <formComponents>
+ <formComponent name="Header" id="36" customizedId="" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" enabled="true" commentSet="false" comment="" insetTop="0" insetLeft="" insetBottom="0" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.NestedStyleComponent">
+ <void property="styleId">
+ <string>48</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <group name="Main" id="37" customizedId="" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" enabled="true" commentSet="false" comment="" actionElevationType="inherit" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
+ <void property="imageEdgeAxisType">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.runtime.beans.formcomponents.AxisType</class>
+ <string>HORIZONTAL</string>
+ </object>
+ </void>
+ <void property="imageFile">
+ <object class="com.install4j.api.beans.ExternalFile">
+ <string>../../resources/images/jalview_logo_background_fade-640x480.png</string>
+ </object>
+ </void>
+ <void property="imageOverlap">
+ <boolean>true</boolean>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <beans>
+ <formComponent name="" id="38" customizedId="" beanClass="com.install4j.runtime.beans.styles.ContentComponent" enabled="true" commentSet="false" comment="" insetTop="10" insetLeft="20" insetBottom="10" insetRight="20" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.ContentComponent" />
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="Watermark" id="39" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" enabled="true" commentSet="false" comment="" insetTop="0" insetLeft="5" insetBottom="0" insetRight="" resetInitOnPrevious="false" useExternalParametrization="true" externalParametrizationName="Jalview" externalParametrizationMode="include">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.SeparatorComponent">
+ <void property="enabledTitleText">
+ <boolean>false</boolean>
+ </void>
+ <void property="labelText">
+ <string>install4j</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames>
+ <propertyName>labelText</propertyName>
+ </externalParametrizationPropertyNames>
+ </formComponent>
+ <formComponent name="Footer" id="40" customizedId="" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" enabled="true" commentSet="false" comment="" insetTop="0" insetLeft="" insetBottom="0" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.NestedStyleComponent">
+ <void property="styleId">
+ <string>52</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ </beans>
+ <externalParametrizationPropertyNames />
+ </group>
+ </formComponents>
+ </style>
+ <style name="Banner" id="41" customizedId="" beanClass="com.install4j.runtime.beans.styles.FormStyle" enabled="true" commentSet="false" comment="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.FormStyle" />
+ </java>
+ </serializedBean>
+ <formComponents>
+ <group name="" id="42" customizedId="" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" enabled="true" commentSet="false" comment="" actionElevationType="inherit" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
+ <void property="backgroundColor">
+ <object class="java.awt.Color">
+ <int>255</int>
+ <int>255</int>
+ <int>255</int>
+ <int>255</int>
+ </object>
+ </void>
+ <void property="borderSides">
+ <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
+ <void property="bottom">
+ <boolean>true</boolean>
+ </void>
+ </object>
+ </void>
+ <void property="imageEdgeBackgroundColor">
+ <object class="java.awt.Color">
+ <int>25</int>
+ <int>143</int>
+ <int>220</int>
+ <int>255</int>
+ </object>
+ </void>
+ <void property="imageEdgeBorder">
+ <boolean>true</boolean>
+ </void>
+ <void property="imageFile">
+ <object class="com.install4j.api.beans.ExternalFile">
+ <string>${compiler:sys.install4jHome}/resource/styles/wizard.png</string>
+ </object>
+ </void>
+ <void property="insets">
+ <object class="java.awt.Insets">
+ <int>5</int>
+ <int>10</int>
+ <int>10</int>
+ <int>10</int>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <beans>
+ <formComponent name="" id="43" customizedId="" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" enabled="true" commentSet="false" comment="" insetTop="0" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.ScreenTitleComponent">
+ <void property="labelFontSizePercent">
+ <int>130</int>
+ </void>
+ <void property="labelFontStyle">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.runtime.beans.formcomponents.FontStyle</class>
+ <string>BOLD</string>
+ </object>
+ </void>
+ <void property="labelFontType">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.runtime.beans.formcomponents.FontType</class>
+ <string>DERIVED</string>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="" id="44" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.SeparatorComponent" />
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="" id="45" customizedId="" beanClass="com.install4j.runtime.beans.styles.ContentComponent" enabled="true" commentSet="false" comment="" insetTop="10" insetLeft="" insetBottom="0" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.ContentComponent" />
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ </beans>
+ <externalParametrizationPropertyNames>
+ <propertyName>imageAnchor</propertyName>
+ <propertyName>imageEdgeBackgroundColor</propertyName>
+ <propertyName>imageFile</propertyName>
+ </externalParametrizationPropertyNames>
+ </group>
+ <formComponent name="" id="46" customizedId="" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="0" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.NestedStyleComponent">
+ <void property="styleId">
+ <string>52</string>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ </formComponents>
+ </style>
+ <group name="Style components" id="47" customizedId="" beanClass="com.install4j.runtime.beans.groups.StyleGroup" enabled="true" commentSet="false" comment="" actionElevationType="inherit">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.groups.StyleGroup" />
+ </java>
+ </serializedBean>
+ <beans>
+ <style name="Standard header" id="48" customizedId="" beanClass="com.install4j.runtime.beans.styles.FormStyle" enabled="true" commentSet="false" comment="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.FormStyle">
+ <void property="fillVertical">
+ <boolean>false</boolean>
+ </void>
+ <void property="standalone">
+ <boolean>false</boolean>
+ </void>
+ <void property="verticalAnchor">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.api.beans.Anchor</class>
+ <string>NORTH</string>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <formComponents>
+ <group name="" id="49" customizedId="" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" enabled="true" commentSet="false" comment="" actionElevationType="inherit" useExternalParametrization="true" externalParametrizationName="Customize title bar" externalParametrizationMode="include">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
+ <void property="backgroundColor">
+ <object class="java.awt.Color">
+ <int>255</int>
+ <int>255</int>
+ <int>255</int>
+ <int>255</int>
+ </object>
+ </void>
+ <void property="borderSides">
+ <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
+ <void property="bottom">
+ <boolean>true</boolean>
+ </void>
+ </object>
+ </void>
+ <void property="imageAnchor">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.api.beans.Anchor</class>
+ <string>NORTHEAST</string>
+ </object>
+ </void>
+ <void property="imageEdgeBorderWidth">
+ <int>2</int>
+ </void>
+ <void property="imageFile">
+ <object class="com.install4j.api.beans.ExternalFile">
+ <string>icon:${installer:sys.installerApplicationMode}_header.png</string>
+ </object>
+ </void>
+ <void property="imageInsets">
+ <object class="java.awt.Insets">
+ <int>0</int>
+ <int>5</int>
+ <int>1</int>
+ <int>1</int>
+ </object>
+ </void>
+ <void property="insets">
+ <object class="java.awt.Insets">
+ <int>0</int>
+ <int>20</int>
+ <int>0</int>
+ <int>10</int>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <beans>
+ <formComponent name="Title" id="50" customizedId="" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.ScreenTitleComponent">
+ <void property="labelFontStyle">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.runtime.beans.formcomponents.FontStyle</class>
+ <string>BOLD</string>
+ </object>
+ </void>
+ <void property="labelFontType">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.runtime.beans.formcomponents.FontType</class>
+ <string>DERIVED</string>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="Subtitle" id="51" customizedId="" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="8" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.ScreenTitleComponent">
+ <void property="titleType">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.runtime.beans.styles.TitleType</class>
+ <string>SUB_TITLE</string>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ </beans>
+ <externalParametrizationPropertyNames>
+ <propertyName>backgroundColor</propertyName>
+ <propertyName>foregroundColor</propertyName>
+ <propertyName>imageAnchor</propertyName>
+ <propertyName>imageFile</propertyName>
+ <propertyName>imageOverlap</propertyName>
+ </externalParametrizationPropertyNames>
+ </group>
+ </formComponents>
+ </style>
+ <style name="Standard footer" id="52" customizedId="" beanClass="com.install4j.runtime.beans.styles.FormStyle" enabled="true" commentSet="false" comment="">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.FormStyle">
+ <void property="fillVertical">
+ <boolean>false</boolean>
+ </void>
+ <void property="standalone">
+ <boolean>false</boolean>
+ </void>
+ <void property="verticalAnchor">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.api.beans.Anchor</class>
+ <string>SOUTH</string>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <formComponents>
+ <group name="" id="53" customizedId="" beanClass="com.install4j.runtime.beans.groups.HorizontalFormComponentGroup" enabled="true" commentSet="false" comment="" actionElevationType="inherit" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.groups.HorizontalFormComponentGroup">
+ <void property="alignFirstLabel">
+ <boolean>false</boolean>
+ </void>
+ <void property="insets">
+ <object class="java.awt.Insets">
+ <int>3</int>
+ <int>5</int>
+ <int>8</int>
+ <int>5</int>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <beans>
+ <formComponent name="" id="54" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.SpringComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.formcomponents.SpringComponent" />
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="Back button" id="55" customizedId="" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
+ <void property="buttonText">
+ <string>< ${i18n:ButtonBack}</string>
+ </void>
+ <void property="controlButtonType">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.api.context.ControlButtonType</class>
+ <string>PREVIOUS</string>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="Next button" id="56" customizedId="" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
+ <void property="buttonText">
+ <string>${i18n:ButtonNext} ></string>
+ </void>
+ <void property="controlButtonType">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.api.context.ControlButtonType</class>
+ <string>NEXT</string>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ <formComponent name="Cancel button" id="57" customizedId="" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="5" insetBottom="" insetRight="" resetInitOnPrevious="false" useExternalParametrization="false" externalParametrizationName="" externalParametrizationMode="all">
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
+ <void property="buttonText">
+ <string>${i18n:ButtonCancel}</string>
+ </void>
+ <void property="controlButtonType">
+ <object class="java.lang.Enum" method="valueOf">
+ <class>com.install4j.api.context.ControlButtonType</class>
+ <string>CANCEL</string>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <initScript />
+ <visibilityScript />
+ <externalParametrizationPropertyNames />
+ </formComponent>
+ </beans>
+ <externalParametrizationPropertyNames />
+ </group>
+ </formComponents>
+ </style>
+ </beans>
+ </group>
+ </styles>
+ </installerGui>
+ <mediaSets>
+ <windows name="Windows" id="130" customizedId="" mediaFileName="" installDir="${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="64" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="false" includedJRE="windows-amd64-11.0.2" manualJREEntry="false" bundleType="1" jreURL="" jreShared="false" directDownload="false" installOnlyIfNecessary="false" customInstallBaseDir="" contentFilesType="1" verifyIntegrity="true">
+ <excludedComponents />
+ <includedDownloadableComponents />
+ <excludedLaunchers>
+ <launcher id="737" />
+ </excludedLaunchers>
+ <excludedBeans />
+ <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
+ <exclude>
+ <entry location=".i4j_fileset_734" fileType="regular" />
+ <entry location=".i4j_fileset_880" fileType="regular" />
+ </exclude>
+ <variables />
+ <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
+ <commentFiles />
+ <customAttributes />
+ </autoUpdate>
+ </windows>
+ <macos name="macOS Single Bundle Archive with Getdown JRE" id="131" customizedId="" mediaFileName="${compiler:sys.shortName}_${compiler:sys.platform}-installer_${compiler:sys.version}" installDir="${compiler:sys.fullName}" overridePrincipalLanguage="false" jreBitType="all" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="false" includedJRE="macosx-amd64-1.8.0_202_unpacked" manualJREEntry="false" bundleType="1" jreURL="" jreShared="false" directDownload="false" installOnlyIfNecessary="false" requiredVmIdPrefix="" customInstallBaseDir="" contentFilesType="1" installerName="${i18n:InstallerName(${compiler:sys.fullName})}" volumeName="${compiler:sys.shortName}" compressDmg="true" launcherId="121">
+ <excludedComponents />
+ <includedDownloadableComponents />
+ <excludedBeans />
+ <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
+ <exclude>
+ <entry location=".i4j_fileset_734" fileType="regular" />
+ </exclude>
+ <variables />
+ <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
+ <commentFiles />
+ <customAttributes />
+ </autoUpdate>
+ <topLevelFiles />
+ </macos>
+ <unixInstaller name="Unix Installer" id="132" customizedId="" mediaFileName="" installDir="${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="all" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="false" includedJRE="" manualJREEntry="false" bundleType="1" jreURL="" jreShared="false" directDownload="false" installOnlyIfNecessary="false" customInstallBaseDir="" contentFilesType="1">
+ <excludedComponents />
+ <includedDownloadableComponents />
+ <excludedLaunchers>
+ <launcher id="737" />
+ </excludedLaunchers>
+ <excludedBeans />
+ <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
+ <exclude>
+ <entry location=".i4j_fileset_734" fileType="regular" />
+ <entry location=".i4j_fileset_880" fileType="regular" />
+ <entry location=".i4j_fileset_882" fileType="regular" />
+ </exclude>
+ <variables />
+ <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
+ <commentFiles />
+ <customAttributes />
+ </autoUpdate>
+ <installerScript mode="1" file="">
+ <content />
+ </installerScript>
+ </unixInstaller>
+ <macosArchive name="macOS Single Bundle Archive" id="152" customizedId="" mediaFileName="${compiler:sys.shortName}_${compiler:sys.platform}-app_${compiler:sys.version}" installDir="${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="all" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="true" includedJRE="macosx-amd64-11.0.2" manualJREEntry="false" archiveType="dmg" volumeName="${compiler:sys.shortName}" launcherId="121">
+ <excludedComponents />
+ <includedDownloadableComponents />
+ <excludedBeans />
+ <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
+ <exclude>
+ <entry location=".i4j_fileset_734" fileType="regular" />
+ <entry location=".i4j_fileset_880" fileType="regular" />
+ <entry location=".i4j_fileset_882" fileType="regular" />
+ </exclude>
+ <variables />
+ <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
+ <commentFiles />
+ <customAttributes />
+ </autoUpdate>
+ <topLevelFiles>
+ <symlink name="" "" target="/Applications" />
+ <file name=".background/jalview_dmg_background.png" file="../../resources/install4j/jalview_dmg_background.png" />
+ <file name=".DS_Store" file="../../resources/install4j/DS_Store" />
+ </topLevelFiles>
+ </macosArchive>
+ <linuxDeb name="Linux Deb Archive" id="153" customizedId="" mediaFileName="" installDir="/opt/${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="all" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="true" includedJRE="" manualJREEntry="false" overwriteNeverAsConfigFiles="false" dependencies="" bzip="true" description="Jalview Desktop" maintainerEmail="help@jalview.org" architectureSet="false" architecture="">
+ <excludedComponents />
+ <includedDownloadableComponents />
+ <excludedLaunchers>
+ <launcher id="121" />
+ </excludedLaunchers>
+ <excludedBeans />
+ <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
+ <exclude>
+ <entry location=".i4j_fileset_" fileType="regular" />
+ <entry location=".i4j_fileset_880" fileType="regular" />
+ <entry location=".i4j_fileset_882" fileType="regular" />
+ </exclude>
+ <variables />
+ <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
+ <commentFiles />
+ <customAttributes />
+ </autoUpdate>
+ <preInstallScript mode="1" file="">
+ <content />
+ </preInstallScript>
+ <postInstallScript mode="1" file="">
+ <content />
+ </postInstallScript>
+ <preUninstallScript mode="1" file="">
+ <content />
+ </preUninstallScript>
+ <postUninstallScript mode="1" file="">
+ <content />
+ </postUninstallScript>
+ </linuxDeb>
+ <linuxRPM name="Linux RPM" id="570" customizedId="" mediaFileName="" installDir="/opt/${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="all" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="true" includedJRE="" manualJREEntry="false" overwriteNeverAsConfigFiles="false" dependencies="" os="linux" arch="i386">
+ <excludedComponents />
+ <includedDownloadableComponents />
+ <excludedLaunchers>
+ <launcher id="121" />
+ </excludedLaunchers>
+ <excludedBeans />
+ <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
+ <exclude>
+ <entry location=".i4j_fileset_" fileType="regular" />
+ <entry location=".i4j_fileset_880" fileType="regular" />
+ <entry location=".i4j_fileset_882" fileType="regular" />
+ </exclude>
+ <variables />
+ <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
+ <commentFiles />
+ <customAttributes />
+ </autoUpdate>
+ <preInstallScript mode="1" file="">
+ <content />
+ </preInstallScript>
+ <postInstallScript mode="1" file="">
+ <content />
+ </postInstallScript>
+ <preUninstallScript mode="1" file="">
+ <content />
+ </preUninstallScript>
+ <postUninstallScript mode="1" file="">
+ <content />
+ </postUninstallScript>
+ </linuxRPM>
+ <macosArchive name="Offline macOS Single Bundle Archive" id="739" customizedId="" mediaFileName="${compiler:sys.shortName}-OFFLINE_${compiler:sys.platform}-app_${compiler:sys.version}" installDir="${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="all" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="true" includedJRE="macosx-amd64-11.0.2" manualJREEntry="false" archiveType="dmg" volumeName="${compiler:sys.shortName} Offline Installer" launcherId="737">
+ <excludedComponents />
+ <includedDownloadableComponents />
+ <excludedBeans />
+ <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
+ <exclude>
+ <entry location=".i4j_fileset_" fileType="regular" />
+ </exclude>
+ <variables />
+ <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
+ <commentFiles />
+ <customAttributes />
+ </autoUpdate>
+ <topLevelFiles>
+ <symlink name="" "" target="/Applications" />
+ <file name=".background/jalview_dmg_background.png" file="../../resources/install4j/jalview_dmg_background.png" />
+ <file name=".DS_Store" file="../../resources/install4j/DS_Store" />
+ </topLevelFiles>
+ </macosArchive>
+ <unixInstaller name="Offline Unix Installer" id="741" customizedId="" mediaFileName="${compiler:sys.shortName}-OFFLINE_${compiler:sys.platform}_${compiler:sys.version}" installDir="${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="all" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="false" includedJRE="" manualJREEntry="false" bundleType="1" jreURL="" jreShared="false" directDownload="false" installOnlyIfNecessary="false" customInstallBaseDir="" contentFilesType="1">
+ <excludedComponents />
+ <includedDownloadableComponents />
+ <excludedLaunchers>
+ <launcher id="121" />
+ </excludedLaunchers>
+ <excludedBeans />
+ <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
+ <exclude>
+ <entry location=".i4j_fileset_" fileType="regular" />
+ <entry location=".i4j_fileset_880" fileType="regular" />
+ <entry location=".i4j_fileset_882" fileType="regular" />
+ </exclude>
+ <variables />
+ <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
+ <commentFiles />
+ <customAttributes />
+ </autoUpdate>
+ <installerScript mode="1" file="">
+ <content />
+ </installerScript>
+ </unixInstaller>
+ <windows name="Offline Windows" id="743" customizedId="" mediaFileName="${compiler:sys.shortName}-OFFLINE_${compiler:sys.platform}_${compiler:sys.version}" installDir="${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="64" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="false" includedJRE="windows-amd64-11.0.2" manualJREEntry="false" bundleType="1" jreURL="" jreShared="false" directDownload="false" installOnlyIfNecessary="false" customInstallBaseDir="" contentFilesType="1" verifyIntegrity="true">
+ <excludedComponents />
+ <includedDownloadableComponents />
+ <excludedLaunchers>
+ <launcher id="121" />
+ </excludedLaunchers>
+ <excludedBeans />
+ <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
+ <exclude>
+ <entry location=".i4j_fileset_" fileType="regular" />
+ <entry location=".i4j_fileset_880" fileType="regular" />
+ </exclude>
+ <variables />
+ <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
+ <commentFiles />
+ <customAttributes />
+ </autoUpdate>
+ </windows>
+ <macosArchive name="Offline macOS Single Bundle Archive with Getdown JRE" id="878" customizedId="" mediaFileName="${compiler:sys.shortName}-OFFLINE_${compiler:sys.platform}-app_${compiler:sys.version}" installDir="${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="all" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="true" includedJRE="macosx-amd64-11.0.2" manualJREEntry="false" archiveType="dmg" volumeName="${compiler:sys.shortName} Offline Installer" launcherId="737">
+ <excludedComponents />
+ <includedDownloadableComponents />
+ <excludedBeans />
+ <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
+ <exclude>
+ <entry location=".i4j_fileset_" fileType="regular" />
+ <entry location=".i4j_fileset_880" fileType="regular" />
+ <entry location=".i4j_fileset_882" fileType="regular" />
+ </exclude>
+ <variables />
+ <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
+ <commentFiles />
+ <customAttributes />
+ </autoUpdate>
+ <topLevelFiles>
+ <symlink name="" "" target="/Applications" />
+ <file name=".background/jalview_dmg_background.png" file="../../resources/install4j/jalview_dmg_background.png" />
+ <file name=".DS_Store" file="../../resources/install4j/DS_Store" />
+ <symlink name="Jalview.app/Contents/Resources/app/java_vm" target="../jre.bundle/Contents/Home" />
+ </topLevelFiles>
+ </macosArchive>
+ </mediaSets>
+ <buildIds buildAll="false">
+ <mediaSet refId="153" />
+ <mediaSet refId="570" />
+ <mediaSet refId="743" />
+ <mediaSet refId="878" />
+ </buildIds>
+ <buildOptions verbose="true" faster="true" disableSigning="true" disableJreBundling="false" debug="false" />
+</install4j>
action.save_project = Save Project
action.save_project_as = Save Project as...
action.quit = Quit
+label.quit_jalview = Quit Jalview?
action.expand_views = Expand Views
action.gather_views = Gather Views
action.page_setup = Page Setup...
action.save_project = Guardar proyecto
action.save_project_as = Guardar proyecto como...
action.quit = Salir
+label.quit_jalview = Salir Javliew?
action.expand_views = Expandir vistas
action.gather_views = Capturar vistas
action.page_setup = Configuración de la página
import java.awt.Color;
import java.awt.Dimension;
-import java.awt.Event;
-import java.awt.Font;
+import java.awt.event.InputEvent;import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
// JBPNote TODO: This class is quite noisy - needs proper log.info/log.debug
MCMatrix objmat = new MCMatrix(3, 3);
objmat.setIdentity();
- if ((evt.getModifiers() & Event.META_MASK) != 0)
+ if ((evt.getModifiersEx() & InputEvent.META_DOWN_MASK) != 0)
{
objmat.rotatez(((mx - omx)));
}
resNumber = Integer.parseInt(str.substring(22, 26).trim());
resNumIns = str.substring(22, 27).trim();
insCode = str.substring(26, 27).charAt(0);
- this.x = (new Float(str.substring(30, 38).trim()).floatValue());
- this.y = (new Float(str.substring(38, 46).trim()).floatValue());
- this.z = (new Float(str.substring(47, 55).trim()).floatValue());
+ this.x = (Float.valueOf(str.substring(30, 38).trim()).floatValue());
+ this.y = (Float.valueOf(str.substring(38, 46).trim()).floatValue());
+ this.z = (Float.valueOf(str.substring(47, 55).trim()).floatValue());
// optional entries - see JAL-730
String tm = str.substring(54, 60).trim();
if (tm.length() > 0)
{
- occupancy = (new Float(tm)).floatValue();
+ occupancy = (Float.valueOf(tm)).floatValue();
}
else
{
tm = str.substring(60, 66).trim();
if (tm.length() > 0)
{
- tfactor = (new Float(tm).floatValue());
+ tfactor = (Float.valueOf(tm).floatValue());
}
else
{
import java.awt.Color;
import java.awt.Dimension;
-import java.awt.Event;
-import java.awt.Font;
+import java.awt.event.InputEvent;import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
// JBPNote TODO: This class is quite noisy - needs proper log.info/log.debug
MCMatrix objmat = new MCMatrix(3, 3);
objmat.setIdentity();
- if ((evt.getModifiers() & Event.META_MASK) != 0)
+ if ((evt.getModifiersEx() & InputEvent.META_DOWN_MASK) != 0)
{
objmat.rotatez(((mx - omx)));
}
n = RegOpt.opt(n, ignoreCase, dontMinQ);
}
n.setParent(this);
- set(new Character(o.c), n, ignoreCase, dontMinQ);
+ set(Character.valueOf(o.c), n, ignoreCase, dontMinQ);
if (ignoreCase)
{
if (o.c != o.altc)
{
- set(new Character(o.altc), n, ignoreCase, dontMinQ);
+ set(Character.valueOf(o.altc), n, ignoreCase, dontMinQ);
}
if (o.c != o.altc2 && o.altc != o.altc2)
{
- set(new Character(o.altc2), n, ignoreCase, dontMinQ);
+ set(Character.valueOf(o.altc2), n, ignoreCase, dontMinQ);
}
}
}
{
return -1;
}
- Pattern n = (Pattern) h.get(new Character(pt.src.charAt(pos)));
+ Pattern n = (Pattern) h.get(Character.valueOf(pt.src.charAt(pos)));
if (n == null)
{
return -1;
/** Matches a Unicode punctuation character. */
class UnicodePunct extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && Prop.isPunct(s.charAt(from)) ? to : -1;
/** Matches a Unicode white space character. */
class UnicodeWhite extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && Prop.isWhite(s.charAt(from)) ? to : -1;
*/
class NUnicodePunct extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && !Prop.isPunct(s.charAt(from)) ? to : -1;
*/
class NUnicodeWhite extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && !Prop.isWhite(s.charAt(from)) ? to : -1;
/** Matches a Unicode word character: an alphanumeric or underscore. */
class UnicodeW extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
if (from >= s.length())
/** Matches a character that is not a Unicode alphanumeric or underscore. */
class NUnicodeW extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
if (from >= s.length())
/** Matches a Unicode decimal digit. */
class UnicodeDigit extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && Prop.isDecimalDigit(s.charAt(from)) ? to
/** Matches a character that is not a Unicode digit. */
class NUnicodeDigit extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && !Prop.isDecimalDigit(s.charAt(from)) ? to
/** Matches a Unicode math character. */
class UnicodeMath extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && Prop.isMath(s.charAt(from)) ? to : -1;
/** Matches a non-math Unicode character. */
class NUnicodeMath extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && !Prop.isMath(s.charAt(from)) ? to : -1;
/** Matches a Unicode currency symbol. */
class UnicodeCurrency extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && Prop.isCurrency(s.charAt(from)) ? to : -1;
/** Matches a non-currency symbol Unicode character. */
class NUnicodeCurrency extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && !Prop.isCurrency(s.charAt(from)) ? to : -1;
/** Matches a Unicode alphabetic character. */
class UnicodeAlpha extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && Prop.isAlphabetic(s.charAt(from)) ? to : -1;
/** Matches a non-alphabetic Unicode character. */
class NUnicodeAlpha extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && !Prop.isAlphabetic(s.charAt(from)) ? to
/** Matches an upper case Unicode character. */
class UnicodeUpper extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && isUpper(s.charAt(from)) ? to : -1;
/** Matches an upper case Unicode character. */
class UnicodeLower extends UniValidator
{
+ @Override
public int validate(StringLike s, int from, int to)
{
return from < s.length() && isLower(s.charAt(from)) ? to : -1;
/** Essentially clones the Regex object */
public Regex(Regex r)
{
- super((RegRes) r);
+ super(r);
dontMatchInQuotes = r.dontMatchInQuotes;
esc = r.esc;
ignoreCase = r.ignoreCase;
* patterns are equal as well as the most recent match. If a Regex is compare
* with a RegRes, only the result of the most recent match is compared.
*/
+ @Override
public boolean equals(Object o)
{
if (o instanceof Regex)
}
/** A clone by any other name would smell as sweet. */
+ @Override
public Object clone()
{
return new Regex(this);
{
try
{
- return (Regex) getClass().newInstance();
+ return getClass().getDeclaredConstructor().newInstance();
} catch (InstantiationException ie)
{
return null;
} catch (IllegalAccessException iae)
{
return null;
+ } catch (ReflectiveOperationException roe)
+ {
+ return null;
}
}
{
if (p instanceof Any && p.next == null)
{
- return (Pattern) new DotMulti(lo, hi);
+ return new DotMulti(lo, hi);
}
return RegOpt.safe4fm(p) ? (Pattern) new FastMulti(lo, hi, p)
: (Pattern) new Multi(lo, hi, p);
* representations. Also be prepared to see some strange output if your
* characters are not printable.
*/
+ @Override
public String toString()
{
if (false && thePattern == null)
*
* @see com.stevesoft.pat.FileRegex
*/
+ @Override
public boolean accept(File dir, String s)
{
return search(s);
*
* @deprecated
*/
+ @Deprecated
public int getMaxLines()
{
return max_lines;
*
* @deprecated
*/
+ @Deprecated
public void setMaxLines(int ml)
{
max_lines = ml;
*
* @deprecated
*/
+ @Deprecated
public char getEOLchar()
{
return EOLchar;
*
* @deprecated
*/
+ @Deprecated
public void setEOLchar(char c)
{
EOLchar = c;
if (r.searchFrom(toParse, pos))
{
v.addElement(r.left().substring(pos));
- vi.addElement(new Integer(r.matchFrom() + r.charsMatched()));
+ vi.addElement(Integer.valueOf(r.matchFrom() + r.charsMatched()));
for (int i = 0; i < r.numSubs(); i++)
{
if (r.substring() != null)
{
v.addElement(r.substring(i + offset));
- vi.addElement(new Integer(r.matchFrom(i + offset)
+ vi.addElement(Integer.valueOf(r.matchFrom(i + offset)
+ r.charsMatched(i + offset)));
}
}
float[] rgbValues = new float[4];
for (int i = 0; i < rgbStrings.length; i++)
{
- Float f = new Float(rgbStrings[i]);
+ Float f = Float.valueOf(rgbStrings[i]);
rgbValues[i] = f.floatValue();
}
if (rgbStrings.length == 4)
*/
public static Integer makeModelKey(int model, int subModel)
{
- return new Integer(model * MAX_SUB_MODELS + subModel);
+ return Integer.valueOf(model * MAX_SUB_MODELS + subModel);
}
// invoked by the getResdiue (parseConnectivityReplies in
*/
public ChimeraResidue getResidue(String index)
{
- // Integer index = new Integer(residueIndex);
+ // Integer index = Integer.valueOf(residueIndex);
if (residueMap.containsKey(index))
return residueMap.get(index);
return null;
for (String chimObjName : names)
{
// get or open the corresponding models if they already exist
- List<ChimeraModel> currentModels = chimeraManager.getChimeraModels(
- chimObjName, type);
+ List<ChimeraModel> currentModels = chimeraManager
+ .getChimeraModels(chimObjName, type);
if (currentModels.size() == 0)
{
// open and return models
// Get the corresponding "real" model
if (chimeraManager.hasChimeraModel(modelNumber, subModelNumber))
{
- ChimeraModel dataModel = chimeraManager.getChimeraModel(
- modelNumber, subModelNumber);
- if (dataModel.getResidueCount() == selectedModel
- .getResidueCount()
- || dataModel.getModelType() == StructureManager.ModelType.SMILES)
+ ChimeraModel dataModel = chimeraManager
+ .getChimeraModel(modelNumber, subModelNumber);
+ if (dataModel.getResidueCount() == selectedModel.getResidueCount()
+ || dataModel
+ .getModelType() == StructureManager.ModelType.SMILES)
{
// Select the entire model
addChimSelection(dataModel);
{
for (ChimeraChain selectedChain : selectedModel.getChains())
{
- ChimeraChain dataChain = dataModel.getChain(selectedChain
- .getChainId());
+ ChimeraChain dataChain = dataModel
+ .getChain(selectedChain.getChainId());
if (selectedChain.getResidueCount() == dataChain
.getResidueCount())
{
pathList.add("/usr/local/chimera/bin/chimera");
pathList.add("/usr/local/bin/chimera");
pathList.add("/usr/bin/chimera");
+ pathList.add(System.getProperty("user.home") + "/opt/bin/chimera");
}
else if (os.startsWith("Windows"))
{
for (int i = 0; i < alignment.length; i++)
{
- ids[i] = (new Float(alignment[i].getName().substring(8)))
+ ids[i] = (Float.valueOf(alignment[i].getName().substring(8)))
.floatValue();
}
max = Math.max(max, bigtot);
- quality.addElement(new Double(bigtot));
+ quality.addElement(Double.valueOf(bigtot));
}
double newmax = -Double.MAX_VALUE;
tmp = ((max - tmp) * (size - cons2GapCounts[j])) / size;
// System.out.println(tmp+ " " + j);
- quality.setElementAt(new Double(tmp), j);
+ quality.setElementAt(Double.valueOf(tmp), j);
if (tmp > newmax)
{
double score = Double.NaN;
try
{
- score = new Double(sstring).doubleValue();
+ score = Double.valueOf(sstring).doubleValue();
} catch (Exception e)
{
// don't try very hard to parse if regex was wrong.
{
Hashtable sqinfo = new Hashtable();
sqinfo.put("Name", seq.getName());
- sqinfo.put("Start", new Integer(seq.getStart()));
- sqinfo.put("End", new Integer(seq.getEnd()));
+ sqinfo.put("Start", Integer.valueOf(seq.getStart()));
+ sqinfo.put("End", Integer.valueOf(seq.getEnd()));
if (seq.getDescription() != null)
{
sqinfo.put("Description", seq.getDescription());
maxResidue = "{";
}
}
- residueHash.put(MAXCOUNT, new Integer(count));
+ residueHash.put(MAXCOUNT, Integer.valueOf(count));
residueHash.put(MAXRESIDUE, maxResidue);
percentage = ((float) count * 100) / jSize;
- residueHash.put(PID_GAPS, new Float(percentage));
+ residueHash.put(PID_GAPS, Float.valueOf(percentage));
percentage = ((float) count * 100) / nongap;
- residueHash.put(PID_NOGAPS, new Float(percentage));
+ residueHash.put(PID_NOGAPS, Float.valueOf(percentage));
if (result[i] == null)
{
residueHash.put(PAIRPROFILE, pairs);
}
- residueHash.put(MAXCOUNT, new Integer(count));
+ residueHash.put(MAXCOUNT, Integer.valueOf(count));
residueHash.put(MAXRESIDUE, maxResidue);
percentage = ((float) count * 100) / jSize;
- residueHash.put(PID_GAPS, new Float(percentage));
+ residueHash.put(PID_GAPS, Float.valueOf(percentage));
percentage = ((float) count * 100) / nongap;
- residueHash.put(PID_NOGAPS, new Float(percentage));
+ residueHash.put(PID_NOGAPS, Float.valueOf(percentage));
result[bpEnd] = residueHash;
}
FeatureDistanceModel instance;
try
{
- instance = this.getClass().newInstance();
+ instance = this.getClass().getDeclaredConstructor().newInstance();
instance.configureFromAlignmentView(view);
return instance;
} catch (InstantiationException | IllegalAccessException e)
System.err.println("Error in " + getClass().getName()
+ ".getInstance(): " + e.getMessage());
return null;
+ } catch (ReflectiveOperationException roe)
+ {
+ return null;
}
}
protected Map<SeqCigar, Set<String>> findFeatureTypesAtColumn(
SeqCigar[] seqs, int columnPosition)
{
- Map<SeqCigar, Set<String>> sfap = new HashMap<SeqCigar, Set<String>>();
+ Map<SeqCigar, Set<String>> sfap = new HashMap<>();
for (SeqCigar seq : seqs)
{
int spos = seq.findPosition(columnPosition);
/*
* position is not a gap
*/
- Set<String> types = new HashSet<String>();
+ Set<String> types = new HashSet<>();
List<SequenceFeature> sfs = fr.findFeaturesAtResidue(
seq.getRefSeq(), spos);
for (SequenceFeature sf : sfs)
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
+import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Arrays;
try
{
new URL(url);
- url = URLEncoder.encode(url);
+ url = URLEncoder.encode(url, "UTF-8");
}
/*
* When we finally deprecate 1.1 compatibility, we can start to use
{
url = viewport.applet.getCodeBase() + url;
}
+ catch (UnsupportedEncodingException ex)
+ {
+ System.err.println(
+ "WARNING = IMPLEMENTATION ERROR - UNSUPPORTED ENCODING EXCEPTION FOR "
+ + url);
+ ex.printStackTrace();
+ }
return url;
}
{
try
{
- widthScale = new Float(param).floatValue();
+ widthScale = Float.valueOf(param).floatValue();
} catch (Exception e)
{
}
{
try
{
- heightScale = new Float(param).floatValue();
+ heightScale = Float.valueOf(param).floatValue();
} catch (Exception e)
{
}
{
try
{
- float f = new Float(thresholdValue.getText()).floatValue();
+ float f = Float.valueOf(thresholdValue.getText()).floatValue();
slider.setValue((int) (f * 1000));
adjustmentValueChanged(null);
} catch (NumberFormatException ex)
.getAlignmentAnnotation();
// DETECT RIGHT MOUSE BUTTON IN AWT
- if ((evt.getModifiers()
- & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK)
+ if ((evt.getModifiersEx()
+ & InputEvent.BUTTON3_DOWN_MASK) == InputEvent.BUTTON3_DOWN_MASK)
{
PopupMenu popup = new PopupMenu(
}
}
- if ((evt.getModifiers()
- & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK
+ if ((evt.getModifiersEx()
+ & InputEvent.BUTTON3_DOWN_MASK) == InputEvent.BUTTON3_DOWN_MASK
&& activeRow != -1)
{
if (av.getColumnSelection() == null
* @author Jim Procter and Andrew Waterhouse
*
*/
-public class EmbmenuFrame extends Frame implements MouseListener
+public class EmbmenuFrame extends Frame
+ implements MouseListener, AutoCloseable
{
protected static final Font FONT_ARIAL_PLAIN_11 = new Font("Arial",
Font.PLAIN, 11);
/**
* map from labels to popup menus for the embedded menubar
*/
- protected Map<Label, PopupMenu> embeddedPopup = new HashMap<Label, PopupMenu>();
+ protected Map<Label, PopupMenu> embeddedPopup = new HashMap<>();
/**
* the embedded menu is built on this and should be added to the frame at the
return embeddedMenu;
}
+ @Override
public void mousePressed(MouseEvent evt)
{
PopupMenu popup = null;
return embeddedPopup.get(source);
}
+ @Override
public void mouseClicked(MouseEvent evt)
{
}
+ @Override
public void mouseReleased(MouseEvent evt)
{
}
+ @Override
public void mouseEntered(MouseEvent evt)
{
}
+ @Override
public void mouseExited(MouseEvent evt)
{
}
/**
* calls destroyMenus()
*/
- public void finalize() throws Throwable
+ @Override
+ public void close()
{
destroyMenus();
embeddedPopup = null;
embeddedMenu = null;
- super.finalize();
+ // no close for Frame
+ // super.finalize();
}
}
{
try
{
- float f = new Float(thresholdValue.getText()).floatValue();
+ float f = Float.valueOf(thresholdValue.getText()).floatValue();
slider.setValue((int) (f * SCALE_FACTOR_1K));
adjustmentValueChanged(null);
public void mouseClicked(MouseEvent evt)
{
MyCheckbox check = (MyCheckbox) evt.getSource();
- if ((evt.getModifiers() & InputEvent.BUTTON3_MASK) != 0)
+ if ((evt.getModifiersEx() & InputEvent.BUTTON3_DOWN_MASK) != 0)
{
this.popupSort(check, fr.getMinMax(), evt.getX(), evt.getY());
}
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Frame;
+import java.awt.GraphicsEnvironment;
import java.awt.Label;
import java.awt.Panel;
-import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
*/
void init()
{
- String fonts[] = Toolkit.getDefaultToolkit().getFontList();
+ // String fonts[] = Toolkit.getDefaultToolkit().getFontList();
+ String fonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment()
+ .getAvailableFontFamilyNames();
for (int i = 0; i < fonts.length; i++)
{
fontName.addItem(fonts[i]);
int seq = alignPanel.seqPanel.findSeq(e);
- if ((e.getModifiers()
- & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK)
+ if ((e.getModifiersEx()
+ & InputEvent.BUTTON3_DOWN_MASK) == InputEvent.BUTTON3_DOWN_MASK)
{
SequenceI sq = av.getAlignment().getSequenceAt(seq);
@Override
public void mouseClicked(MouseEvent evt)
{
- if ((evt.getModifiers()
- & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK)
+ if ((evt.getModifiersEx()
+ & InputEvent.BUTTON3_DOWN_MASK) == InputEvent.BUTTON3_DOWN_MASK)
{
showPopupMenu(evt);
}
@Override
public void mousePressed(MouseEvent evt)
{
- if ((evt.getModifiers()
- & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK)
+ if ((evt.getModifiersEx()
+ & InputEvent.BUTTON3_DOWN_MASK) == InputEvent.BUTTON3_DOWN_MASK)
{
if (!Platform.isAMac())
{
@Override
public void mouseDragged(MouseEvent evt)
{
- if ((evt.getModifiers()
- & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK)
+ if ((evt.getModifiersEx()
+ & InputEvent.BUTTON3_DOWN_MASK) == InputEvent.BUTTON3_DOWN_MASK)
{
if (!Platform.isAMac())
{
min = res;
max = res;
- if ((evt.getModifiers()
- & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK)
+ if ((evt.getModifiersEx()
+ & InputEvent.BUTTON3_DOWN_MASK) == InputEvent.BUTTON3_DOWN_MASK)
{
rightMouseButtonPressed(evt, res);
}
// For now, ignore the mouseWheel font resizing on Macs
// As the Button2_mask always seems to be true
- if ((evt.getModifiers()
- & InputEvent.BUTTON2_MASK) == InputEvent.BUTTON2_MASK
+ if ((evt.getModifiersEx()
+ & InputEvent.BUTTON2_DOWN_MASK) == InputEvent.BUTTON2_DOWN_MASK
&& !av.MAC)
{
mouseWheelPressed = true;
}
// DETECT RIGHT MOUSE BUTTON IN AWT
- if ((evt.getModifiers()
- & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK)
+ if ((evt.getModifiersEx()
+ & InputEvent.BUTTON3_DOWN_MASK) == InputEvent.BUTTON3_DOWN_MASK)
{
List<SequenceFeature> allFeatures = findFeaturesAtColumn(sequence,
sequence.findPosition(column + 1));
import java.awt.event.ItemListener;
public class TreePanel extends EmbmenuFrame
- implements ActionListener, ItemListener
+ implements ActionListener, ItemListener, AutoCloseable
{
SequenceI[] seq;
}
@Override
- public void finalize() throws Throwable
+ public void close()
{
ap = null;
av = null;
- super.finalize();
+ super.close();
}
/**
import jalview.util.Platform;
import jalview.ws.jws2.Jws2Discoverer;
+import java.awt.Image;
+import java.awt.Taskbar;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
{
desktop = new Desktop();
desktop.setInBatchMode(true); // indicate we are starting up
+
+ if (Taskbar.isTaskbarSupported())
+ {
+ Taskbar tb = Taskbar.getTaskbar();
+ if (tb.isSupported(Taskbar.Feature.ICON_IMAGE))
+ {
+ try
+ {
+ java.net.URL url = getClass()
+ .getResource("/images/JalviewLogo_Huge.png");
+ if (url != null)
+ {
+ Image image = java.awt.Toolkit.getDefaultToolkit()
+ .createImage(url);
+ tb.setIconImage(image);
+ }
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+
desktop.setVisible(true);
desktop.startServiceDiscovery();
if (!aparser.contains("nousagestats"))
int apos = -1;
try
{
- apos = new Integer(position).intValue();
+ apos = Integer.valueOf(position).intValue();
apos--;
} catch (NumberFormatException ex)
{
int from = -1, to = -1;
try
{
- from = new Integer(cl.substring(0, p)).intValue();
+ from = Integer.valueOf(cl.substring(0, p)).intValue();
from--;
} catch (NumberFormatException ex)
{
}
try
{
- to = new Integer(cl.substring(p + 1)).intValue();
+ to = Integer.valueOf(cl.substring(p + 1)).intValue();
to--;
} catch (NumberFormatException ex)
{
int r = -1;
try
{
- r = new Integer(cl).intValue();
+ r = Integer.valueOf(cl).intValue();
r--;
} catch (NumberFormatException ex)
{
try
{
StructureSelectionManager.getStructureSelectionManager(me)
- .mouseOverStructure(new Integer(pdbResNum).intValue(),
+ .mouseOverStructure(Integer.valueOf(pdbResNum).intValue(),
chain, pdbfile);
if (debug)
{
{
try
{
- alf.scrollTo(new Integer(topRow).intValue(),
- new Integer(leftHandColumn).intValue());
+ alf.scrollTo(Integer.valueOf(topRow).intValue(),
+ Integer.valueOf(leftHandColumn).intValue());
} catch (Exception ex)
{
{
try
{
- alf.scrollToRow(new Integer(topRow).intValue());
+ alf.scrollToRow(Integer.valueOf(topRow).intValue());
} catch (Exception ex)
{
{
try
{
- alf.scrollToColumn(new Integer(leftHandColumn).intValue());
+ alf.scrollToColumn(Integer.valueOf(leftHandColumn).intValue());
} catch (Exception ex)
{
--- /dev/null
+package jalview.bin;
+
+import java.io.File;
+import java.lang.management.ManagementFactory;
+import java.lang.management.OperatingSystemMXBean;
+import java.util.ArrayList;
+
+public class Launcher
+{
+
+ private final static String startClass = "jalview.bin.Jalview";
+
+ private final static int maxHeapSizePerCent = 95;
+
+ private final static String dockIconPath = "JalviewLogo_Huge.png";
+
+ public static void main(String[] args)
+ {
+ final String javaBin = System.getProperty("java.home") + File.separator
+ + "bin" + File.separator + "java";
+
+ ArrayList<String> command = new ArrayList<>();
+ command.add(javaBin);
+
+ boolean isAMac = System.getProperty("os.name").indexOf("Mac") > -1;
+
+ for (String jvmArg : ManagementFactory.getRuntimeMXBean()
+ .getInputArguments())
+ {
+ command.add(jvmArg);
+ }
+ command.add("-cp");
+ command.add(ManagementFactory.getRuntimeMXBean().getClassPath());
+ ArrayList<String> arguments = new ArrayList<>();
+ for (String arg : args)
+ {
+ arguments.add(arg);
+ }
+
+ // add memory setting if not specified
+ boolean memSet = false;
+ boolean dockIcon = false;
+ ARG: for (int i = 0; i < command.size(); i++)
+ {
+ String arg = command.get(i);
+ if (arg.startsWith("-Xmx"))
+ {
+ memSet = true;
+ }
+ else if (arg.startsWith("-Xdock:icon"))
+ {
+ dockIcon = true;
+ }
+ }
+
+ if (!memSet)
+ {
+ long maxMemLong = -1;
+ long physicalMem = getPhysicalMemory();
+ if (physicalMem > 0)
+ {
+ maxMemLong = physicalMem * maxHeapSizePerCent / 100;
+ }
+ if (maxMemLong > 0)
+ {
+ command.add("-Xmx" + Long.toString(maxMemLong));
+ }
+ }
+
+ if (!dockIcon)
+ {
+ command.add("-Xdock:icon=" + dockIconPath);
+ // -Xdock:name=... doesn't actually work :(
+ // Leaving it in in case it gets fixed
+ command.add("-Xdock:name=" + "Jalview");
+ }
+
+ command.add(startClass);
+ command.addAll(arguments);
+
+ final ProcessBuilder builder = new ProcessBuilder(command);
+
+ System.out.println("COMMAND: " + String.join(" ", builder.command()));
+
+ try
+ {
+ builder.inheritIO();
+ builder.start();
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ // System.exit(0);
+
+ }
+
+ public static long getPhysicalMemory()
+ {
+ final OperatingSystemMXBean o = ManagementFactory
+ .getOperatingSystemMXBean();
+
+ try
+ {
+ if (o instanceof com.sun.management.OperatingSystemMXBean)
+ {
+ final com.sun.management.OperatingSystemMXBean osb = (com.sun.management.OperatingSystemMXBean) o;
+ return osb.getTotalPhysicalMemorySize();
+ }
+ } catch (NoClassDefFoundError e)
+ {
+ // com.sun.management.OperatingSystemMXBean doesn't exist in this JVM
+ System.out.println("No com.sun.management.OperatingSystemMXBean");
+ }
+
+ // We didn't get a com.sun.management.OperatingSystemMXBean.
+ return -1;
+ }
+
+}
* @author JimP
*
*/
-public class Alignment implements AlignmentI
+public class Alignment implements AlignmentI, AutoCloseable
{
private Alignment dataset;
}
@Override
- public void finalize() throws Throwable
+ public void close()
{
if (getDataset() != null)
{
- getDataset().removeAlignmentRef();
+ try
+ {
+ getDataset().removeAlignmentRef();
+ } catch (Throwable e)
+ {
+ e.printStackTrace();
+ }
}
nullReferences();
- super.finalize();
}
/**
seqPos = i + startRes;
}
- sequenceMapping.put(new Integer(seqPos), annotations[i]);
+ sequenceMapping.put(Integer.valueOf(seqPos), annotations[i]);
}
}
{
for (a = sequenceRef.getStart(); a <= sequenceRef.getEnd(); a++)
{
- index = new Integer(a);
+ index = Integer.valueOf(a);
Annotation annot = sequenceMapping.get(index);
if (annot != null)
{
for (int i = 0; i < binary.length; i++)
{
- out += (new Integer(binary[i])).toString();
+ out += (Integer.valueOf(binary[i])).toString();
if (i < (binary.length - 1))
{
void remove(int col)
{
- Integer colInt = new Integer(col);
+ Integer colInt = Integer.valueOf(col);
if (selected.get(col))
{
// clear shifted bits and update List of selected columns
selected.clear(temp);
mask.set(temp - change);
- order.set(i, new Integer(temp - change));
+ order.set(i, Integer.valueOf(temp - change));
}
}
// lastly update the bitfield all at once
Integer colInt;
for (int i = start; i < end; i++)
{
- colInt = new Integer(i);
+ colInt = Integer.valueOf(i);
if (selection.contains(colInt))
{
selection.remove(colInt);
package jalview.ext.htsjdk;
+import java.io.Closeable;
+import java.io.File;
+import java.io.IOException;
+
import htsjdk.samtools.util.CloseableIterator;
import htsjdk.variant.variantcontext.VariantContext;
import htsjdk.variant.vcf.VCFFileReader;
import htsjdk.variant.vcf.VCFHeader;
-import java.io.Closeable;
-import java.io.File;
-import java.io.IOException;
-
/**
* A thin wrapper for htsjdk classes to read either plain, or compressed, or
* compressed and indexed VCF files
{
final CloseableIterator<VariantContext> it = reader.iterator();
- return new CloseableIterator<VariantContext>()
+ return new CloseableIterator()
{
boolean atEnd = false;
int vend = variant.getEnd();
// todo what is the undeprecated way to get
// the chromosome for the variant?
- if (chrom.equals(variant.getChr()) && (vstart <= end)
+ if (chrom.equals(variant.getContig()) && (vstart <= end)
&& (vend >= start))
{
return variant;
try
{
// recover PDB filename for the model hovered over.
- int mnumber = new Integer(mdlId).intValue() - 1;
+ int mnumber = Integer.valueOf(mdlId).intValue() - 1;
if (_modelFileNameMap != null)
{
int _mp = _modelFileNameMap.length - 1;
public static Iterator<Reader> getRNAMLForPDBFileAsString(String pdbfile)
throws Exception
{
- List<NameValuePair> vals = new ArrayList<NameValuePair>();
+ List<NameValuePair> vals = new ArrayList<>();
vals.add(new BasicNameValuePair("tool", "rnaview"));
vals.add(new BasicNameValuePair("data", pdbfile));
vals.add(new BasicNameValuePair("output", "rnaml"));
// return processJsonResponseFor(HttpClientUtils.doHttpUrlPost(twoDtoolsURL,
// vals));
- ArrayList<Reader> readers = new ArrayList<Reader>();
+ ArrayList<Reader> readers = new ArrayList<>();
final BufferedReader postResponse = HttpClientUtils
.doHttpUrlPost(twoDtoolsURL, vals, 0, 0);
readers.add(postResponse);
try
{
final JSONArray responses = (JSONArray) jp.parse(respons);
- final Iterator rvals = responses.iterator();
- return new Iterator<Reader>()
- {
- @Override
- public boolean hasNext()
- {
- return rvals.hasNext();
- }
-
- @Override
- public Reader next()
- {
- JSONObject val = (JSONObject) rvals.next();
-
- Object sval = null;
- try
- {
- sval = val.get("2D");
- } catch (Exception x)
- {
- x.printStackTrace();
- }
- ;
- if (sval == null)
- {
- System.err.println(
- "DEVELOPER WARNING: Annotate3d didn't return a '2D' tag in its response. Consider checking output of server. Response was :"
- + val.toString());
-
- sval = "";
- }
- return new StringReader((sval instanceof JSONObject)
- ? ((JSONObject) sval).toString()
- : sval.toString());
-
- }
-
- @Override
- public void remove()
- {
- throw new Error(
- MessageManager.getString("error.not_implemented_remove"));
-
- }
-
- @Override
- protected Object clone() throws CloneNotSupportedException
- {
- throw new CloneNotSupportedException(
- MessageManager.getString("error.not_implemented_clone"));
- }
-
- @Override
- public boolean equals(Object obj)
- {
- return super.equals(obj);
- }
-
- @Override
- protected void finalize() throws Throwable
- {
- while (rvals.hasNext())
- {
- rvals.next();
- }
- super.finalize();
- }
- };
+ final RvalsIterator rvals = new RvalsIterator(responses);
+ return rvals;
} catch (Exception foo)
{
throw new Exception(MessageManager.getString(
public static Iterator<Reader> getRNAMLForPDBId(String pdbid)
throws Exception
{
- List<NameValuePair> vals = new ArrayList<NameValuePair>();
+ List<NameValuePair> vals = new ArrayList<>();
vals.add(new BasicNameValuePair("tool", "rnaview"));
vals.add(new BasicNameValuePair("pdbid", pdbid));
vals.add(new BasicNameValuePair("output", "rnaml"));
+ pdbid + "&output=rnaml");
// return processJsonResponseFor(new
// InputStreamReader(geturl.openStream()));
- ArrayList<Reader> readers = new ArrayList<Reader>();
+ ArrayList<Reader> readers = new ArrayList<>();
readers.add(new InputStreamReader(geturl.openStream()));
return readers.iterator();
}
}
+
+class RvalsIterator implements Iterator, AutoCloseable
+{
+ private Iterator rvals;
+
+ protected RvalsIterator(JSONArray responses)
+ {
+ this.rvals = responses.iterator();
+ }
+
+ @Override
+ public boolean hasNext()
+ {
+ return rvals.hasNext();
+ }
+
+ @Override
+ public Reader next()
+ {
+ JSONObject val = (JSONObject) rvals.next();
+
+ Object sval = null;
+ try
+ {
+ sval = val.get("2D");
+ } catch (Exception x)
+ {
+ x.printStackTrace();
+ }
+ ;
+ if (sval == null)
+ {
+ System.err.println(
+ "DEVELOPER WARNING: Annotate3d didn't return a '2D' tag in its response. Consider checking output of server. Response was :"
+ + val.toString());
+
+ sval = "";
+ }
+ return new StringReader(
+ (sval instanceof JSONObject) ? ((JSONObject) sval).toString()
+ : sval.toString());
+
+ }
+
+ @Override
+ public void remove()
+ {
+ throw new Error(
+ MessageManager.getString("error.not_implemented_remove"));
+
+ }
+
+ @Override
+ protected Object clone() throws CloneNotSupportedException
+ {
+ throw new CloneNotSupportedException(
+ MessageManager.getString("error.not_implemented_clone"));
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ return super.equals(obj);
+ }
+
+ @Override
+ public void close()
+ {
+ while (rvals.hasNext())
+ {
+ rvals.next();
+ }
+ }
+}
PrintWriter out = new PrintWriter(
new FileWriter(backupfiles.getTempFilePath()));
+ // TESTING code here
+ boolean TESTING = true;
+ if (TESTING)
+ {
+ out.print("; TESTSTART\n");
+ int count = 20;
+ for (int i = 0; i < count; i++)
+ {
+ // Thread.sleep(1000);
+ out.println("; TEST: " + (count - 1 - i));
+ }
+ }
out.print(output);
+ if (TESTING)
+ {
+ out.print("; TESTEND\n");
+ }
out.close();
this.setTitle(file);
statusBar.setText(MessageManager.formatMessage(
newGraphGroups.add(q, null);
}
newGraphGroups.set(newann.graphGroup,
- new Integer(++fgroup));
+ Integer.valueOf(++fgroup));
}
newann.graphGroup = newGraphGroups.get(newann.graphGroup)
.intValue();
newGraphGroups.add(q, null);
}
newGraphGroups.set(newann.graphGroup,
- new Integer(++fgroup));
+ Integer.valueOf(++fgroup));
}
newann.graphGroup = newGraphGroups.get(newann.graphGroup)
.intValue();
int assocfiles = 0;
if (filesmatched.size() > 0)
{
- boolean autoAssociate = Cache.getDefault("AUTOASSOCIATE_PDBANDSEQS", false);
+ boolean autoAssociate = Cache
+ .getDefault("AUTOASSOCIATE_PDBANDSEQS", false);
if (!autoAssociate)
{
String msg = MessageManager.formatMessage(
public LaunchJvBrowserOnItem(JList listItems)
{
super("Open in Browser");
- this.putValue(MNEMONIC_KEY, new Integer(KeyEvent.VK_O));
+ this.putValue(MNEMONIC_KEY, Integer.valueOf(KeyEvent.VK_O));
this.putValue(Action.LONG_DESCRIPTION, "Open in Browser");
_listItems = listItems;
}
*/
package jalview.gui;
-import static jalview.util.UrlConstants.SEQUENCE_ID;
-
import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
import jalview.bin.Cache;
import java.awt.datatransfer.ClipboardOwner;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
+import java.awt.desktop.QuitStrategy;
+/* not importing directly. Calling classes with full name in try block to allow Java 1.8 runtime
+import java.awt.desktop.AboutHandler;
+import java.awt.desktop.PreferencesEvent;
+import java.awt.desktop.PreferencesHandler;
+import java.awt.desktop.QuitEvent;
+import java.awt.desktop.QuitHandler;
+import java.awt.desktop.QuitResponse;
+import java.awt.desktop.QuitStrategy;
+*/
import java.awt.dnd.DnDConstants;
import java.awt.dnd.DropTargetDragEvent;
import java.awt.dnd.DropTargetDropEvent;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
+import java.io.FileWriter;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
import java.util.ListIterator;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JDesktopPane;
-import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JProgressBar;
private static final String EXPERIMENTAL_FEATURES = "EXPERIMENTAL_FEATURES";
+ private static final String CONFIRM_KEYBOARD_QUIT = "CONFIRM_KEYBOARD_QUIT";
+
+ public static HashMap<String, FileWriter> savingFiles = new HashMap<>();
+
private JalviewChangeSupport changeSupport = new JalviewChangeSupport();
/**
private File projectFile;
+ private static boolean setAPQHandlers = false;
+
/**
* @param listener
* @see jalview.gui.JalviewChangeSupport#addJalviewPropertyChangeListener(java.beans.PropertyChangeListener)
doConfigureStructurePrefs();
setTitle("Jalview " + jalview.bin.Cache.getProperty("VERSION"));
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ /*
+ if (!Platform.isAMac())
+ {
+ // this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+ }
+ else
+ {
+ this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
+ }
+ */
+
+ // flagging this test to avoid unnecessary reflection
+ if (!setAPQHandlers)
+ {
+ // see if the Quit, About and Preferences handlers are available
+ Class desktopClass = java.awt.Desktop.class;
+ java.awt.Desktop hdesktop = java.awt.Desktop.getDesktop();
+
+ try
+ {
+ Float specversion = Float.parseFloat(
+ System.getProperty("java.specification.version"));
+
+ if (specversion >= 9)
+ {
+ if (Platform.isAMac())
+ {
+ if (desktopClass.getDeclaredMethod("setAboutHandler",
+ new Class[]
+ { java.awt.desktop.AboutHandler.class }) != null)
+ {
+
+ hdesktop.setAboutHandler(new java.awt.desktop.AboutHandler()
+ {
+ @Override
+ public void handleAbout(java.awt.desktop.AboutEvent e)
+ {
+ aboutMenuItem_actionPerformed(null);
+ }
+ });
+
+ }
+
+ if (desktopClass.getDeclaredMethod("setPreferencesHandler",
+ new Class[]
+ { java.awt.desktop.PreferencesHandler.class }) != null)
+ {
+
+ hdesktop.setPreferencesHandler(
+ new java.awt.desktop.PreferencesHandler()
+ {
+ @Override
+ public void handlePreferences(
+ java.awt.desktop.PreferencesEvent e)
+ {
+ preferences_actionPerformed(null);
+ }
+ });
+
+ }
+
+ if (desktopClass.getDeclaredMethod("setQuitHandler",
+ new Class[]
+ { java.awt.desktop.QuitHandler.class }) != null)
+ {
+
+ hdesktop.setQuitHandler(new java.awt.desktop.QuitHandler()
+ {
+ @Override
+ public void handleQuitRequestWith(
+ java.awt.desktop.QuitEvent e,
+ java.awt.desktop.QuitResponse r)
+ {
+ boolean confirmQuit = jalview.bin.Cache
+ .getDefault(CONFIRM_KEYBOARD_QUIT, true);
+ int n;
+ if (confirmQuit)
+ {
+ n = JOptionPane.showConfirmDialog(null,
+ MessageManager.getString("label.quit_jalview"),
+ MessageManager.getString("action.quit"),
+ JOptionPane.OK_CANCEL_OPTION,
+ JOptionPane.PLAIN_MESSAGE, null);
+ }
+ else
+ {
+ n = JOptionPane.OK_OPTION;
+ }
+ if (n == JOptionPane.OK_OPTION)
+ {
+ System.out.println("Shortcut Quit confirmed by user");
+ quit();
+ r.performQuit(); // probably won't reach this line, but just
+ // in
+ // case
+ }
+ else
+ {
+ r.cancelQuit();
+ System.out.println("Shortcut Quit cancelled by user");
+ }
+ }
+ });
+ hdesktop.setQuitStrategy(QuitStrategy.CLOSE_ALL_WINDOWS);
+
+ }
+ }
+ }
+ else
+ {
+ System.out.println(
+ "Not going to try setting APQ Handlers as java.spec.version is "
+ + specversion);
+ }
+
+ } catch (Exception e)
+ {
+ System.out.println(
+ "Exception when looking for About, Preferences, Quit Handlers");
+ e.printStackTrace();
+ } catch (Throwable t)
+ {
+ System.out.println(
+ "Throwable when looking for About, Preferences, Quit Handlers");
+ t.printStackTrace();
+ }
+
+ setAPQHandlers = true;
+ }
+
+ addWindowListener(new WindowAdapter()
+ {
+
+ @Override
+ public void windowClosing(WindowEvent ev)
+ {
+ quit();
+ }
+ });
+
boolean selmemusage = jalview.bin.Cache.getDefault("SHOW_MEMUSAGE",
false);
+
boolean showjconsole = jalview.bin.Cache.getDefault("SHOW_JAVA_CONSOLE",
false);
desktop = new MyDesktopPane(selmemusage);
showMemusage.setSelected(selmemusage);
desktop.setBackground(Color.white);
+
getContentPane().setLayout(new BorderLayout());
// alternate config - have scrollbars - see notes in JAL-153
// JScrollPane sp = new JScrollPane();
+ System.getProperty("java.version") + "\n"
+ System.getProperty("os.arch") + " "
+ System.getProperty("os.name") + " "
- + System.getProperty("os.version"));
+ + System.getProperty("os.version")
+ + (jalview.bin.Cache.getProperty("VERSION").equals("DEVELOPMENT")
+ ? "\nJava path:"
+ + System.getProperty(
+ "java.home")
+ + File.separator + "bin"
+ + File.separator + "java"
+ : "")
+ );
showConsole(showjconsole);
KeyStroke ctrlWKey = KeyStroke.getKeyStroke(KeyEvent.VK_W,
InputEvent.CTRL_DOWN_MASK);
KeyStroke cmdWKey = KeyStroke.getKeyStroke(KeyEvent.VK_W,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx());
InputMap inputMap = frame
.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
@Override
public void quit()
{
+ //System.out.println("********** Desktop.quit()");
+ //System.out.println(savingFiles.toString());
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
jalview.bin.Cache.setProperty("SCREENGEOMETRY_WIDTH",
screen.width + "");
while (li.hasNext())
{
String link = li.next();
- if (link.contains(SEQUENCE_ID)
+ if (link.contains(jalview.util.UrlConstants.SEQUENCE_ID)
&& !UrlConstants.isDefaultString(link))
{
check = true;
{
getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
.put(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()),
"Quit");
getRootPane().getActionMap().put("Quit", new AbstractAction()
{
progressBarHandlers = new Hashtable<>();
}
- if (progressBars.get(new Long(id)) != null)
+ if (progressBars.get(Long.valueOf(id)) != null)
{
- JPanel panel = progressBars.remove(new Long(id));
- if (progressBarHandlers.contains(new Long(id)))
+ JPanel panel = progressBars.remove(Long.valueOf(id));
+ if (progressBarHandlers.contains(Long.valueOf(id)))
{
- progressBarHandlers.remove(new Long(id));
+ progressBarHandlers.remove(Long.valueOf(id));
}
removeProgressPanel(panel);
}
else
{
- progressBars.put(new Long(id), addProgressPanel(message));
+ progressBars.put(Long.valueOf(id), addProgressPanel(message));
}
}
final IProgressIndicatorHandler handler)
{
if (progressBarHandlers == null
- || !progressBars.containsKey(new Long(id)))
+ || !progressBars.containsKey(Long.valueOf(id)))
{
throw new Error(MessageManager.getString(
"error.call_setprogressbar_before_registering_handler"));
}
- progressBarHandlers.put(new Long(id), handler);
- final JPanel progressPanel = progressBars.get(new Long(id));
+ progressBarHandlers.put(Long.valueOf(id), handler);
+ final JPanel progressPanel = progressBars.get(Long.valueOf(id));
if (handler.canCancel())
{
JButton cancel = new JButton(
name.setText(sf.getType());
description.setText(sf.getDescription());
group.setText(sf.getFeatureGroup());
- start.setValue(new Integer(sf.getBegin()));
- end.setValue(new Integer(sf.getEnd()));
+ start.setValue(Integer.valueOf(sf.getBegin()));
+ end.setValue(Integer.valueOf(sf.getEnd()));
SearchResultsI highlight = new SearchResults();
highlight.addResult(sequences.get(0), sf.getBegin(),
name.setText(featureType);
group.setText(featureGroup);
- start.setValue(new Integer(firstFeature.getBegin()));
- end.setValue(new Integer(firstFeature.getEnd()));
+ start.setValue(Integer.valueOf(firstFeature.getBegin()));
+ end.setValue(Integer.valueOf(firstFeature.getEnd()));
description.setText(firstFeature.getDescription());
updateColourButton(mainPanel, colour,
(oldcol = fcol = getFeatureStyle(featureType)));
data[dataIndex][FILTER_COLUMN] = featureFilter == null
? new FeatureMatcherSet()
: featureFilter;
- data[dataIndex][SHOW_COLUMN] = new Boolean(
+ data[dataIndex][SHOW_COLUMN] = Boolean.valueOf(
af.getViewport().getFeaturesDisplayed().isVisible(type));
dataIndex++;
displayableTypes.remove(type);
data[dataIndex][FILTER_COLUMN] = featureFilter == null
? new FeatureMatcherSet()
: featureFilter;
- data[dataIndex][SHOW_COLUMN] = new Boolean(true);
+ data[dataIndex][SHOW_COLUMN] = Boolean.valueOf(true);
dataIndex++;
displayableTypes.remove(type);
}
// }
//
// JPanel progressPanel;
- // Long lId = new Long(id);
+ // Long lId = Long.valueOf(id);
// GridLayout layout = (GridLayout) statusPanel.getLayout();
// if (progressBars.get(lId) != null)
// {
- // progressPanel = (JPanel) progressBars.get(new Long(id));
+ // progressPanel = (JPanel) progressBars.get(Long.valueOf(id));
// statusPanel.remove(progressPanel);
// progressBars.remove(lId);
// progressPanel = null;
final IProgressIndicatorHandler handler)
{
progressBar.registerHandler(id, handler);
- // if (progressBarHandlers == null || !progressBars.contains(new Long(id)))
+ // if (progressBarHandlers == null || !progressBars.contains(Long.valueOf(id)))
// {
// throw new
// Error(MessageManager.getString("error.call_setprogressbar_before_registering_handler"));
// }
- // progressBarHandlers.put(new Long(id), handler);
- // final JPanel progressPanel = (JPanel) progressBars.get(new Long(id));
+ // progressBarHandlers.put(Long.valueOf(id), handler);
+ // final JPanel progressPanel = (JPanel) progressBars.get(Long.valueOf(id));
// if (handler.canCancel())
// {
// JButton cancel = new JButton(
int yDelta = yPos - mouseY;
// Check if this is a rectangle drawing drag
- if ((evt.getModifiers() & InputEvent.BUTTON2_MASK) != 0)
+ if ((evt.getModifiersEx() & InputEvent.BUTTON2_DOWN_MASK) != 0)
{
// rectx2 = evt.getX();
// recty2 = evt.getY();
* Ctrl-W / Cmd-W - close view or window
*/
KeyStroke key_cmdW = KeyStroke.getKeyStroke(KeyEvent.VK_W,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
action = new AbstractAction()
{
@Override
* Ctrl-T / Cmd-T open new view
*/
KeyStroke key_cmdT = KeyStroke.getKeyStroke(KeyEvent.VK_T,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
AbstractAction action = new AbstractAction()
{
@Override
* Ctrl-F / Cmd-F open Finder dialog, 'focused' on the right alignment
*/
KeyStroke key_cmdF = KeyStroke.getKeyStroke(KeyEvent.VK_F,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
AbstractAction action = new AbstractAction()
{
@Override
for (String url : wsUrls)
{
int status = Jws2Discoverer.getDiscoverer().getServerStatusFor(url);
- tdat[r][1] = new Integer(status);
+ tdat[r][1] = Integer.valueOf(status);
tdat[r++][0] = url;
}
if (row.graphGroup > -1)
{
graphGroupSeen.set(row.graphGroup);
- Integer key = new Integer(row.graphGroup);
+ Integer key = Integer.valueOf(row.graphGroup);
if (graphGroup.containsKey(key))
{
graphGroup.put(key, graphGroup.get(key) + "\t" + row.label);
autoAnnotsKey(aa[aai], aa[aai].sequenceRef,
(aa[aai].groupRef == null ? null
: aa[aai].groupRef.getName())),
- new Integer(1));
+ Integer.valueOf(1));
}
}
}
{
displayChar = token;
// foo
- value = new Float(token).floatValue();
+ value = Float.valueOf(token).floatValue();
parsedValue = true;
continue;
} catch (NumberFormatException ex)
float score = Float.NaN;
try
{
- score = new Float(gffColumns[6]).floatValue();
+ score = Float.valueOf(gffColumns[6]).floatValue();
} catch (NumberFormatException ex)
{
sf = new SequenceFeature(ft, desc, startPos, endPos, featureGroup);
Thread.sleep(500);
} catch (Exception ex)
{
+ System.out.println(
+ "Exception caught while waiting for FileLoader thread");
+ ex.printStackTrace();
}
}
{
ascore = symbols.nextToken();
- Float score = new Float(ascore);
+ Float score = Float.valueOf(ascore);
scores.addElement(score);
}
seq_entries.addElement(newseq.toString());
ids.addElement(id);
- Symscores.put(id, new Integer(ids.size() - 1));
+ Symscores.put(id, Integer.valueOf(ids.size() - 1));
}
}
}
{
for (int j = 0; j < width; j++)
{
- float value = new Float(preds[i].getCharAt(j) + "")
+ float value = Float.valueOf(preds[i].getCharAt(j) + "")
.floatValue();
annotations[gapmap[j]] = new Annotation(
preds[i].getCharAt(j) + "", "",
{
for (int j = 0; j < width; j++)
{
- float value = new Float(preds[i].getCharAt(j) + "")
+ float value = Float.valueOf(preds[i].getCharAt(j) + "")
.floatValue();
annotations[gapmap[delMap[j]]] = new Annotation(
preds[i].getCharAt(j) + "", "",
resCode(int v)
{
- val = new Integer(v);
+ val = Integer.valueOf(v);
field = val.toString();
}
};
{
try
{
- bootstrap = (new Integer(nbootstrap.stringMatched(1)))
+ bootstrap = (Integer.valueOf(nbootstrap.stringMatched(1)))
.intValue();
HasBootstrap = true;
} catch (Exception e)
{
try
{
- distance = (new Float(ndist.stringMatched(1))).floatValue();
+ distance = (Float.valueOf(ndist.stringMatched(1))).floatValue();
HasDistances = true;
nodehasdistance = true;
} catch (Exception e)
if (code.toLowerCase().equals("b"))
{
int v = -1;
- Float iv = new Float(value);
+ Float iv = Float.valueOf(value);
v = iv.intValue(); // jalview only does integer bootstraps
// currently
c.setBootstrap(v);
Float val = null;
try
{
- val = new Float(props[p].getContent());
+ val = Float.valueOf(props[p].getContent());
} catch (Exception e)
{
Cache.log.warn("Failed to parse threshold property");
int se_end = se[1 - se[2]] + (se[2] == 0 ? 1 : -1);
for (int p = se[se[2]]; p != se_end; p += se[2] == 0 ? 1 : -1)
{
- posList.add(new Integer(p));
+ posList.add(Integer.valueOf(p));
}
}
}
for (int p = 0, pSize = dseta.getPosCount(); p < pSize; p++)
{
pos = dseta.getPos(p).getI();
- posList.add(new Integer(pos));
+ posList.add(Integer.valueOf(pos));
}
}
}
import java.util.Iterator;
import java.util.Map;
-public class DatastoreRegistry
+public class DatastoreRegistry implements AutoCloseable
{
protected static org.apache.log4j.Logger log = org.apache.log4j.Logger
.getLogger(DatastoreRegistry.class);
}
@Override
- protected void finalize() throws Throwable
+ public void close()
{
if (dsObjReg != null)
{
{
dsItemReg.clear();
}
- super.finalize();
+ // super.finalize();
}
}
int se_end = se[1 - se[2]] + (se[2] == 0 ? 1 : -1);
for (int p = se[se[2]]; p != se_end; p += se[2] == 0 ? 1 : -1)
{
- posList.add(new Integer(p));
+ posList.add(Integer.valueOf(p));
}
}
}
for (int p = 0, pSize = dseta.getPosCount(); p < pSize; p++)
{
pos = dseta.getPos(p).getI();
- posList.add(new Integer(pos));
+ posList.add(Integer.valueOf(pos));
}
}
}
for (int s = 0, sSize = range.getSegCount(); s < sSize; s++)
{
se = getSegRange(range.getSeg(s), false);
- posList.addElement(new Integer(se[0]));
- posList.addElement(new Integer(se[1]));
+ posList.addElement(Integer.valueOf(se[0]));
+ posList.addElement(Integer.valueOf(se[1]));
}
}
else if (range.getPosCount() > 0)
for (int p = 0, pSize = range.getPosCount(); p < pSize; p++)
{
pos = range.getPos(p).getI();
- posList.add(new Integer(pos));
- posList.add(new Integer(pos));
+ posList.add(Integer.valueOf(pos));
+ posList.add(Integer.valueOf(pos));
}
}
}
{
try
{
- val = new Boolean(p.getContent());
+ val = Boolean.valueOf(p.getContent());
} catch (Exception e)
{
}
{
try
{
- val = new Float(p.getContent());
+ val = Float.valueOf(p.getContent());
} catch (Exception e)
{
{
try
{
- val = new Integer(p.getContent());
+ val = Integer.valueOf(p.getContent());
} catch (Exception e)
{
}
Integer nindx = (Integer) nodespecs.get(nname);
if (nindx == null)
{
- nindx = new Integer(1);
+ nindx = Integer.valueOf(1);
}
nname = nindx.toString() + " " + nname;
return nname;
String oval = nodespec.substring(0, nodespec.indexOf(' '));
try
{
- occurence = new Integer(oval).intValue();
+ occurence = Integer.valueOf(oval).intValue();
} catch (Exception e)
{
System.err.println("Invalid nodespec '" + nodespec + "'");
// FIXME getDefaultToolkit throws an exception in Headless mode
KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
- | KeyEvent.SHIFT_MASK,
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()
+ | KeyEvent.SHIFT_DOWN_MASK,
false);
addMenuActionAndAccelerator(keyStroke, saveAs, al);
closeMenuItem.setText(MessageManager.getString("action.close"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem selectAllSequenceMenuItem = new JMenuItem(
MessageManager.getString("action.select_all"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem invertSequenceMenuItem = new JMenuItem(
MessageManager.getString("action.invert_sequence_selection"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem remove2LeftMenuItem = new JMenuItem(
MessageManager.getString("action.remove_left"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem remove2RightMenuItem = new JMenuItem(
MessageManager.getString("action.remove_right"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem removeGappedColumnMenuItem = new JMenuItem(
MessageManager.getString("action.remove_empty_columns"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem removeAllGapsMenuItem = new JMenuItem(
MessageManager.getString("action.remove_all_gaps"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
- | KeyEvent.SHIFT_MASK,
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()
+ | KeyEvent.SHIFT_DOWN_MASK,
false);
al = new ActionListener()
{
JMenuItem removeRedundancyMenuItem = new JMenuItem(
MessageManager.getString("action.remove_redundancy"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
undoMenuItem.setEnabled(false);
undoMenuItem.setText(MessageManager.getString("action.undo"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
redoMenuItem.setEnabled(false);
redoMenuItem.setText(MessageManager.getString("action.redo"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem printMenuItem = new JMenuItem(
MessageManager.getString("action.print"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem findMenuItem = new JMenuItem(
MessageManager.getString("action.find"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true,
MessageManager.getString("label.find_tip")));
al = new ActionListener()
JMenuItem deleteGroups = new JMenuItem(
MessageManager.getString("action.undefine_groups"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem createGroup = new JMenuItem(
MessageManager.getString("action.create_group"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem unGroup = new JMenuItem(
MessageManager.getString("action.remove_group"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
- | KeyEvent.SHIFT_MASK,
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()
+ | KeyEvent.SHIFT_DOWN_MASK,
false);
al = new ActionListener()
{
copy.setText(MessageManager.getString("action.copy"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
cut.setText(MessageManager.getString("action.cut"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem pasteNew = new JMenuItem(
MessageManager.getString("label.to_new_alignment"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
- | KeyEvent.SHIFT_MASK,
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()
+ | KeyEvent.SHIFT_DOWN_MASK,
false);
al = new ActionListener()
{
JMenuItem pasteThis = new JMenuItem(
MessageManager.getString("label.to_this_alignment"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem invertColSel = new JMenuItem(
MessageManager.getString("action.invert_column_selection"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
- | KeyEvent.ALT_MASK,
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()
+ | KeyEvent.ALT_DOWN_MASK,
false);
al = new ActionListener()
{
JMenuItem save = new JMenuItem(MessageManager.getString("action.save"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
JMenuItem newView = new JMenuItem(
MessageManager.getString("action.new_view"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false);
al = new ActionListener()
{
@Override
});
close.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_W,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false));
selectAll.setText(MessageManager.getString("action.select_all"));
selectAll.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_A,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false));
selectAll.addActionListener(new ActionListener()
{
@Override
save.setText(MessageManager.getString("action.save"));
save.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_S,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false));
save.addActionListener(new ActionListener()
{
@Override
});
copyItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_C,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false));
editMenubar.add(jMenu1);
editMenubar.add(editMenu);
selectAll.setText(MessageManager.getString("action.select_all"));
selectAll.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_A,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false));
selectAll.addActionListener(new ActionListener()
{
@Override
save.setText(MessageManager.getString("action.save"));
save.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_S,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false));
save.addActionListener(new ActionListener()
{
@Override
});
copyItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_C,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false));
pasteMenu.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_V,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(), false));
editMenubar.add(jMenu1);
editMenubar.add(editMenu);
textarea.setFont(new java.awt.Font("Monospaced", Font.PLAIN, 12));
.setText(MessageManager.getString("label.load_tree_from_file"));
inputLocalFileMenuItem.setAccelerator(
javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx(),
false));
inputLocalFileMenuItem
.addActionListener(new java.awt.event.ActionListener()
VamsasMenu.add(vamsasImport);
VamsasMenu.add(vamsasSave);
VamsasMenu.add(vamsasStop);
- toolsMenu.add(preferences);
+ if (!Platform.isAMac())
+ {
+ toolsMenu.add(preferences);
+ }
toolsMenu.add(showMemusage);
toolsMenu.add(showConsole);
toolsMenu.add(showNews);
*/
protected void quit()
{
+ //System.out.println("********** GDesktop.quit()");
}
/**
}
else
{
- featureOrder.put(featureType, new Float(
+ featureOrder.put(featureType, Float.valueOf(
fs / jm.getFeatureSettings().getSetting().size()));
}
if (safeBoolean(setting.isDisplay()))
for (int gs = 0; gs < jm.getFeatureSettings().getGroup().size(); gs++)
{
Group grp = jm.getFeatureSettings().getGroup().get(gs);
- fgtable.put(grp.getName(), new Boolean(grp.isDisplay()));
+ fgtable.put(grp.getName(), Boolean.valueOf(grp.isDisplay()));
}
// FeatureRendererSettings frs = new FeatureRendererSettings(renderOrder,
// fgtable, featureColours, jms.getFeatureSettings().hasTransparency() ?
{
try
{
- registerColourScheme(cs.getSchemeClass().newInstance());
+ registerColourScheme(
+ cs.getSchemeClass().getDeclaredConstructor().newInstance());
} catch (InstantiationException | IllegalAccessException e)
{
System.err.println("Error instantiating colour scheme for "
+ cs.toString() + " " + e.getMessage());
e.printStackTrace();
+ } catch (ReflectiveOperationException roe)
+ {
+ roe.printStackTrace();
}
}
}
/**
* @deprecated Use {@link #isConserved(int[][],int,int,boolean)} instead
*/
+ @Deprecated
public boolean isConserved(int[][] cons2, int col, int size)
{
+ System.out.println("DEPRECATED!!!!");
return isConserved(cons2, col, size, true);
}
tot += cons2[col][mask[i]];
}
- if ((double) tot > ((threshold * size) / 100))
+ if (tot > ((threshold * size) / 100))
{
// System.out.println("True conserved "+tot+" from "+threshold+" out of
// "+size+" : "+maskstr);
{
if (minval.length() > 0)
{
- min = new Float(minval).floatValue();
+ min = Float.valueOf(minval).floatValue();
}
} catch (Exception e)
{
{
if (maxval.length() > 0)
{
- max = new Float(maxval).floatValue();
+ max = Float.valueOf(maxval).floatValue();
}
} catch (Exception e)
{
{
gcol.nextToken();
tval = gcol.nextToken();
- featureColour.setThreshold(new Float(tval).floatValue());
+ featureColour.setThreshold(Float.valueOf(tval).floatValue());
} catch (Exception e)
{
System.err.println("Couldn't parse threshold value as a float: ("
instances.remove(jalviewLite);
try
{
- mnger.finalize();
+ /* bsoares 2019-03-20 finalize deprecated, no apparent external
+ * resources to close
+ */
+ // mnger.finalize();
} catch (Throwable x)
{
}
{
return false;
}
- return (Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
- & e.getModifiers()) != 0;
- // could we use e.isMetaDown() here?
+ return (Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx() // .getMenuShortcutKeyMaskEx()
+ & e.getModifiersEx()) != 0; // getModifiers()) != 0;
}
return e.isControlDown();
}
{
featureOrder = new Hashtable<>();
}
- featureOrder.put(type, new Float(position));
+ featureOrder.put(type, Float.valueOf(position));
return position;
}
}
if (newGroupsVisible)
{
- featureGroups.put(group, new Boolean(true));
+ featureGroups.put(group, Boolean.valueOf(true));
return true;
}
return false;
@Override
public void setGroupVisibility(String group, boolean visible)
{
- featureGroups.put(group, new Boolean(visible));
+ featureGroups.put(group, Boolean.valueOf(visible));
}
@Override
for (String gst : toset)
{
Boolean st = featureGroups.get(gst);
- featureGroups.put(gst, new Boolean(visible));
+ featureGroups.put(gst, Boolean.valueOf(visible));
if (st != null)
{
rdrw = rdrw || (visible != st.booleanValue());
// The Score objects contain a set of size one containing the range and
// an ArrayList<float> of size one containing the probabilty
basePairs.put(score.getRanges().first(),
- new Float(score.getScores().get(0)));
+ Float.valueOf(score.getScores().get(0)));
}
for (int i = 0, ri = 0, iEnd = struct.length(); i < iEnd; i++, ri++)
import compbio.metadata.PresetManager;
import compbio.metadata.RunnerConfig;
-public class Jws2Instance
+public class Jws2Instance implements AutoCloseable
{
public String hosturl;
}
@Override
- protected void finalize() throws Throwable
+ public void close()
{
if (service != null)
{
// ignore
}
}
- super.finalize();
+ // super.finalize();
}
public ParamDatastoreI getParamStore()
*
*/
-public class HttpResultSet extends FileParse
+public class HttpResultSet extends FileParse implements AutoCloseable
{
private HttpRequestBase cachedRequest;
*/
public List<DataProvider> createResultDataProviders()
{
- List<DataProvider> dp = new ArrayList<DataProvider>();
+ List<DataProvider> dp = new ArrayList<>();
for (JvDataType type : restJob.rsd.getResultDataTypes())
{
dp.add(new SimpleDataProvider(type, this, null));
*/
public Object[] parseResultSet() throws Exception, Error
{
- List<DataProvider> dp = new ArrayList<DataProvider>();
+ List<DataProvider> dp = new ArrayList<>();
Object[] results = null;
if (en == null)
}
@Override
- protected void finalize() throws Throwable
+ public void close()
{
dataIn = null;
cachedRequest = null;
} catch (Error ex)
{
}
- super.finalize();
+ // no finalize for FileParse
+ // super.close();
}
/**
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.09.18 at 01:33:02 PM BST
+//
+
+
+package jalview.xml.binding.jalview;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <p>Java class for JalviewModelType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="JalviewModelType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="creationDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
+ * <element name="version" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="vamsasModel" type="{www.vamsas.ac.uk/jalview/version2}VAMSAS"/>
+ * <sequence>
+ * <element name="JSeq" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="pdbids" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{www.jalview.org}pdbentry">
+ * <sequence>
+ * <element name="structureState" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="secondaryStructure" maxOccurs="unbounded">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="JGroup" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
+ * <element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="Viewport" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
+ * <element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
+ * <attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * <attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="UserColours" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
+ * </sequence>
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="tree" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence minOccurs="0">
+ * <element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="FeatureSettings" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="setting" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
+ * <element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
+ * <attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="group" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "JalviewModelType", namespace = "www.jalview.org", propOrder = {
+ "creationDate",
+ "version",
+ "vamsasModel",
+ "jSeq",
+ "jGroup",
+ "viewport",
+ "userColours",
+ "tree",
+ "featureSettings"
+})
+public class JalviewModelType {
+
+ @XmlElement(required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar creationDate;
+ @XmlElement(required = true)
+ protected String version;
+ @XmlElement(required = true)
+ protected VAMSAS vamsasModel;
+ @XmlElement(name = "JSeq")
+ protected List<JalviewModelType.JSeq> jSeq;
+ @XmlElement(name = "JGroup")
+ protected List<JalviewModelType.JGroup> jGroup;
+ @XmlElement(name = "Viewport")
+ protected List<JalviewModelType.Viewport> viewport;
+ @XmlElement(name = "UserColours")
+ protected List<JalviewModelType.UserColours> userColours;
+ protected List<JalviewModelType.Tree> tree;
+ @XmlElement(name = "FeatureSettings")
+ protected JalviewModelType.FeatureSettings featureSettings;
+
+ /**
+ * Gets the value of the creationDate property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getCreationDate() {
+ return creationDate;
+ }
+
+ /**
+ * Sets the value of the creationDate property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setCreationDate(XMLGregorianCalendar value) {
+ this.creationDate = value;
+ }
+
+ /**
+ * Gets the value of the version property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * Sets the value of the version property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVersion(String value) {
+ this.version = value;
+ }
+
+ /**
+ * Gets the value of the vamsasModel property.
+ *
+ * @return
+ * possible object is
+ * {@link VAMSAS }
+ *
+ */
+ public VAMSAS getVamsasModel() {
+ return vamsasModel;
+ }
+
+ /**
+ * Sets the value of the vamsasModel property.
+ *
+ * @param value
+ * allowed object is
+ * {@link VAMSAS }
+ *
+ */
+ public void setVamsasModel(VAMSAS value) {
+ this.vamsasModel = value;
+ }
+
+ /**
+ * Gets the value of the jSeq property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the jSeq property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getJSeq().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.JSeq }
+ *
+ *
+ */
+ public List<JalviewModelType.JSeq> getJSeq() {
+ if (jSeq == null) {
+ jSeq = new ArrayList<JalviewModelType.JSeq>();
+ }
+ return this.jSeq;
+ }
+
+ /**
+ * Gets the value of the jGroup property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the jGroup property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getJGroup().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.JGroup }
+ *
+ *
+ */
+ public List<JalviewModelType.JGroup> getJGroup() {
+ if (jGroup == null) {
+ jGroup = new ArrayList<JalviewModelType.JGroup>();
+ }
+ return this.jGroup;
+ }
+
+ /**
+ * Gets the value of the viewport property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the viewport property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getViewport().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.Viewport }
+ *
+ *
+ */
+ public List<JalviewModelType.Viewport> getViewport() {
+ if (viewport == null) {
+ viewport = new ArrayList<JalviewModelType.Viewport>();
+ }
+ return this.viewport;
+ }
+
+ /**
+ * Gets the value of the userColours property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the userColours property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getUserColours().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.UserColours }
+ *
+ *
+ */
+ public List<JalviewModelType.UserColours> getUserColours() {
+ if (userColours == null) {
+ userColours = new ArrayList<JalviewModelType.UserColours>();
+ }
+ return this.userColours;
+ }
+
+ /**
+ * Gets the value of the tree property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the tree property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getTree().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.Tree }
+ *
+ *
+ */
+ public List<JalviewModelType.Tree> getTree() {
+ if (tree == null) {
+ tree = new ArrayList<JalviewModelType.Tree>();
+ }
+ return this.tree;
+ }
+
+ /**
+ * Gets the value of the featureSettings property.
+ *
+ * @return
+ * possible object is
+ * {@link JalviewModelType.FeatureSettings }
+ *
+ */
+ public JalviewModelType.FeatureSettings getFeatureSettings() {
+ return featureSettings;
+ }
+
+ /**
+ * Sets the value of the featureSettings property.
+ *
+ * @param value
+ * allowed object is
+ * {@link JalviewModelType.FeatureSettings }
+ *
+ */
+ public void setFeatureSettings(JalviewModelType.FeatureSettings value) {
+ this.featureSettings = value;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="setting" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
+ * <element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
+ * <attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="group" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "setting",
+ "group"
+ })
+ public static class FeatureSettings {
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModelType.FeatureSettings.Setting> setting;
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModelType.FeatureSettings.Group> group;
+
+ /**
+ * Gets the value of the setting property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the setting property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getSetting().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.FeatureSettings.Setting }
+ *
+ *
+ */
+ public List<JalviewModelType.FeatureSettings.Setting> getSetting() {
+ if (setting == null) {
+ setting = new ArrayList<JalviewModelType.FeatureSettings.Setting>();
+ }
+ return this.setting;
+ }
+
+ /**
+ * Gets the value of the group property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the group property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getGroup().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.FeatureSettings.Group }
+ *
+ *
+ */
+ public List<JalviewModelType.FeatureSettings.Group> getGroup() {
+ if (group == null) {
+ group = new ArrayList<JalviewModelType.FeatureSettings.Group>();
+ }
+ return this.group;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class Group {
+
+ @XmlAttribute(name = "name", required = true)
+ protected String name;
+ @XmlAttribute(name = "display", required = true)
+ protected boolean display;
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
+
+ /**
+ * Gets the value of the display property.
+ *
+ */
+ public boolean isDisplay() {
+ return display;
+ }
+
+ /**
+ * Sets the value of the display property.
+ *
+ */
+ public void setDisplay(boolean value) {
+ this.display = value;
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
+ * <element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
+ * <attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "attributeName",
+ "matcherSet"
+ })
+ public static class Setting {
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<String> attributeName;
+ @XmlElement(namespace = "www.jalview.org")
+ protected FeatureMatcherSet matcherSet;
+ @XmlAttribute(name = "type", required = true)
+ protected String type;
+ @XmlAttribute(name = "colour", required = true)
+ protected int colour;
+ @XmlAttribute(name = "display", required = true)
+ protected boolean display;
+ @XmlAttribute(name = "order")
+ protected Float order;
+ @XmlAttribute(name = "mincolour")
+ protected Integer mincolour;
+ @XmlAttribute(name = "noValueColour")
+ protected NoValueColour noValueColour;
+ @XmlAttribute(name = "threshold")
+ protected Float threshold;
+ @XmlAttribute(name = "threshstate")
+ protected Integer threshstate;
+ @XmlAttribute(name = "max")
+ protected Float max;
+ @XmlAttribute(name = "min")
+ protected Float min;
+ @XmlAttribute(name = "colourByLabel")
+ protected Boolean colourByLabel;
+ @XmlAttribute(name = "autoScale")
+ protected Boolean autoScale;
+
+ /**
+ * Gets the value of the attributeName property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the attributeName property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAttributeName().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getAttributeName() {
+ if (attributeName == null) {
+ attributeName = new ArrayList<String>();
+ }
+ return this.attributeName;
+ }
+
+ /**
+ * Gets the value of the matcherSet property.
+ *
+ * @return
+ * possible object is
+ * {@link FeatureMatcherSet }
+ *
+ */
+ public FeatureMatcherSet getMatcherSet() {
+ return matcherSet;
+ }
+
+ /**
+ * Sets the value of the matcherSet property.
+ *
+ * @param value
+ * allowed object is
+ * {@link FeatureMatcherSet }
+ *
+ */
+ public void setMatcherSet(FeatureMatcherSet value) {
+ this.matcherSet = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setType(String value) {
+ this.type = value;
+ }
+
+ /**
+ * Gets the value of the colour property.
+ *
+ */
+ public int getColour() {
+ return colour;
+ }
+
+ /**
+ * Sets the value of the colour property.
+ *
+ */
+ public void setColour(int value) {
+ this.colour = value;
+ }
+
+ /**
+ * Gets the value of the display property.
+ *
+ */
+ public boolean isDisplay() {
+ return display;
+ }
+
+ /**
+ * Sets the value of the display property.
+ *
+ */
+ public void setDisplay(boolean value) {
+ this.display = value;
+ }
+
+ /**
+ * Gets the value of the order property.
+ *
+ * @return
+ * possible object is
+ * {@link Float }
+ *
+ */
+ public Float getOrder() {
+ return order;
+ }
+
+ /**
+ * Sets the value of the order property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Float }
+ *
+ */
+ public void setOrder(Float value) {
+ this.order = value;
+ }
+
+ /**
+ * Gets the value of the mincolour property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getMincolour() {
+ return mincolour;
+ }
+
+ /**
+ * Sets the value of the mincolour property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setMincolour(Integer value) {
+ this.mincolour = value;
+ }
+
+ /**
+ * Gets the value of the noValueColour property.
+ *
+ * @return
+ * possible object is
+ * {@link NoValueColour }
+ *
+ */
+ public NoValueColour getNoValueColour() {
+ if (noValueColour == null) {
+ return NoValueColour.MIN;
+ } else {
+ return noValueColour;
+ }
+ }
+
+ /**
+ * Sets the value of the noValueColour property.
+ *
+ * @param value
+ * allowed object is
+ * {@link NoValueColour }
+ *
+ */
+ public void setNoValueColour(NoValueColour value) {
+ this.noValueColour = value;
+ }
+
+ /**
+ * Gets the value of the threshold property.
+ *
+ * @return
+ * possible object is
+ * {@link Float }
+ *
+ */
+ public Float getThreshold() {
+ return threshold;
+ }
+
+ /**
+ * Sets the value of the threshold property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Float }
+ *
+ */
+ public void setThreshold(Float value) {
+ this.threshold = value;
+ }
+
+ /**
+ * Gets the value of the threshstate property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getThreshstate() {
+ return threshstate;
+ }
+
+ /**
+ * Sets the value of the threshstate property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setThreshstate(Integer value) {
+ this.threshstate = value;
+ }
+
+ /**
+ * Gets the value of the max property.
+ *
+ * @return
+ * possible object is
+ * {@link Float }
+ *
+ */
+ public Float getMax() {
+ return max;
+ }
+
+ /**
+ * Sets the value of the max property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Float }
+ *
+ */
+ public void setMax(Float value) {
+ this.max = value;
+ }
+
+ /**
+ * Gets the value of the min property.
+ *
+ * @return
+ * possible object is
+ * {@link Float }
+ *
+ */
+ public Float getMin() {
+ return min;
+ }
+
+ /**
+ * Sets the value of the min property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Float }
+ *
+ */
+ public void setMin(Float value) {
+ this.min = value;
+ }
+
+ /**
+ * Gets the value of the colourByLabel property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isColourByLabel() {
+ return colourByLabel;
+ }
+
+ /**
+ * Sets the value of the colourByLabel property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setColourByLabel(Boolean value) {
+ this.colourByLabel = value;
+ }
+
+ /**
+ * Gets the value of the autoScale property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isAutoScale() {
+ return autoScale;
+ }
+
+ /**
+ * Sets the value of the autoScale property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setAutoScale(Boolean value) {
+ this.autoScale = value;
+ }
+
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
+ * <element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "seq",
+ "annotationColours"
+ })
+ public static class JGroup {
+
+ @XmlElement(namespace = "www.jalview.org", required = true)
+ protected List<String> seq;
+ @XmlElement(namespace = "www.jalview.org")
+ protected AnnotationColourScheme annotationColours;
+ @XmlAttribute(name = "start")
+ protected Integer start;
+ @XmlAttribute(name = "end")
+ protected Integer end;
+ @XmlAttribute(name = "name")
+ protected String name;
+ @XmlAttribute(name = "colour")
+ protected String colour;
+ @XmlAttribute(name = "consThreshold")
+ protected Integer consThreshold;
+ @XmlAttribute(name = "pidThreshold")
+ protected Integer pidThreshold;
+ @XmlAttribute(name = "outlineColour")
+ protected Integer outlineColour;
+ @XmlAttribute(name = "displayBoxes")
+ protected Boolean displayBoxes;
+ @XmlAttribute(name = "displayText")
+ protected Boolean displayText;
+ @XmlAttribute(name = "colourText")
+ protected Boolean colourText;
+ @XmlAttribute(name = "textCol1")
+ protected Integer textCol1;
+ @XmlAttribute(name = "textCol2")
+ protected Integer textCol2;
+ @XmlAttribute(name = "textColThreshold")
+ protected Integer textColThreshold;
+ @XmlAttribute(name = "showUnconserved")
+ protected Boolean showUnconserved;
+ @XmlAttribute(name = "ignoreGapsinConsensus")
+ protected Boolean ignoreGapsinConsensus;
+ @XmlAttribute(name = "showConsensusHistogram")
+ protected Boolean showConsensusHistogram;
+ @XmlAttribute(name = "showSequenceLogo")
+ protected Boolean showSequenceLogo;
+ @XmlAttribute(name = "normaliseSequenceLogo")
+ protected Boolean normaliseSequenceLogo;
+ @XmlAttribute(name = "id")
+ protected String id;
+
+ /**
+ * Gets the value of the seq property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the seq property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getSeq().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getSeq() {
+ if (seq == null) {
+ seq = new ArrayList<String>();
+ }
+ return this.seq;
+ }
+
+ /**
+ * Gets the value of the annotationColours property.
+ *
+ * @return
+ * possible object is
+ * {@link AnnotationColourScheme }
+ *
+ */
+ public AnnotationColourScheme getAnnotationColours() {
+ return annotationColours;
+ }
+
+ /**
+ * Sets the value of the annotationColours property.
+ *
+ * @param value
+ * allowed object is
+ * {@link AnnotationColourScheme }
+ *
+ */
+ public void setAnnotationColours(AnnotationColourScheme value) {
+ this.annotationColours = value;
+ }
+
+ /**
+ * Gets the value of the start property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getStart() {
+ return start;
+ }
+
+ /**
+ * Sets the value of the start property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setStart(Integer value) {
+ this.start = value;
+ }
+
+ /**
+ * Gets the value of the end property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getEnd() {
+ return end;
+ }
+
+ /**
+ * Sets the value of the end property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setEnd(Integer value) {
+ this.end = value;
+ }
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
+
+ /**
+ * Gets the value of the colour property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getColour() {
+ return colour;
+ }
+
+ /**
+ * Sets the value of the colour property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setColour(String value) {
+ this.colour = value;
+ }
+
+ /**
+ * Gets the value of the consThreshold property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getConsThreshold() {
+ return consThreshold;
+ }
+
+ /**
+ * Sets the value of the consThreshold property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setConsThreshold(Integer value) {
+ this.consThreshold = value;
+ }
+
+ /**
+ * Gets the value of the pidThreshold property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getPidThreshold() {
+ return pidThreshold;
+ }
+
+ /**
+ * Sets the value of the pidThreshold property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setPidThreshold(Integer value) {
+ this.pidThreshold = value;
+ }
+
+ /**
+ * Gets the value of the outlineColour property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getOutlineColour() {
+ return outlineColour;
+ }
+
+ /**
+ * Sets the value of the outlineColour property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setOutlineColour(Integer value) {
+ this.outlineColour = value;
+ }
+
+ /**
+ * Gets the value of the displayBoxes property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isDisplayBoxes() {
+ return displayBoxes;
+ }
+
+ /**
+ * Sets the value of the displayBoxes property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setDisplayBoxes(Boolean value) {
+ this.displayBoxes = value;
+ }
+
+ /**
+ * Gets the value of the displayText property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isDisplayText() {
+ return displayText;
+ }
+
+ /**
+ * Sets the value of the displayText property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setDisplayText(Boolean value) {
+ this.displayText = value;
+ }
+
+ /**
+ * Gets the value of the colourText property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isColourText() {
+ return colourText;
+ }
+
+ /**
+ * Sets the value of the colourText property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setColourText(Boolean value) {
+ this.colourText = value;
+ }
+
+ /**
+ * Gets the value of the textCol1 property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getTextCol1() {
+ return textCol1;
+ }
+
+ /**
+ * Sets the value of the textCol1 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setTextCol1(Integer value) {
+ this.textCol1 = value;
+ }
+
+ /**
+ * Gets the value of the textCol2 property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getTextCol2() {
+ return textCol2;
+ }
+
+ /**
+ * Sets the value of the textCol2 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setTextCol2(Integer value) {
+ this.textCol2 = value;
+ }
+
+ /**
+ * Gets the value of the textColThreshold property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getTextColThreshold() {
+ return textColThreshold;
+ }
+
+ /**
+ * Sets the value of the textColThreshold property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setTextColThreshold(Integer value) {
+ this.textColThreshold = value;
+ }
+
+ /**
+ * Gets the value of the showUnconserved property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isShowUnconserved() {
+ return showUnconserved;
+ }
+
+ /**
+ * Sets the value of the showUnconserved property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowUnconserved(Boolean value) {
+ this.showUnconserved = value;
+ }
+
+ /**
+ * Gets the value of the ignoreGapsinConsensus property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isIgnoreGapsinConsensus() {
+ if (ignoreGapsinConsensus == null) {
+ return true;
+ } else {
+ return ignoreGapsinConsensus;
+ }
+ }
+
+ /**
+ * Sets the value of the ignoreGapsinConsensus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setIgnoreGapsinConsensus(Boolean value) {
+ this.ignoreGapsinConsensus = value;
+ }
+
+ /**
+ * Gets the value of the showConsensusHistogram property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isShowConsensusHistogram() {
+ if (showConsensusHistogram == null) {
+ return true;
+ } else {
+ return showConsensusHistogram;
+ }
+ }
+
+ /**
+ * Sets the value of the showConsensusHistogram property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowConsensusHistogram(Boolean value) {
+ this.showConsensusHistogram = value;
+ }
+
+ /**
+ * Gets the value of the showSequenceLogo property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isShowSequenceLogo() {
+ if (showSequenceLogo == null) {
+ return false;
+ } else {
+ return showSequenceLogo;
+ }
+ }
+
+ /**
+ * Sets the value of the showSequenceLogo property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowSequenceLogo(Boolean value) {
+ this.showSequenceLogo = value;
+ }
+
+ /**
+ * Gets the value of the normaliseSequenceLogo property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isNormaliseSequenceLogo() {
+ if (normaliseSequenceLogo == null) {
+ return false;
+ } else {
+ return normaliseSequenceLogo;
+ }
+ }
+
+ /**
+ * Sets the value of the normaliseSequenceLogo property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setNormaliseSequenceLogo(Boolean value) {
+ this.normaliseSequenceLogo = value;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="pdbids" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{www.jalview.org}pdbentry">
+ * <sequence>
+ * <element name="structureState" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="secondaryStructure" maxOccurs="unbounded">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "features",
+ "pdbids",
+ "hiddenSequences",
+ "rnaViewer"
+ })
+ public static class JSeq {
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<Feature> features;
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModelType.JSeq.Pdbids> pdbids;
+ @XmlElement(namespace = "www.jalview.org", type = Integer.class)
+ protected List<Integer> hiddenSequences;
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModelType.JSeq.RnaViewer> rnaViewer;
+ @XmlAttribute(name = "colour")
+ protected Integer colour;
+ @XmlAttribute(name = "start", required = true)
+ protected int start;
+ @XmlAttribute(name = "end", required = true)
+ protected int end;
+ @XmlAttribute(name = "id", required = true)
+ protected String id;
+ @XmlAttribute(name = "hidden")
+ protected Boolean hidden;
+ @XmlAttribute(name = "viewreference")
+ protected Boolean viewreference;
+
+ /**
+ * Gets the value of the features property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the features property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getFeatures().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Feature }
+ *
+ *
+ */
+ public List<Feature> getFeatures() {
+ if (features == null) {
+ features = new ArrayList<Feature>();
+ }
+ return this.features;
+ }
+
+ /**
+ * Gets the value of the pdbids property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the pdbids property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPdbids().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.JSeq.Pdbids }
+ *
+ *
+ */
+ public List<JalviewModelType.JSeq.Pdbids> getPdbids() {
+ if (pdbids == null) {
+ pdbids = new ArrayList<JalviewModelType.JSeq.Pdbids>();
+ }
+ return this.pdbids;
+ }
+
+ /**
+ * Gets the value of the hiddenSequences property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the hiddenSequences property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getHiddenSequences().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Integer }
+ *
+ *
+ */
+ public List<Integer> getHiddenSequences() {
+ if (hiddenSequences == null) {
+ hiddenSequences = new ArrayList<Integer>();
+ }
+ return this.hiddenSequences;
+ }
+
+ /**
+ * Gets the value of the rnaViewer property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the rnaViewer property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getRnaViewer().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.JSeq.RnaViewer }
+ *
+ *
+ */
+ public List<JalviewModelType.JSeq.RnaViewer> getRnaViewer() {
+ if (rnaViewer == null) {
+ rnaViewer = new ArrayList<JalviewModelType.JSeq.RnaViewer>();
+ }
+ return this.rnaViewer;
+ }
+
+ /**
+ * Gets the value of the colour property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getColour() {
+ return colour;
+ }
+
+ /**
+ * Sets the value of the colour property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setColour(Integer value) {
+ this.colour = value;
+ }
+
+ /**
+ * Gets the value of the start property.
+ *
+ */
+ public int getStart() {
+ return start;
+ }
+
+ /**
+ * Sets the value of the start property.
+ *
+ */
+ public void setStart(int value) {
+ this.start = value;
+ }
+
+ /**
+ * Gets the value of the end property.
+ *
+ */
+ public int getEnd() {
+ return end;
+ }
+
+ /**
+ * Sets the value of the end property.
+ *
+ */
+ public void setEnd(int value) {
+ this.end = value;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the hidden property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isHidden() {
+ return hidden;
+ }
+
+ /**
+ * Sets the value of the hidden property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setHidden(Boolean value) {
+ this.hidden = value;
+ }
+
+ /**
+ * Gets the value of the viewreference property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isViewreference() {
+ return viewreference;
+ }
+
+ /**
+ * Sets the value of the viewreference property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setViewreference(Boolean value) {
+ this.viewreference = value;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <extension base="{www.jalview.org}pdbentry">
+ * <sequence>
+ * <element name="structureState" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "structureState"
+ })
+ public static class Pdbids
+ extends Pdbentry
+ {
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModelType.JSeq.Pdbids.StructureState> structureState;
+
+ /**
+ * Gets the value of the structureState property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the structureState property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getStructureState().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.JSeq.Pdbids.StructureState }
+ *
+ *
+ */
+ public List<JalviewModelType.JSeq.Pdbids.StructureState> getStructureState() {
+ if (structureState == null) {
+ structureState = new ArrayList<JalviewModelType.JSeq.Pdbids.StructureState>();
+ }
+ return this.structureState;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "value"
+ })
+ public static class StructureState {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "visible")
+ protected Boolean visible;
+ @XmlAttribute(name = "viewId")
+ protected String viewId;
+ @XmlAttribute(name = "alignwithAlignPanel")
+ protected Boolean alignwithAlignPanel;
+ @XmlAttribute(name = "colourwithAlignPanel")
+ protected Boolean colourwithAlignPanel;
+ @XmlAttribute(name = "colourByJmol")
+ protected Boolean colourByJmol;
+ @XmlAttribute(name = "type")
+ protected String type;
+ @XmlAttribute(name = "width")
+ protected Integer width;
+ @XmlAttribute(name = "height")
+ protected Integer height;
+ @XmlAttribute(name = "xpos")
+ protected Integer xpos;
+ @XmlAttribute(name = "ypos")
+ protected Integer ypos;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the visible property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isVisible() {
+ return visible;
+ }
+
+ /**
+ * Sets the value of the visible property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setVisible(Boolean value) {
+ this.visible = value;
+ }
+
+ /**
+ * Gets the value of the viewId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getViewId() {
+ return viewId;
+ }
+
+ /**
+ * Sets the value of the viewId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setViewId(String value) {
+ this.viewId = value;
+ }
+
+ /**
+ * Gets the value of the alignwithAlignPanel property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isAlignwithAlignPanel() {
+ if (alignwithAlignPanel == null) {
+ return true;
+ } else {
+ return alignwithAlignPanel;
+ }
+ }
+
+ /**
+ * Sets the value of the alignwithAlignPanel property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setAlignwithAlignPanel(Boolean value) {
+ this.alignwithAlignPanel = value;
+ }
+
+ /**
+ * Gets the value of the colourwithAlignPanel property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isColourwithAlignPanel() {
+ if (colourwithAlignPanel == null) {
+ return false;
+ } else {
+ return colourwithAlignPanel;
+ }
+ }
+
+ /**
+ * Sets the value of the colourwithAlignPanel property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setColourwithAlignPanel(Boolean value) {
+ this.colourwithAlignPanel = value;
+ }
+
+ /**
+ * Gets the value of the colourByJmol property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isColourByJmol() {
+ if (colourByJmol == null) {
+ return true;
+ } else {
+ return colourByJmol;
+ }
+ }
+
+ /**
+ * Sets the value of the colourByJmol property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setColourByJmol(Boolean value) {
+ this.colourByJmol = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setType(String value) {
+ this.type = value;
+ }
+
+ /**
+ * Gets the value of the width property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getWidth() {
+ return width;
+ }
+
+ /**
+ * Sets the value of the width property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setWidth(Integer value) {
+ this.width = value;
+ }
+
+ /**
+ * Gets the value of the height property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getHeight() {
+ return height;
+ }
+
+ /**
+ * Sets the value of the height property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setHeight(Integer value) {
+ this.height = value;
+ }
+
+ /**
+ * Gets the value of the xpos property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getXpos() {
+ return xpos;
+ }
+
+ /**
+ * Sets the value of the xpos property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setXpos(Integer value) {
+ this.xpos = value;
+ }
+
+ /**
+ * Gets the value of the ypos property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getYpos() {
+ return ypos;
+ }
+
+ /**
+ * Sets the value of the ypos property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setYpos(Integer value) {
+ this.ypos = value;
+ }
+
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="secondaryStructure" maxOccurs="unbounded">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "secondaryStructure"
+ })
+ public static class RnaViewer {
+
+ @XmlElement(namespace = "www.jalview.org", required = true)
+ protected List<JalviewModelType.JSeq.RnaViewer.SecondaryStructure> secondaryStructure;
+ @XmlAttribute(name = "title")
+ protected String title;
+ @XmlAttribute(name = "viewId")
+ protected String viewId;
+ @XmlAttribute(name = "dividerLocation")
+ protected Integer dividerLocation;
+ @XmlAttribute(name = "selectedRna")
+ protected Integer selectedRna;
+ @XmlAttribute(name = "width")
+ protected Integer width;
+ @XmlAttribute(name = "height")
+ protected Integer height;
+ @XmlAttribute(name = "xpos")
+ protected Integer xpos;
+ @XmlAttribute(name = "ypos")
+ protected Integer ypos;
+
+ /**
+ * Gets the value of the secondaryStructure property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the secondaryStructure property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getSecondaryStructure().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.JSeq.RnaViewer.SecondaryStructure }
+ *
+ *
+ */
+ public List<JalviewModelType.JSeq.RnaViewer.SecondaryStructure> getSecondaryStructure() {
+ if (secondaryStructure == null) {
+ secondaryStructure = new ArrayList<JalviewModelType.JSeq.RnaViewer.SecondaryStructure>();
+ }
+ return this.secondaryStructure;
+ }
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTitle(String value) {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the viewId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getViewId() {
+ return viewId;
+ }
+
+ /**
+ * Sets the value of the viewId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setViewId(String value) {
+ this.viewId = value;
+ }
+
+ /**
+ * Gets the value of the dividerLocation property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getDividerLocation() {
+ return dividerLocation;
+ }
+
+ /**
+ * Sets the value of the dividerLocation property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setDividerLocation(Integer value) {
+ this.dividerLocation = value;
+ }
+
+ /**
+ * Gets the value of the selectedRna property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getSelectedRna() {
+ return selectedRna;
+ }
+
+ /**
+ * Sets the value of the selectedRna property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setSelectedRna(Integer value) {
+ this.selectedRna = value;
+ }
+
+ /**
+ * Gets the value of the width property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getWidth() {
+ return width;
+ }
+
+ /**
+ * Sets the value of the width property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setWidth(Integer value) {
+ this.width = value;
+ }
+
+ /**
+ * Gets the value of the height property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getHeight() {
+ return height;
+ }
+
+ /**
+ * Sets the value of the height property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setHeight(Integer value) {
+ this.height = value;
+ }
+
+ /**
+ * Gets the value of the xpos property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getXpos() {
+ return xpos;
+ }
+
+ /**
+ * Sets the value of the xpos property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setXpos(Integer value) {
+ this.xpos = value;
+ }
+
+ /**
+ * Gets the value of the ypos property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getYpos() {
+ return ypos;
+ }
+
+ /**
+ * Sets the value of the ypos property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setYpos(Integer value) {
+ this.ypos = value;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class SecondaryStructure {
+
+ @XmlAttribute(name = "title")
+ protected String title;
+ @XmlAttribute(name = "annotationId", required = true)
+ protected String annotationId;
+ @XmlAttribute(name = "gapped")
+ protected Boolean gapped;
+ @XmlAttribute(name = "viewerState")
+ protected String viewerState;
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTitle(String value) {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the annotationId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotationId() {
+ return annotationId;
+ }
+
+ /**
+ * Sets the value of the annotationId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotationId(String value) {
+ this.annotationId = value;
+ }
+
+ /**
+ * Gets the value of the gapped property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isGapped() {
+ return gapped;
+ }
+
+ /**
+ * Sets the value of the gapped property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setGapped(Boolean value) {
+ this.gapped = value;
+ }
+
+ /**
+ * Gets the value of the viewerState property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getViewerState() {
+ return viewerState;
+ }
+
+ /**
+ * Sets the value of the viewerState property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setViewerState(String value) {
+ this.viewerState = value;
+ }
+
+ }
+
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence minOccurs="0">
+ * <element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "title",
+ "newick"
+ })
+ public static class Tree {
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected String title;
+ @XmlElement(namespace = "www.jalview.org")
+ protected String newick;
+ @XmlAttribute(name = "fontName")
+ protected String fontName;
+ @XmlAttribute(name = "fontSize")
+ protected Integer fontSize;
+ @XmlAttribute(name = "fontStyle")
+ protected Integer fontStyle;
+ @XmlAttribute(name = "threshold")
+ protected Float threshold;
+ @XmlAttribute(name = "showBootstrap")
+ protected Boolean showBootstrap;
+ @XmlAttribute(name = "showDistances")
+ protected Boolean showDistances;
+ @XmlAttribute(name = "markUnlinked")
+ protected Boolean markUnlinked;
+ @XmlAttribute(name = "fitToWindow")
+ protected Boolean fitToWindow;
+ @XmlAttribute(name = "currentTree")
+ protected Boolean currentTree;
+ @XmlAttribute(name = "id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
+ @XmlAttribute(name = "width")
+ protected Integer width;
+ @XmlAttribute(name = "height")
+ protected Integer height;
+ @XmlAttribute(name = "xpos")
+ protected Integer xpos;
+ @XmlAttribute(name = "ypos")
+ protected Integer ypos;
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTitle(String value) {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the newick property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNewick() {
+ return newick;
+ }
+
+ /**
+ * Sets the value of the newick property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNewick(String value) {
+ this.newick = value;
+ }
+
+ /**
+ * Gets the value of the fontName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getFontName() {
+ return fontName;
+ }
+
+ /**
+ * Sets the value of the fontName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setFontName(String value) {
+ this.fontName = value;
+ }
+
+ /**
+ * Gets the value of the fontSize property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getFontSize() {
+ return fontSize;
+ }
+
+ /**
+ * Sets the value of the fontSize property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setFontSize(Integer value) {
+ this.fontSize = value;
+ }
+
+ /**
+ * Gets the value of the fontStyle property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getFontStyle() {
+ return fontStyle;
+ }
+
+ /**
+ * Sets the value of the fontStyle property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setFontStyle(Integer value) {
+ this.fontStyle = value;
+ }
+
+ /**
+ * Gets the value of the threshold property.
+ *
+ * @return
+ * possible object is
+ * {@link Float }
+ *
+ */
+ public Float getThreshold() {
+ return threshold;
+ }
+
+ /**
+ * Sets the value of the threshold property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Float }
+ *
+ */
+ public void setThreshold(Float value) {
+ this.threshold = value;
+ }
+
+ /**
+ * Gets the value of the showBootstrap property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isShowBootstrap() {
+ return showBootstrap;
+ }
+
+ /**
+ * Sets the value of the showBootstrap property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowBootstrap(Boolean value) {
+ this.showBootstrap = value;
+ }
+
+ /**
+ * Gets the value of the showDistances property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isShowDistances() {
+ return showDistances;
+ }
+
+ /**
+ * Sets the value of the showDistances property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowDistances(Boolean value) {
+ this.showDistances = value;
+ }
+
+ /**
+ * Gets the value of the markUnlinked property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isMarkUnlinked() {
+ return markUnlinked;
+ }
+
+ /**
+ * Sets the value of the markUnlinked property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setMarkUnlinked(Boolean value) {
+ this.markUnlinked = value;
+ }
+
+ /**
+ * Gets the value of the fitToWindow property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isFitToWindow() {
+ return fitToWindow;
+ }
+
+ /**
+ * Sets the value of the fitToWindow property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setFitToWindow(Boolean value) {
+ this.fitToWindow = value;
+ }
+
+ /**
+ * Gets the value of the currentTree property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isCurrentTree() {
+ return currentTree;
+ }
+
+ /**
+ * Sets the value of the currentTree property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setCurrentTree(Boolean value) {
+ this.currentTree = value;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the width property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getWidth() {
+ return width;
+ }
+
+ /**
+ * Sets the value of the width property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setWidth(Integer value) {
+ this.width = value;
+ }
+
+ /**
+ * Gets the value of the height property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getHeight() {
+ return height;
+ }
+
+ /**
+ * Sets the value of the height property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setHeight(Integer value) {
+ this.height = value;
+ }
+
+ /**
+ * Gets the value of the xpos property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getXpos() {
+ return xpos;
+ }
+
+ /**
+ * Sets the value of the xpos property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setXpos(Integer value) {
+ this.xpos = value;
+ }
+
+ /**
+ * Gets the value of the ypos property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getYpos() {
+ return ypos;
+ }
+
+ /**
+ * Sets the value of the ypos property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setYpos(Integer value) {
+ this.ypos = value;
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
+ * </sequence>
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "userColourScheme"
+ })
+ public static class UserColours {
+
+ @XmlElement(name = "UserColourScheme", namespace = "www.jalview.org", required = true)
+ protected JalviewUserColours userColourScheme;
+ @XmlAttribute(name = "id")
+ protected String id;
+
+ /**
+ * Gets the value of the userColourScheme property.
+ *
+ * @return
+ * possible object is
+ * {@link JalviewUserColours }
+ *
+ */
+ public JalviewUserColours getUserColourScheme() {
+ return userColourScheme;
+ }
+
+ /**
+ * Sets the value of the userColourScheme property.
+ *
+ * @param value
+ * allowed object is
+ * {@link JalviewUserColours }
+ *
+ */
+ public void setUserColourScheme(JalviewUserColours value) {
+ this.userColourScheme = value;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
+ * <element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
+ * <attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * <attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "annotationColours",
+ "hiddenColumns",
+ "calcIdParam"
+ })
+ public static class Viewport {
+
+ @XmlElement(name = "AnnotationColours", namespace = "www.jalview.org")
+ protected AnnotationColourScheme annotationColours;
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModelType.Viewport.HiddenColumns> hiddenColumns;
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModelType.Viewport.CalcIdParam> calcIdParam;
+ @XmlAttribute(name = "conservationSelected")
+ protected Boolean conservationSelected;
+ @XmlAttribute(name = "pidSelected")
+ protected Boolean pidSelected;
+ @XmlAttribute(name = "bgColour")
+ protected String bgColour;
+ @XmlAttribute(name = "consThreshold")
+ protected Integer consThreshold;
+ @XmlAttribute(name = "pidThreshold")
+ protected Integer pidThreshold;
+ @XmlAttribute(name = "title")
+ protected String title;
+ @XmlAttribute(name = "showFullId")
+ protected Boolean showFullId;
+ @XmlAttribute(name = "rightAlignIds")
+ protected Boolean rightAlignIds;
+ @XmlAttribute(name = "showText")
+ protected Boolean showText;
+ @XmlAttribute(name = "showColourText")
+ protected Boolean showColourText;
+ @XmlAttribute(name = "showUnconserved")
+ protected Boolean showUnconserved;
+ @XmlAttribute(name = "showBoxes")
+ protected Boolean showBoxes;
+ @XmlAttribute(name = "wrapAlignment")
+ protected Boolean wrapAlignment;
+ @XmlAttribute(name = "renderGaps")
+ protected Boolean renderGaps;
+ @XmlAttribute(name = "showSequenceFeatures")
+ protected Boolean showSequenceFeatures;
+ @XmlAttribute(name = "showNPfeatureTooltip")
+ protected Boolean showNPfeatureTooltip;
+ @XmlAttribute(name = "showDbRefTooltip")
+ protected Boolean showDbRefTooltip;
+ @XmlAttribute(name = "followHighlight")
+ protected Boolean followHighlight;
+ @XmlAttribute(name = "followSelection")
+ protected Boolean followSelection;
+ @XmlAttribute(name = "showAnnotation")
+ protected Boolean showAnnotation;
+ @XmlAttribute(name = "centreColumnLabels")
+ protected Boolean centreColumnLabels;
+ @XmlAttribute(name = "showGroupConservation")
+ protected Boolean showGroupConservation;
+ @XmlAttribute(name = "showGroupConsensus")
+ protected Boolean showGroupConsensus;
+ @XmlAttribute(name = "showConsensusHistogram")
+ protected Boolean showConsensusHistogram;
+ @XmlAttribute(name = "showSequenceLogo")
+ protected Boolean showSequenceLogo;
+ @XmlAttribute(name = "normaliseSequenceLogo")
+ protected Boolean normaliseSequenceLogo;
+ @XmlAttribute(name = "ignoreGapsinConsensus")
+ protected Boolean ignoreGapsinConsensus;
+ @XmlAttribute(name = "startRes")
+ protected Integer startRes;
+ @XmlAttribute(name = "startSeq")
+ protected Integer startSeq;
+ @XmlAttribute(name = "fontName")
+ protected String fontName;
+ @XmlAttribute(name = "fontSize")
+ protected Integer fontSize;
+ @XmlAttribute(name = "fontStyle")
+ protected Integer fontStyle;
+ @XmlAttribute(name = "scaleProteinAsCdna")
+ protected Boolean scaleProteinAsCdna;
+ @XmlAttribute(name = "viewName")
+ protected String viewName;
+ @XmlAttribute(name = "sequenceSetId")
+ protected String sequenceSetId;
+ @XmlAttribute(name = "gatheredViews")
+ protected Boolean gatheredViews;
+ @XmlAttribute(name = "textCol1")
+ protected Integer textCol1;
+ @XmlAttribute(name = "textCol2")
+ protected Integer textCol2;
+ @XmlAttribute(name = "textColThreshold")
+ protected Integer textColThreshold;
+ @XmlAttribute(name = "id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
+ @XmlAttribute(name = "complementId")
+ protected String complementId;
+ @XmlAttribute(name = "width")
+ protected Integer width;
+ @XmlAttribute(name = "height")
+ protected Integer height;
+ @XmlAttribute(name = "xpos")
+ protected Integer xpos;
+ @XmlAttribute(name = "ypos")
+ protected Integer ypos;
+
+ /**
+ * Gets the value of the annotationColours property.
+ *
+ * @return
+ * possible object is
+ * {@link AnnotationColourScheme }
+ *
+ */
+ public AnnotationColourScheme getAnnotationColours() {
+ return annotationColours;
+ }
+
+ /**
+ * Sets the value of the annotationColours property.
+ *
+ * @param value
+ * allowed object is
+ * {@link AnnotationColourScheme }
+ *
+ */
+ public void setAnnotationColours(AnnotationColourScheme value) {
+ this.annotationColours = value;
+ }
+
+ /**
+ * Gets the value of the hiddenColumns property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the hiddenColumns property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getHiddenColumns().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.Viewport.HiddenColumns }
+ *
+ *
+ */
+ public List<JalviewModelType.Viewport.HiddenColumns> getHiddenColumns() {
+ if (hiddenColumns == null) {
+ hiddenColumns = new ArrayList<JalviewModelType.Viewport.HiddenColumns>();
+ }
+ return this.hiddenColumns;
+ }
+
+ /**
+ * Gets the value of the calcIdParam property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the calcIdParam property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getCalcIdParam().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModelType.Viewport.CalcIdParam }
+ *
+ *
+ */
+ public List<JalviewModelType.Viewport.CalcIdParam> getCalcIdParam() {
+ if (calcIdParam == null) {
+ calcIdParam = new ArrayList<JalviewModelType.Viewport.CalcIdParam>();
+ }
+ return this.calcIdParam;
+ }
+
+ /**
+ * Gets the value of the conservationSelected property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isConservationSelected() {
+ return conservationSelected;
+ }
+
+ /**
+ * Sets the value of the conservationSelected property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setConservationSelected(Boolean value) {
+ this.conservationSelected = value;
+ }
+
+ /**
+ * Gets the value of the pidSelected property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isPidSelected() {
+ return pidSelected;
+ }
+
+ /**
+ * Sets the value of the pidSelected property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setPidSelected(Boolean value) {
+ this.pidSelected = value;
+ }
+
+ /**
+ * Gets the value of the bgColour property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getBgColour() {
+ return bgColour;
+ }
+
+ /**
+ * Sets the value of the bgColour property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setBgColour(String value) {
+ this.bgColour = value;
+ }
+
+ /**
+ * Gets the value of the consThreshold property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getConsThreshold() {
+ return consThreshold;
+ }
+
+ /**
+ * Sets the value of the consThreshold property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setConsThreshold(Integer value) {
+ this.consThreshold = value;
+ }
+
+ /**
+ * Gets the value of the pidThreshold property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getPidThreshold() {
+ return pidThreshold;
+ }
+
+ /**
+ * Sets the value of the pidThreshold property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setPidThreshold(Integer value) {
+ this.pidThreshold = value;
+ }
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTitle(String value) {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the showFullId property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isShowFullId() {
+ return showFullId;
+ }
+
+ /**
+ * Sets the value of the showFullId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowFullId(Boolean value) {
+ this.showFullId = value;
+ }
+
+ /**
+ * Gets the value of the rightAlignIds property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isRightAlignIds() {
+ return rightAlignIds;
+ }
+
+ /**
+ * Sets the value of the rightAlignIds property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setRightAlignIds(Boolean value) {
+ this.rightAlignIds = value;
+ }
+
+ /**
+ * Gets the value of the showText property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isShowText() {
+ return showText;
+ }
+
+ /**
+ * Sets the value of the showText property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowText(Boolean value) {
+ this.showText = value;
+ }
+
+ /**
+ * Gets the value of the showColourText property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isShowColourText() {
+ return showColourText;
+ }
+
+ /**
+ * Sets the value of the showColourText property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowColourText(Boolean value) {
+ this.showColourText = value;
+ }
+
+ /**
+ * Gets the value of the showUnconserved property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isShowUnconserved() {
+ if (showUnconserved == null) {
+ return false;
+ } else {
+ return showUnconserved;
+ }
+ }
+
+ /**
+ * Sets the value of the showUnconserved property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowUnconserved(Boolean value) {
+ this.showUnconserved = value;
+ }
+
+ /**
+ * Gets the value of the showBoxes property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isShowBoxes() {
+ return showBoxes;
+ }
+
+ /**
+ * Sets the value of the showBoxes property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowBoxes(Boolean value) {
+ this.showBoxes = value;
+ }
+
+ /**
+ * Gets the value of the wrapAlignment property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isWrapAlignment() {
+ return wrapAlignment;
+ }
+
+ /**
+ * Sets the value of the wrapAlignment property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setWrapAlignment(Boolean value) {
+ this.wrapAlignment = value;
+ }
+
+ /**
+ * Gets the value of the renderGaps property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isRenderGaps() {
+ return renderGaps;
+ }
+
+ /**
+ * Sets the value of the renderGaps property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setRenderGaps(Boolean value) {
+ this.renderGaps = value;
+ }
+
+ /**
+ * Gets the value of the showSequenceFeatures property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isShowSequenceFeatures() {
+ return showSequenceFeatures;
+ }
+
+ /**
+ * Sets the value of the showSequenceFeatures property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowSequenceFeatures(Boolean value) {
+ this.showSequenceFeatures = value;
+ }
+
+ /**
+ * Gets the value of the showNPfeatureTooltip property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isShowNPfeatureTooltip() {
+ return showNPfeatureTooltip;
+ }
+
+ /**
+ * Sets the value of the showNPfeatureTooltip property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowNPfeatureTooltip(Boolean value) {
+ this.showNPfeatureTooltip = value;
+ }
+
+ /**
+ * Gets the value of the showDbRefTooltip property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isShowDbRefTooltip() {
+ return showDbRefTooltip;
+ }
+
+ /**
+ * Sets the value of the showDbRefTooltip property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowDbRefTooltip(Boolean value) {
+ this.showDbRefTooltip = value;
+ }
+
+ /**
+ * Gets the value of the followHighlight property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isFollowHighlight() {
+ if (followHighlight == null) {
+ return true;
+ } else {
+ return followHighlight;
+ }
+ }
+
+ /**
+ * Sets the value of the followHighlight property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setFollowHighlight(Boolean value) {
+ this.followHighlight = value;
+ }
+
+ /**
+ * Gets the value of the followSelection property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isFollowSelection() {
+ if (followSelection == null) {
+ return true;
+ } else {
+ return followSelection;
+ }
+ }
+
+ /**
+ * Sets the value of the followSelection property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setFollowSelection(Boolean value) {
+ this.followSelection = value;
+ }
+
+ /**
+ * Gets the value of the showAnnotation property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isShowAnnotation() {
+ return showAnnotation;
+ }
+
+ /**
+ * Sets the value of the showAnnotation property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowAnnotation(Boolean value) {
+ this.showAnnotation = value;
+ }
+
+ /**
+ * Gets the value of the centreColumnLabels property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isCentreColumnLabels() {
+ if (centreColumnLabels == null) {
+ return false;
+ } else {
+ return centreColumnLabels;
+ }
+ }
+
+ /**
+ * Sets the value of the centreColumnLabels property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setCentreColumnLabels(Boolean value) {
+ this.centreColumnLabels = value;
+ }
+
+ /**
+ * Gets the value of the showGroupConservation property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isShowGroupConservation() {
+ if (showGroupConservation == null) {
+ return false;
+ } else {
+ return showGroupConservation;
+ }
+ }
+
+ /**
+ * Sets the value of the showGroupConservation property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowGroupConservation(Boolean value) {
+ this.showGroupConservation = value;
+ }
+
+ /**
+ * Gets the value of the showGroupConsensus property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isShowGroupConsensus() {
+ if (showGroupConsensus == null) {
+ return false;
+ } else {
+ return showGroupConsensus;
+ }
+ }
+
+ /**
+ * Sets the value of the showGroupConsensus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowGroupConsensus(Boolean value) {
+ this.showGroupConsensus = value;
+ }
+
+ /**
+ * Gets the value of the showConsensusHistogram property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isShowConsensusHistogram() {
+ if (showConsensusHistogram == null) {
+ return true;
+ } else {
+ return showConsensusHistogram;
+ }
+ }
+
+ /**
+ * Sets the value of the showConsensusHistogram property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowConsensusHistogram(Boolean value) {
+ this.showConsensusHistogram = value;
+ }
+
+ /**
+ * Gets the value of the showSequenceLogo property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isShowSequenceLogo() {
+ if (showSequenceLogo == null) {
+ return false;
+ } else {
+ return showSequenceLogo;
+ }
+ }
+
+ /**
+ * Sets the value of the showSequenceLogo property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setShowSequenceLogo(Boolean value) {
+ this.showSequenceLogo = value;
+ }
+
+ /**
+ * Gets the value of the normaliseSequenceLogo property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isNormaliseSequenceLogo() {
+ if (normaliseSequenceLogo == null) {
+ return false;
+ } else {
+ return normaliseSequenceLogo;
+ }
+ }
+
+ /**
+ * Sets the value of the normaliseSequenceLogo property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setNormaliseSequenceLogo(Boolean value) {
+ this.normaliseSequenceLogo = value;
+ }
+
+ /**
+ * Gets the value of the ignoreGapsinConsensus property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isIgnoreGapsinConsensus() {
+ if (ignoreGapsinConsensus == null) {
+ return true;
+ } else {
+ return ignoreGapsinConsensus;
+ }
+ }
+
+ /**
+ * Sets the value of the ignoreGapsinConsensus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setIgnoreGapsinConsensus(Boolean value) {
+ this.ignoreGapsinConsensus = value;
+ }
+
+ /**
+ * Gets the value of the startRes property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getStartRes() {
+ return startRes;
+ }
+
+ /**
+ * Sets the value of the startRes property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setStartRes(Integer value) {
+ this.startRes = value;
+ }
+
+ /**
+ * Gets the value of the startSeq property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getStartSeq() {
+ return startSeq;
+ }
+
+ /**
+ * Sets the value of the startSeq property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setStartSeq(Integer value) {
+ this.startSeq = value;
+ }
+
+ /**
+ * Gets the value of the fontName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getFontName() {
+ return fontName;
+ }
+
+ /**
+ * Sets the value of the fontName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setFontName(String value) {
+ this.fontName = value;
+ }
+
+ /**
+ * Gets the value of the fontSize property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getFontSize() {
+ return fontSize;
+ }
+
+ /**
+ * Sets the value of the fontSize property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setFontSize(Integer value) {
+ this.fontSize = value;
+ }
+
+ /**
+ * Gets the value of the fontStyle property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getFontStyle() {
+ return fontStyle;
+ }
+
+ /**
+ * Sets the value of the fontStyle property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setFontStyle(Integer value) {
+ this.fontStyle = value;
+ }
+
+ /**
+ * Gets the value of the scaleProteinAsCdna property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isScaleProteinAsCdna() {
+ if (scaleProteinAsCdna == null) {
+ return true;
+ } else {
+ return scaleProteinAsCdna;
+ }
+ }
+
+ /**
+ * Sets the value of the scaleProteinAsCdna property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setScaleProteinAsCdna(Boolean value) {
+ this.scaleProteinAsCdna = value;
+ }
+
+ /**
+ * Gets the value of the viewName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getViewName() {
+ return viewName;
+ }
+
+ /**
+ * Sets the value of the viewName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setViewName(String value) {
+ this.viewName = value;
+ }
+
+ /**
+ * Gets the value of the sequenceSetId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSequenceSetId() {
+ return sequenceSetId;
+ }
+
+ /**
+ * Sets the value of the sequenceSetId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSequenceSetId(String value) {
+ this.sequenceSetId = value;
+ }
+
+ /**
+ * Gets the value of the gatheredViews property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isGatheredViews() {
+ return gatheredViews;
+ }
+
+ /**
+ * Sets the value of the gatheredViews property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setGatheredViews(Boolean value) {
+ this.gatheredViews = value;
+ }
+
+ /**
+ * Gets the value of the textCol1 property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getTextCol1() {
+ return textCol1;
+ }
+
+ /**
+ * Sets the value of the textCol1 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setTextCol1(Integer value) {
+ this.textCol1 = value;
+ }
+
+ /**
+ * Gets the value of the textCol2 property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getTextCol2() {
+ return textCol2;
+ }
+
+ /**
+ * Sets the value of the textCol2 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setTextCol2(Integer value) {
+ this.textCol2 = value;
+ }
+
+ /**
+ * Gets the value of the textColThreshold property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getTextColThreshold() {
+ return textColThreshold;
+ }
+
+ /**
+ * Sets the value of the textColThreshold property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setTextColThreshold(Integer value) {
+ this.textColThreshold = value;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the complementId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getComplementId() {
+ return complementId;
+ }
+
+ /**
+ * Sets the value of the complementId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setComplementId(String value) {
+ this.complementId = value;
+ }
+
+ /**
+ * Gets the value of the width property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getWidth() {
+ return width;
+ }
+
+ /**
+ * Sets the value of the width property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setWidth(Integer value) {
+ this.width = value;
+ }
+
+ /**
+ * Gets the value of the height property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getHeight() {
+ return height;
+ }
+
+ /**
+ * Sets the value of the height property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setHeight(Integer value) {
+ this.height = value;
+ }
+
+ /**
+ * Gets the value of the xpos property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getXpos() {
+ return xpos;
+ }
+
+ /**
+ * Sets the value of the xpos property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setXpos(Integer value) {
+ this.xpos = value;
+ }
+
+ /**
+ * Gets the value of the ypos property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getYpos() {
+ return ypos;
+ }
+
+ /**
+ * Sets the value of the ypos property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setYpos(Integer value) {
+ this.ypos = value;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
+ * <attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class CalcIdParam
+ extends WebServiceParameterSet
+ {
+
+ @XmlAttribute(name = "calcId", required = true)
+ protected String calcId;
+ @XmlAttribute(name = "needsUpdate")
+ protected Boolean needsUpdate;
+ @XmlAttribute(name = "autoUpdate", required = true)
+ protected boolean autoUpdate;
+
+ /**
+ * Gets the value of the calcId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCalcId() {
+ return calcId;
+ }
+
+ /**
+ * Sets the value of the calcId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCalcId(String value) {
+ this.calcId = value;
+ }
+
+ /**
+ * Gets the value of the needsUpdate property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isNeedsUpdate() {
+ if (needsUpdate == null) {
+ return false;
+ } else {
+ return needsUpdate;
+ }
+ }
+
+ /**
+ * Sets the value of the needsUpdate property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setNeedsUpdate(Boolean value) {
+ this.needsUpdate = value;
+ }
+
+ /**
+ * Gets the value of the autoUpdate property.
+ *
+ */
+ public boolean isAutoUpdate() {
+ return autoUpdate;
+ }
+
+ /**
+ * Sets the value of the autoUpdate property.
+ *
+ */
+ public void setAutoUpdate(boolean value) {
+ this.autoUpdate = value;
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class HiddenColumns {
+
+ @XmlAttribute(name = "start")
+ protected Integer start;
+ @XmlAttribute(name = "end")
+ protected Integer end;
+
+ /**
+ * Gets the value of the start property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getStart() {
+ return start;
+ }
+
+ /**
+ * Sets the value of the start property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setStart(Integer value) {
+ this.start = value;
+ }
+
+ /**
+ * Gets the value of the end property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getEnd() {
+ return end;
+ }
+
+ /**
+ * Sets the value of the end property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setEnd(Integer value) {
+ this.end = value;
+ }
+
+ }
+
+ }
+
+}
*
*/
public class EpsGraphics2D extends java.awt.Graphics2D
+ implements AutoCloseable
{
public static final String VERSION = "0.8.8";
* OutputStream is automatically flushed before being closed. If you forget to
* do this, the file may be incomplete.
*/
+ @Override
public void close() throws IOException
{
flush();
* Draws a 3D rectangle outline. If it is raised, light appears to come from
* the top left.
*/
+ @Override
public void draw3DRect(int x, int y, int width, int height, boolean raised)
{
Color originalColor = getColor();
* Fills a 3D rectangle. If raised, it has bright fill and light appears to
* come from the top left.
*/
+ @Override
public void fill3DRect(int x, int y, int width, int height, boolean raised)
{
Color originalColor = getColor();
/**
* Draws a Shape on the EPS document.
*/
+ @Override
public void draw(Shape s)
{
draw(s, "stroke");
/**
* Draws an Image on the EPS document.
*/
+ @Override
public boolean drawImage(Image img, AffineTransform xform,
ImageObserver obs)
{
/**
* Draws a BufferedImage on the EPS document.
*/
+ @Override
public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y)
{
BufferedImage img1 = op.filter(img, null);
/**
* Draws a RenderedImage on the EPS document.
*/
+ @Override
public void drawRenderedImage(RenderedImage img, AffineTransform xform)
{
Hashtable properties = new Hashtable();
/**
* Draws a RenderableImage by invoking its createDefaultRendering method.
*/
+ @Override
public void drawRenderableImage(RenderableImage img, AffineTransform xform)
{
drawRenderedImage(img.createDefaultRendering(), xform);
/**
* Draws a string at (x,y)
*/
+ @Override
public void drawString(String str, int x, int y)
{
drawString(str, (float) x, (float) y);
/**
* Draws a string at (x,y)
*/
+ @Override
public void drawString(String s, float x, float y)
{
if (s != null && s.length() > 0)
* Draws the characters of an AttributedCharacterIterator, starting from
* (x,y).
*/
+ @Override
public void drawString(AttributedCharacterIterator iterator, int x, int y)
{
drawString(iterator, (float) x, (float) y);
* Draws the characters of an AttributedCharacterIterator, starting from
* (x,y).
*/
+ @Override
public void drawString(AttributedCharacterIterator iterator, float x,
float y)
{
/**
* Draws a GlyphVector at (x,y)
*/
+ @Override
public void drawGlyphVector(GlyphVector g, float x, float y)
{
Shape shape = g.getOutline(x, y);
/**
* Fills a Shape on the EPS document.
*/
+ @Override
public void fill(Shape s)
{
draw(s, "fill");
* Checks whether or not the specified Shape intersects the specified
* Rectangle, which is in device space.
*/
+ @Override
public boolean hit(Rectangle rect, Shape s, boolean onStroke)
{
return s.intersects(rect);
/**
* Returns the device configuration associated with this EpsGraphics2D object.
*/
+ @Override
public GraphicsConfiguration getDeviceConfiguration()
{
GraphicsConfiguration gc = null;
* Sets the Composite to be used by this EpsGraphics2D. EpsGraphics2D does not
* make use of these.
*/
+ @Override
public void setComposite(Composite comp)
{
_composite = comp;
* Sets the Paint attribute for the EpsGraphics2D object. Only Paint objects
* of type Color are respected by EpsGraphics2D.
*/
+ @Override
public void setPaint(Paint paint)
{
_paint = paint;
* Sets the stroke. Only accepts BasicStroke objects (or subclasses of
* BasicStroke).
*/
+ @Override
public void setStroke(Stroke s)
{
if (s instanceof BasicStroke)
/**
* Sets a rendering hint. These are not used by EpsGraphics2D.
*/
+ @Override
public void setRenderingHint(RenderingHints.Key hintKey, Object hintValue)
{
// Do nothing.
* Returns the value of a single preference for the rendering algorithms.
* Rendering hints are not used by EpsGraphics2D.
*/
+ @Override
public Object getRenderingHint(RenderingHints.Key hintKey)
{
return null;
/**
* Sets the rendering hints. These are ignored by EpsGraphics2D.
*/
+ @Override
public void setRenderingHints(Map hints)
{
// Do nothing.
/**
* Adds rendering hints. These are ignored by EpsGraphics2D.
*/
+ @Override
public void addRenderingHints(Map hints)
{
// Do nothing.
/**
* Returns the preferences for the rendering algorithms.
*/
+ @Override
public RenderingHints getRenderingHints()
{
return new RenderingHints(null);
* Translates the origin of the EpsGraphics2D context to the point (x,y) in
* the current coordinate system.
*/
+ @Override
public void translate(int x, int y)
{
translate((double) x, (double) y);
* Concatenates the current EpsGraphics2D Transformation with a translation
* transform.
*/
+ @Override
public void translate(double tx, double ty)
{
transform(AffineTransform.getTranslateInstance(tx, ty));
/**
* Concatenates the current EpsGraphics2D Transform with a rotation transform.
*/
+ @Override
public void rotate(double theta)
{
rotate(theta, 0, 0);
* Concatenates the current EpsGraphics2D Transform with a translated rotation
* transform.
*/
+ @Override
public void rotate(double theta, double x, double y)
{
transform(AffineTransform.getRotateInstance(theta, x, y));
* Concatenates the current EpsGraphics2D Transform with a scaling
* transformation.
*/
+ @Override
public void scale(double sx, double sy)
{
transform(AffineTransform.getScaleInstance(sx, sy));
/**
* Concatenates the current EpsGraphics2D Transform with a shearing transform.
*/
+ @Override
public void shear(double shx, double shy)
{
transform(AffineTransform.getShearInstance(shx, shy));
* Composes an AffineTransform object with the Transform in this EpsGraphics2D
* according to the rule last-specified-first-applied.
*/
+ @Override
public void transform(AffineTransform Tx)
{
_transform.concatenate(Tx);
/**
* Sets the AffineTransform to be used by this EpsGraphics2D.
*/
+ @Override
public void setTransform(AffineTransform Tx)
{
if (Tx == null)
/**
* Gets the AffineTransform used by this EpsGraphics2D.
*/
+ @Override
public AffineTransform getTransform()
{
return new AffineTransform(_transform);
/**
* Returns the current Paint of the EpsGraphics2D object.
*/
+ @Override
public Paint getPaint()
{
return _paint;
/**
* returns the current Composite of the EpsGraphics2D object.
*/
+ @Override
public Composite getComposite()
{
return _composite;
/**
* Sets the background color to be used by the clearRect method.
*/
+ @Override
public void setBackground(Color color)
{
if (color == null)
/**
* Gets the background color that is used by the clearRect method.
*/
+ @Override
public Color getBackground()
{
return _backgroundColor;
* Returns the Stroke currently used. Guaranteed to be an instance of
* BasicStroke.
*/
+ @Override
public Stroke getStroke()
{
return _stroke;
* Intersects the current clip with the interior of the specified Shape and
* sets the clip to the resulting intersection.
*/
+ @Override
public void clip(Shape s)
{
if (_clip == null)
/**
* Returns the FontRenderContext.
*/
+ @Override
public FontRenderContext getFontRenderContext()
{
return _fontRenderContext;
/**
* Returns a new Graphics object that is identical to this EpsGraphics2D.
*/
+ @Override
public Graphics create()
{
return new EpsGraphics2D(this);
* Returns an EpsGraphics2D object based on this Graphics object, but with a
* new translation and clip area.
*/
+ @Override
public Graphics create(int x, int y, int width, int height)
{
Graphics g = create();
* Returns the current Color. This will be a default value (black) until it is
* changed using the setColor method.
*/
+ @Override
public Color getColor()
{
return _color;
/**
* Sets the Color to be used when drawing all future shapes, text, etc.
*/
+ @Override
public void setColor(Color c)
{
if (c == null)
* Sets the paint mode of this EpsGraphics2D object to overwrite the
* destination EpsDocument with the current color.
*/
+ @Override
public void setPaintMode()
{
// Do nothing - paint mode is the only method supported anyway.
* <b><i><font color="red">Not implemented</font></i></b> - performs no
* action.
*/
+ @Override
public void setXORMode(Color c1)
{
methodNotSupported();
/**
* Returns the Font currently being used.
*/
+ @Override
public Font getFont()
{
return _font;
/**
* Sets the Font to be used in future text.
*/
+ @Override
public void setFont(Font font)
{
if (font == null)
font = Font.decode(null);
}
_font = font;
- append("/" + _font.getPSName() + " findfont " + ((int) _font.getSize())
+ append("/" + _font.getPSName() + " findfont " + (_font.getSize())
+ " scalefont setfont");
}
/**
* Gets the font metrics of the current font.
*/
+ @Override
public FontMetrics getFontMetrics()
{
return getFontMetrics(getFont());
/**
* Gets the font metrics for the specified font.
*/
+ @Override
public FontMetrics getFontMetrics(Font f)
{
BufferedImage image = new BufferedImage(1, 1,
/**
* Returns the bounding rectangle of the current clipping area.
*/
+ @Override
public Rectangle getClipBounds()
{
if (_clip == null)
/**
* Intersects the current clip with the specified rectangle.
*/
+ @Override
public void clipRect(int x, int y, int width, int height)
{
clip(new Rectangle(x, y, width, height));
/**
* Sets the current clip to the rectangle specified by the given coordinates.
*/
+ @Override
public void setClip(int x, int y, int width, int height)
{
setClip(new Rectangle(x, y, width, height));
/**
* Gets the current clipping area.
*/
+ @Override
public Shape getClip()
{
if (_clip == null)
/**
* Sets the current clipping area to an arbitrary clip shape.
*/
+ @Override
public void setClip(Shape clip)
{
if (clip != null)
* <b><i><font color="red">Not implemented</font></i></b> - performs no
* action.
*/
+ @Override
public void copyArea(int x, int y, int width, int height, int dx, int dy)
{
methodNotSupported();
/**
* Draws a straight line from (x1,y1) to (x2,y2).
*/
+ @Override
public void drawLine(int x1, int y1, int x2, int y2)
{
Shape shape = new Line2D.Float(x1, y1, x2, y2);
/**
* Fills a rectangle with top-left corner placed at (x,y).
*/
+ @Override
public void fillRect(int x, int y, int width, int height)
{
Shape shape = new Rectangle(x, y, width, height);
/**
* Draws a rectangle with top-left corner placed at (x,y).
*/
+ @Override
public void drawRect(int x, int y, int width, int height)
{
Shape shape = new Rectangle(x, y, width, height);
* Clears a rectangle with top-left corner placed at (x,y) using the current
* background color.
*/
+ @Override
public void clearRect(int x, int y, int width, int height)
{
Color originalColor = getColor();
/**
* Draws a rounded rectangle.
*/
+ @Override
public void drawRoundRect(int x, int y, int width, int height,
int arcWidth, int arcHeight)
{
/**
* Fills a rounded rectangle.
*/
+ @Override
public void fillRoundRect(int x, int y, int width, int height,
int arcWidth, int arcHeight)
{
/**
* Draws an oval.
*/
+ @Override
public void drawOval(int x, int y, int width, int height)
{
Shape shape = new Ellipse2D.Float(x, y, width, height);
/**
* Fills an oval.
*/
+ @Override
public void fillOval(int x, int y, int width, int height)
{
Shape shape = new Ellipse2D.Float(x, y, width, height);
/**
* Draws an arc.
*/
+ @Override
public void drawArc(int x, int y, int width, int height, int startAngle,
int arcAngle)
{
/**
* Fills an arc.
*/
+ @Override
public void fillArc(int x, int y, int width, int height, int startAngle,
int arcAngle)
{
/**
* Draws a polyline.
*/
+ @Override
public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
{
if (nPoints > 0)
/**
* Draws a polygon made with the specified points.
*/
+ @Override
public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
{
Shape shape = new Polygon(xPoints, yPoints, nPoints);
/**
* Draws a polygon.
*/
+ @Override
public void drawPolygon(Polygon p)
{
draw(p);
/**
* Fills a polygon made with the specified points.
*/
+ @Override
public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
{
Shape shape = new Polygon(xPoints, yPoints, nPoints);
/**
* Fills a polygon.
*/
+ @Override
public void fillPolygon(Polygon p)
{
draw(p, "fill");
/**
* Draws the specified characters, starting from (x,y)
*/
+ @Override
public void drawChars(char[] data, int offset, int length, int x, int y)
{
String string = new String(data, offset, length);
/**
* Draws the specified bytes, starting from (x,y)
*/
+ @Override
public void drawBytes(byte[] data, int offset, int length, int x, int y)
{
String string = new String(data, offset, length);
/**
* Draws an image.
*/
+ @Override
public boolean drawImage(Image img, int x, int y, ImageObserver observer)
{
return drawImage(img, x, y, Color.white, observer);
/**
* Draws an image.
*/
+ @Override
public boolean drawImage(Image img, int x, int y, int width, int height,
ImageObserver observer)
{
/**
* Draws an image.
*/
+ @Override
public boolean drawImage(Image img, int x, int y, Color bgcolor,
ImageObserver observer)
{
/**
* Draws an image.
*/
+ @Override
public boolean drawImage(Image img, int x, int y, int width, int height,
Color bgcolor, ImageObserver observer)
{
/**
* Draws an image.
*/
+ @Override
public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2,
int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
{
/**
* Draws an image.
*/
+ @Override
public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2,
int sx1, int sy1, int sx2, int sy2, Color bgcolor,
ImageObserver observer)
* only remaining EpsGraphics2D instance pointing at a EpsDocument object,
* then the EpsDocument object shall become eligible for garbage collection.
*/
+ @Override
public void dispose()
{
_document = null;
}
+ /* bsoares 2019-03-20
+ * finalize is now deprecated. Implementing AutoCloseable instead
/**
* Finalizes the object.
- */
+ @Override
public void finalize()
{
super.finalize();
}
+ */
/**
* Returns the entire contents of the EPS document, complete with headers and
* bounding box. The returned String is suitable for being written directly to
* disk as an EPS file.
*/
+ @Override
public String toString()
{
StringWriter writer = new StringWriter();
* Returns true if the specified rectangular area might intersect the current
* clipping area.
*/
+ @Override
public boolean hitClip(int x, int y, int width, int height)
{
if (_clip == null)
/**
* Returns the bounding rectangle of the current clipping area.
*/
+ @Override
public Rectangle getClipBounds(Rectangle r)
{
if (_clip == null)
{
_hashCode += getMatrix().hashCode();
}
- _hashCode += new Float(getExp()).hashCode();
- _hashCode += new Boolean(isEchofilter()).hashCode();
+ _hashCode += Float.valueOf(getExp()).hashCode();
+ _hashCode += Boolean.valueOf(isEchofilter()).hashCode();
if (getFilter() != null)
{
_hashCode += getFilter().hashCode();
_hashCode += getOutformat().hashCode();
}
_hashCode += getTopcombon();
- _hashCode += new Boolean(isAsync()).hashCode();
+ _hashCode += Boolean.valueOf(isAsync()).hashCode();
if (getEmail() != null)
{
_hashCode += getEmail().hashCode();
setAttachments(_call);
java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
sequence, searchDatabases, taxonId,
- new java.lang.Boolean(onlyActive) });
+ java.lang.Boolean.valueOf(onlyActive) });
if (_resp instanceof java.rmi.RemoteException)
{
setAttachments(_call);
java.lang.Object _resp = _call.invoke(new java.lang.Object[] {
accession, ac_version, searchDatabases, taxonId,
- new java.lang.Boolean(onlyActive) });
+ java.lang.Boolean.valueOf(onlyActive) });
if (_resp instanceof java.rmi.RemoteException)
{
JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
}
- private static final int TEST_TIMEOUT = 9000; // Note longer timeout needed on
+ private static final int TEST_TIMEOUT = 9000; // Note longer timeout needed
+ // on
// full test run than on
// individual tests
// Note: JAL-3065 - don't include quotes for lib/* because the arguments are
// not expanded by the shell
String classpath = getClassPath();
- String _cmd = "java "
- + (withAwt ? "-Djava.awt.headless=true" : "")
+ String _cmd = "java " + (withAwt ? "-Djava.awt.headless=true" : "")
+ " -classpath " + classpath + " jalview.bin.Jalview ";
Process ls2_proc = null;
Worker worker = null;
}
@Test(
- groups = { "Functional" },
+ groups =
+ { "Functional", "testben" },
dataProvider = "headlessModeOutputOperationsData")
public void testHeadlessModeOutputOperations(String harg, String type,
String fileName, boolean withAWT, int expectedMinFileSize,
worker.interrupt();
Thread.currentThread().interrupt();
worker.process.destroy();
- Assert.fail("Jalview did not exit after "
- + type
+ Assert.fail("Jalview did not exit after " + type
+ " generation (try running test again to verify - timeout at "
- + SETUP_TIMEOUT + "ms). ["
- + harg + "]");
+ + timeout + "ms). [" + harg + "]");
}
file.delete();
}
@DataProvider(name = "headlessModeOutputOperationsData")
public static Object[][] getHeadlessModeOutputParams()
{
- return new Object[][] {
- { "nodisplay -open examples/uniref50.fa", " -eps",
- "test/jalview/bin/test_uniref50_out.eps", true, MINFILESIZE_BIG,
- TEST_TIMEOUT },
+ return new Object[][] { { "nodisplay -open examples/uniref50.fa",
+ " -eps", "test/jalview/bin/test_uniref50_out.eps", true,
+ MINFILESIZE_BIG, TEST_TIMEOUT },
{ "nodisplay -open examples/uniref50.fa", " -eps",
"test/jalview/bin/test_uniref50_out.eps", false,
MINFILESIZE_BIG, TEST_TIMEOUT },
"test/jalview/bin/test_uniref50_out.html", true,
MINFILESIZE_BIG, TEST_TIMEOUT },
{ "headless -open examples/uniref50.fa", " -fasta",
- "test/jalview/bin/test_uniref50_out.mfa", true,
- MINFILESIZE_SMALL, TEST_TIMEOUT },
+ "test_uniref50_out.mfa", true, MINFILESIZE_SMALL,
+ TEST_TIMEOUT },
{ "headless -open examples/uniref50.fa", " -clustal",
- "test/jalview/bin/test_uniref50_out.aln", true,
- MINFILESIZE_SMALL, TEST_TIMEOUT },
+ "test_uniref50_out.aln", true, MINFILESIZE_SMALL,
+ TEST_TIMEOUT },
{ "headless -open examples/uniref50.fa", " -msf",
- "test/jalview/bin/test_uniref50_out.msf", true,
- MINFILESIZE_SMALL, TEST_TIMEOUT },
+ "test_uniref50_out.msf", true, MINFILESIZE_SMALL,
+ TEST_TIMEOUT },
{ "headless -open examples/uniref50.fa", " -pileup",
- "test/jalview/bin/test_uniref50_out.aln", true,
- MINFILESIZE_SMALL, TEST_TIMEOUT },
+ "test_uniref50_out.aln", true, MINFILESIZE_SMALL,
+ TEST_TIMEOUT },
{ "headless -open examples/uniref50.fa", " -pir",
- "test/jalview/bin/test_uniref50_out.pir", true,
- MINFILESIZE_SMALL, TEST_TIMEOUT },
+ "test_uniref50_out.pir", true, MINFILESIZE_SMALL,
+ TEST_TIMEOUT },
{ "headless -open examples/uniref50.fa", " -pfam",
- "test/jalview/bin/test_uniref50_out.pfam", true,
- MINFILESIZE_SMALL, TEST_TIMEOUT },
+ "test_uniref50_out.pfam", true, MINFILESIZE_SMALL,
+ TEST_TIMEOUT },
{ "headless -open examples/uniref50.fa", " -blc",
- "test/jalview/bin/test_uniref50_out.blc", true,
- MINFILESIZE_SMALL, TEST_TIMEOUT },
+ "test_uniref50_out.blc", true, MINFILESIZE_SMALL,
+ TEST_TIMEOUT },
{ "headless -open examples/uniref50.fa", " -jalview",
- "test/jalview/bin/test_uniref50_out.jvp", true,
- MINFILESIZE_SMALL, TEST_TIMEOUT }, };
+ "test_uniref50_out.jvp", true, MINFILESIZE_SMALL,
+ TEST_TIMEOUT }, };
}
}
cs.removeElement(1);
List<Integer> sel = cs.getSelected();
assertEquals(2, sel.size());
- assertEquals(new Integer(2), sel.get(0));
- assertEquals(new Integer(5), sel.get(1));
+ assertEquals(Integer.valueOf(2), sel.get(0));
+ assertEquals(Integer.valueOf(5), sel.get(1));
// removing an element in the list removes it
cs.removeElement(2);
assertEquals(1, sel.size());
sel = cs.getSelected();
assertEquals(1, sel.size());
- assertEquals(new Integer(5), sel.get(0));
+ assertEquals(Integer.valueOf(5), sel.get(0));
}
/**
12.5f, "group");
sf1.setValue("STRAND", "+");
sf1.setValue("Note", "Testing");
- Integer count = new Integer(7);
+ Integer count = Integer.valueOf(7);
sf1.setValue("Count", count);
SequenceFeature sf2 = new SequenceFeature(sf1);
assertEquals("+", sf1.getValue("STRAND"));
assertNull(sf1.getValue("strand")); // case-sensitive
assertEquals(".", sf1.getValue("unknown", "."));
- Integer i = new Integer(27);
+ Integer i = Integer.valueOf(27);
assertSame(i, sf1.getValue("Unknown", i));
}
import jalview.io.FileLoader;
import jalview.util.MessageManager;
-import java.awt.Event;
-import java.awt.EventQueue;
+import java.awt.event.InputEvent;import java.awt.EventQueue;
import java.awt.event.MouseEvent;
import java.lang.reflect.InvocationTargetException;
/*
* mouse at top left of unwrapped panel
*/
- MouseEvent evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y,
+ MouseEvent evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y,
0, 0, 0, false, 0);
MousePos pos = testee.findMousePosition(evt);
assertEquals(pos.column, 0);
* mouse at top left of wrapped panel; there is a gap of charHeight
* above the alignment
*/
- MouseEvent evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y,
+ MouseEvent evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y,
0, 0, 0, false, 0);
MousePos pos = testee.findMousePosition(evt);
assertEquals(pos.column, 0);
* cursor at bottom of gap above
*/
y = charHeight - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, -1);
* cursor over top of first sequence
*/
y = charHeight;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, 0);
* cursor at bottom of first sequence
*/
y = 2 * charHeight - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, 0);
* cursor at top of second sequence
*/
y = 2 * charHeight;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, 1);
* cursor at bottom of second sequence
*/
y = 3 * charHeight - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, 1);
* cursor at bottom of last sequence
*/
y = charHeight * (1 + alignmentHeight) - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, alignmentHeight - 1);
* method reports index of nearest sequence above
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, alignmentHeight - 1);
* cursor still in the gap above annotations, now at the bottom of it
*/
y += SeqCanvas.SEQS_ANNOTATION_GAP - 1; // 3-1 = 2
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, alignmentHeight - 1);
* cursor at the top of the n'th annotation
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, alignmentHeight - 1);
* cursor at the bottom of the n'th annotation
*/
y += annotationRows[n].height - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, alignmentHeight - 1);
* cursor in gap between wrapped widths
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, -1);
* cursor at bottom of gap between wrapped widths
*/
y += charHeight - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, -1);
* cursor at top of first sequence, second wrapped width
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, 0);
* mouse at top left of wrapped panel; there is a gap of charHeight
* above the alignment
*/
- MouseEvent evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y,
+ MouseEvent evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y,
0, 0, 0, false, 0);
MousePos pos = testee.findMousePosition(evt);
assertEquals(pos.column, 0);
* two charHeights including scale panel
*/
y = 2 * charHeight - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, -1);
* cursor over top of first sequence
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, 0);
* cursor at bottom of first sequence
*/
y += charHeight - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, 0);
* cursor at top of second sequence
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, 1);
* cursor at bottom of second sequence
*/
y += charHeight - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, 1);
* (scale + gap + sequences)
*/
y = charHeight * (2 + alignmentHeight) - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, alignmentHeight - 1);
* cursor below sequences, in 3-pixel gap above annotations
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, alignmentHeight - 1);
* method reports index of nearest sequence above
*/
y += SeqCanvas.SEQS_ANNOTATION_GAP - 1; // 3-1 = 2
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, alignmentHeight - 1);
* cursor at the top of the n'th annotation
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, alignmentHeight - 1);
* cursor at the bottom of the n'th annotation
*/
y += annotationRows[n].height - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, alignmentHeight - 1);
* cursor in gap between wrapped widths
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, -1);
* cursor at bottom of gap between wrapped widths
*/
y += charHeight - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, -1);
* cursor at top of scale, second wrapped width
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, -1);
* cursor at bottom of scale, second wrapped width
*/
y += charHeight - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, -1);
* cursor at top of first sequence, second wrapped width
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, 0);
* mouse at top left of wrapped panel; there is a gap of charHeight
* above the alignment
*/
- MouseEvent evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y,
+ MouseEvent evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y,
0, 0, 0, false, 0);
MousePos pos = testee.findMousePosition(evt);
assertEquals(pos.column, 0);
* cursor over top of first sequence
*/
y = charHeight;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, 0);
* cursor at bottom of last sequence
*/
y = charHeight * (1 + alignmentHeight) - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, alignmentHeight - 1);
* cursor below sequences, at top of charHeight gap between widths
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, -1);
* cursor below sequences, at top of charHeight gap between widths
*/
y += charHeight - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, -1);
* cursor at the top of the first sequence, second width
*/
y += 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
false, 0);
pos = testee.findMousePosition(evt);
assertEquals(pos.seqIndex, 0);
/*
* mouse at top left of unwrapped panel
*/
- MouseEvent evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0,
+ MouseEvent evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0,
0, 0, 0, false, 0);
assertEquals(testee.findColumn(evt), 0);
* not quite one charWidth across
*/
x = charWidth-1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0,
0, 0, 0, false, 0);
assertEquals(testee.findColumn(evt), 0);
* one charWidth across
*/
x = charWidth;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
false, 0);
assertEquals(testee.findColumn(evt), 1);
* two charWidths across
*/
x = 2 * charWidth;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
false, 0);
assertEquals(testee.findColumn(evt), 2);
* limited to last column of seqcanvas
*/
x = 20000;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
false, 0);
SeqCanvas seqCanvas = alignFrame.alignPanel.getSeqPanel().seqCanvas;
int w = seqCanvas.getWidth();
alignFrame.getViewport().hideColumns(4, 9);
x = 5 * charWidth + 2;
// x is in 6th visible column, absolute column 12, or 11 base 0
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
false, 0);
assertEquals(testee.findColumn(evt), 11);
}
/*
* mouse at top left of wrapped panel, no West (left) scale
*/
- MouseEvent evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0,
+ MouseEvent evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0,
0, 0, 0, false, 0);
assertEquals(testee.findColumn(evt), 0);
* not quite one charWidth across
*/
x = charWidth-1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0,
0, 0, 0, false, 0);
assertEquals(testee.findColumn(evt), 0);
* one charWidth across
*/
x = charWidth;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
false, 0);
assertEquals(testee.findColumn(evt), 1);
int labelWidth = (int) PA.getValue(seqCanvas, "labelWidthWest");
assertTrue(labelWidth > 0);
x = labelWidth - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
false, 0);
assertEquals(testee.findColumn(evt), -1);
x = labelWidth;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
false, 0);
assertEquals(testee.findColumn(evt), 0);
int residuesWide = av.getRanges().getViewportWidth();
assertTrue(residuesWide > 0);
x = labelWidth + charWidth * residuesWide - 1;
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
false, 0);
assertEquals(testee.findColumn(evt), residuesWide - 1);
assertTrue(residuesWide2 > 0);
assertTrue(residuesWide2 < residuesWide); // available width reduced
x += 1; // just over left edge of scale right
- evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+ evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
false, 0);
assertEquals(testee.findColumn(evt), -1);
@DataProvider(name = "identifyFiles")
public Object[][] IdentifyFileDP()
{
- return new Object[][] {
- { "examples/example.json", FileFormat.Json },
+ return new Object[][] { { "examples/example.json", FileFormat.Json },
{ "examples/plantfdx.fa", FileFormat.Fasta },
{ "examples/dna_interleaved.phy", FileFormat.Phylip },
{ "examples/2GIS.pdb", FileFormat.PDB },
{ "examples/testdata/simpleGff3.gff", FileFormat.Features },
{ "examples/testdata/test.jvp", FileFormat.Jalview },
{ "examples/testdata/test.cif", FileFormat.MMCif },
- {
- "examples/testdata/cullpdb_pc25_res3.0_R0.3_d150729_chains9361.fasta.15316",
+ { "examples/testdata/cullpdb_pc25_res3.0_R0.3_d150729_chains9361.fasta.15316",
FileFormat.Fasta },
{ "resources/scoreModel/pam250.scm", FileFormat.ScoreMatrix },
{ "resources/scoreModel/blosum80.scm", FileFormat.ScoreMatrix }
- // { "examples/testdata/test.amsa", "AMSA" },
- // { "examples/test.jnet", "JnetFile" },
+ // { "examples/testdata/test.amsa", "AMSA" },
+ // { "examples/test.jnet", "JnetFile" },
};
}
// too few columns:
assertFalse(id.looksLikeFeatureData("1 \t 2 \t 3 \t 4 \t 5"));
// GFF format:
- assertTrue(id
- .looksLikeFeatureData("Seq1\tlocal\tHelix\t2456\t2462\tss"));
+ assertTrue(
+ id.looksLikeFeatureData("Seq1\tlocal\tHelix\t2456\t2462\tss"));
// Jalview format:
assertTrue(id.looksLikeFeatureData("Helix\tSeq1\t-1\t2456\t2462\tss"));
// non-numeric start column:
assertEquals("Threshold line not identical.",
aa_original[i].threshold, aa_new[i].threshold);
// graphGroup may differ, but pattern should be the same
- Integer o_ggrp = new Integer(aa_original[i].graphGroup + 2);
- Integer n_ggrp = new Integer(aa_new[i].graphGroup + 2);
+ Integer o_ggrp = Integer.valueOf(aa_original[i].graphGroup + 2);
+ Integer n_ggrp = Integer.valueOf(aa_new[i].graphGroup + 2);
BitSet orig_g = orig_groups.get(o_ggrp);
BitSet new_g = new_groups.get(n_ggrp);
if (orig_g == null)
import jalview.gui.JvOptionPane;
import java.awt.Button;
-import java.awt.Event;
import java.awt.Toolkit;
+import java.awt.event.InputEvent;
import java.awt.event.MouseEvent;
import org.testng.annotations.BeforeClass;
assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
0, 0, clickCount, isPopupTrigger, buttonNo), mac));
- mods = Event.CTRL_MASK;
+ mods = InputEvent.CTRL_DOWN_MASK | InputEvent.BUTTON1_DOWN_MASK;
assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
0, 0, clickCount, isPopupTrigger, buttonNo), mac));
- mods = Event.META_MASK;
+ mods = InputEvent.META_DOWN_MASK | InputEvent.BUTTON1_DOWN_MASK;
assertTrue(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
0, 0, clickCount, isPopupTrigger, buttonNo), mac));
assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
0, 0, clickCount, isPopupTrigger, buttonNo), mac));
- mods = Event.CTRL_MASK;
+ mods = InputEvent.CTRL_DOWN_MASK;
assertTrue(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
0, 0, clickCount, isPopupTrigger, buttonNo), mac));
- mods = Event.CTRL_MASK | Event.SHIFT_MASK | Event.ALT_MASK;
+ mods = InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK
+ | InputEvent.ALT_DOWN_MASK;
clickCount = 2;
buttonNo = 2;
isPopupTrigger = true;
--- /dev/null
+#!/usr/bin/env bash
+
+CMD=$(basename $0)
+
+usage() {
+ echo "Usage: $CMD [-v N] /path/to/jarfile" >&2
+ echo " -v N build jar with alternative classes for version N of java (optional, defaults to base jar packages which is usually 8)" >&2
+}
+
+usagexit() {
+ usage
+ exit 1
+}
+
+error() {
+ echo $1 >&2
+ usagexit
+}
+
+VERSION=""
+while getopts v: opt
+do
+ case "${opt}"
+ in
+ v) VERSION=${OPTARG};;
+ esac
+done
+shift $((OPTIND-1))
+
+JARFILE=$1
+[ -z $JARFILE ] && usagexit
+[ -f $JARFILE ] || error "No file $JARFILE"
+[ -r $JARFILE ] || error "$JARFILE not readable"
+
+EXT=.jar
+SUFFIX=-SINGLE_RELEASE
+FILENAME=$(basename $JARFILE)
+BASE=$(basename -s $EXT $JARFILE)
+DIR=$(dirname $JARFILE)
+
+# set absolute path to $JARFILE if not specified
+[ x${DIR#/} = x$DIR ] && DIR=$(cd "$DIR" && pwd)
+
+TMPDIR=/tmp/$USER-$CMD-$BASE-$$
+
+[ x$FILENAME = x$BASE ] && error "Should be $EXT file"
+
+mkdir -p $TMPDIR || error "Could not create tmp dir $TMPDIR"
+cd $TMPDIR
+jar -xvf $JARFILE > /dev/null
+VDIR=$TMPDIR/META-INF/versions
+
+[ -d $VDIR ] || error "$JARFILE doesn't look like a multi-release jar file"
+
+if [ -z $VERSION ]; then
+ # no version set... nothing to copy
+ echo ""
+elif [ -d $VDIR/$VERSION ]; then
+ # this version has alternative classes for the version asked for, copy them into the base jar
+ tar -cf - -C $VDIR/$VERSION . | tar -xf - -C $TMPDIR
+else
+ echo "No specific classes for version $VERSION" >&2
+ echo "Available alternative versions are" >&2
+ cd $VDIR
+ ls >&2
+fi
+
+# remove the alternative versions
+/bin/rm -r $VDIR
+
+# alter the manifest. note sed on macos is a bit weird
+if [ `uname -s` = "Darwin" ]; then
+ sed -E -i '' 's/^([Mm]ulti-[Rr]elease):).*/\1 false/' $TMPDIR/META-INF/MANIFEST.MF
+else
+ sed -E -i 's/^([Mm]ulti-[Rr]elease):).*/\1 false/' $TMPDIR/META-INF/MANIFEST.MF
+fi
+
+jar -cvf $DIR/${BASE}${SUFFIX}${EXT} -C $TMPDIR . > /dev/null
+rm -rf $TMPDIR
+
--- /dev/null
+#!/usr/bin/env bash
+
+TYPES="Boolean|Character|Double|Float|Long|Integer" find src test -type f -name "*.java" -exec perl -p -i -e 's/\bnew\s+(java\.lang\.)?($ENV{TYPES})\(/${1}${2}.valueOf(/;' {} +
+
+find src test -type f -name "*.java" -exec perl -p -i -e 's/(InputEvent|KeyEvent)\s*\.\s*([A-Z0-9]+)_MASK\b/${1}.${2}_DOWN_MASK/g;' {} +
+
+find src test -type f -name "*.java" -exec perl -p -i -e 's/\b(e|evt)\.getModifiers\b/${1}.getModifiersEx/g;' {} +
+
+find src test -type f -name "*.java" -exec perl -p -i -e 's/\.getMenuShortcutKeyMask\b/\.getMenuShortcutKeyMaskEx/g;' {} +
+
+#
+find src test -type f -name "*.java" -exec perl -p -i -e 'if ( s/^\s*import\s+java\.awt\.Event\s*;\s*$/import java.awt.event.InputEvent;/ ) { $event = 1 }; if ($event == 1) { s/\b(java\.awt\.)?Event\s*\.\s*([A-Z0-9]+)_MASK\b/InputEvent.${2}_DOWN_MASK/g; s/\b(java\.awt\.)?Event\s*\.\s*(MOUSE_MOVE)/MouseEvent.MOUSE_MOVED/g }' {} +
if (versions == null)
{
versions = new Hashtable();
- versions.put("45.3", "1.0");
+ versions.put("45.3", "1.0.2");
versions.put("45.3", "1.1");
versions.put("46.0", "1.2");
versions.put("47.0", "1.3");
versions.put("50.0", "1.6");
versions.put("51.0", "1.7");
versions.put("52.0", "1.8");
+ versions.put("53.0", "9");
+ versions.put("54.0", "10");
+ versions.put("55.0", "11");
}
String version = (String) versions.get(major + "." + minor);
--- /dev/null
+#/usr/bin/env bash
+
+# Be in the jalview top level dir.
+# lib -- contains usual jalview jar files
+# make sure it contains the extra jar files needed in classpath for Java 11
+# j11lib -- contains java11 style modules to be put into the JRE (not needed at runtime)
+#
+# j11jre -- dir containing JRE environments for jalview
+#
+# creates file modules.new which is comma-separated list of modules needed, can be used like this in jlink argument
+# and a java 11 JRE in j11jre/jre-new
+
+( for x in lib/*.jar j11lib/*.jar dist/jalview.jar; do echo $x >&2; jdeps --list-deps --module-path j11lib $x | grep -v Warning: | grep -v "JDK removed" | sed -e 's/^ *//;s/\/.*//;s/$/,/;'; done ) | sort -u | perl -p -e 'chomp;' | perl -p -e 's/,$//;chomp;' > modules.new
+
+if [ x$JAVA_HOME != x ]; then
+ jlink --no-header-files --no-man-pages --strip-debug --module-path "$JAVA_HOME/jmods:j11lib" --add-modules `cat modules.new` --compress=2 --output j11jre/jre-new
+else
+ jlink --no-header-files --no-man-pages --strip-debug --module-path "j11lib" --add-modules `cat modules.new` --compress=2 --output j11jre/jre-new
+fi
+
+
+# or if you're in a hurry for a one-liner...
+#jlink --no-header-files --no-man-pages --strip-debug --module-path "$JAVA_HOME/jmods:j11lib" --add-modules ` ( for x in lib/*.jar j11lib/*.jar dist/jalview.jar; do echo $x >&2; jdeps --list-deps --module-path j11mod $x | grep -v "Warning:" | grep -v "JDK removed" | sed -e 's/^ *//;s/\/.*//;s/$/,/;'; done ) | sort -u | perl -p -e 'chomp;' | perl -p -e 's/,$//;chomp;' ` --compress=2 --output j11jre/jre-new
--- /dev/null
+#!/usr/bin/env bash
+
+CMD=$(basename $0)
+
+usage() {
+ echo "Usage: $CMD /path/to/jarfile" >&2
+}
+
+usagexit() {
+ usage
+ exit 1
+}
+
+error() {
+ echo $1 >&2
+ usagexit
+}
+
+JARFILE=$1
+[ -z $JARFILE ] && usagexit
+[ -f $JARFILE ] || error "No file $JARFILE"
+[ -r $JARFILE ] || error "$JARFILE not readable"
+
+EXT=.jar
+SUFFIX=-MODULE
+FILENAME=$(basename $JARFILE)
+BASE=$(basename -s $EXT $JARFILE)
+DIR=$(dirname $JARFILE)
+
+# set absolute path to $JARFILE if not specified
+[ x${DIR#/} = x$DIR ] && DIR=$(cd "$DIR" && pwd)
+
+ABSJARFILE=$DIR/$FILENAME
+
+TMPDIR=/tmp/$USER-$CMD-$BASE-$$
+
+[ x$FILENAME = x$BASE ] && error "Should be $EXT file"
+
+mkdir -p $TMPDIR/jar || error "Could not create tmp dir $TMPDIR/jar"
+mkdir -p $TMPDIR/info || error "Could not create tmp dir $TMPDIR/info"
+cd $TMPDIR/jar
+jar -xvf $ABSJARFILE > /dev/null
+jdeps --module-path="$DIR" --generate-module-info $TMPDIR/info $ABSJARFILE
+# next line assuming only one module-info.java file created, I think this is always true...? It'll just use the last one if not.
+find $TMPDIR/info -name "module-info.java" -exec /bin/mv {} . \;
+[ -e ./module-info.java ] || error "No module-info.java file found in $TMPDIR/info"
+javac -d $TMPDIR/jar ./module-info.java
+jar -cvf $DIR/${BASE}${SUFFIX}${EXT} -C $TMPDIR/jar . > /dev/null
+rm -rf $TMPDIR
+
+
--- /dev/null
+public class showJVMVersion {
+ public static void main(String args[]) {
+ System.out.println(System.getProperty("java.version"));
+ }
+}