From 316a666545d6b6fcb16c534a08acfab7fd8b3404 Mon Sep 17 00:00:00 2001 From: hansonr Date: Sun, 19 May 2019 00:24:48 -0500 Subject: [PATCH] Jalview-JS/JAL-3253-applet JAL-3192 secondary core files buildcore now creates core_stevesoft (350K uncompressed) and core_jvjmol (2.9M uncompressed) Still needs some tweaking, but the process is relatively straightforward: 1) To know what files to include, make sure you are using the core version of the html file, and, after exercizing the program, issue: J2S._saveFile('_j2sclasslist.txt', Clazz.ClassFilesLoaded.sort().join('\n')) (Sorry, I could make that simpler, I know.) 2) add a section in buildcore.xml that concatenates the desired file set and turns that into a core file. 3) in the FIRST class loaded for this option, add something like this static block: static { /** * This is the entry class. Load the core file directly, if it exists. See * buildcore.xml. * * * @j2sNative * * swingjs.JSUtil.loadStaticResource$S("core/core_stevesoft.z.js"); */ } 3) run buildcore.xml 2) --- _j2sclasslist_Jmol.txt | 235 +++++++++++++++++++++++++++++++++ buildcore.xml | 29 +++- src/jalview/bin/JalviewAppLoader.java | 10 +- src/jalview/gui/StructureViewer.java | 14 ++ 4 files changed, 278 insertions(+), 10 deletions(-) create mode 100644 _j2sclasslist_Jmol.txt diff --git a/_j2sclasslist_Jmol.txt b/_j2sclasslist_Jmol.txt new file mode 100644 index 0000000..5ea9274 --- /dev/null +++ b/_j2sclasslist_Jmol.txt @@ -0,0 +1,235 @@ +jalview/ext/jmol/JalviewJmolBinding.js +jalview/ext/jmol/JmolCommands.js +jalview/ext/jmol/JmolParser.js +jalview/gui/AppJmol.js +jalview/gui/AppJmolBinding.js +jalview/gui/StructureViewerBase.js +jalview/io/StructureFile.js +jalview/jbgui/GStructureViewer.js +jalview/renderer/seqfeatures/FeatureColourFinder.js +jalview/structure/StructureListener.js +jalview/structure/StructureMapping.js +jalview/structure/StructureMappingcommandSet.js +jalview/structures/models/AAStructureBindingModel.js +jalview/structures/models/SequenceStructureBindingModel.js +jalview/util/CaseInsensitiveString.js +jalview/util/HttpUtils.js +jalview/util/MapList.js +jalview/ws/dbsources/EbiFileRetrievedProxy.js +jalview/ws/dbsources/Pdb.js +jalview/ws/seqfetcher/DbSourceProxy.js +jalview/ws/seqfetcher/DbSourceProxyImpl.js +jalview/ws/seqfetcher/DbSourceProxyRoot.js +java/awt/font/TextAttribute.js +java/awt/image/ImageProducer.js +java/awt/image/PixelGrabber.js +java/io/BufferedWriter.js +java/io/FilterOutputStream.js +java/io/OutputStream.js +java/io/OutputStreamWriter.js +java/io/PrintStream.js +java/io/StringWriter.js +java/io/Writer.js +javajs/api/BytePoster.js +javajs/api/GenericOutputChannel.js +javajs/awt/Font.js +javajs/awt/FontManager.js +javajs/util/A4.js +javajs/util/BS.js +javajs/util/CU.js +javajs/util/DF.js +javajs/util/LimitedLineReader.js +javajs/util/M3.js +javajs/util/M34.js +javajs/util/M4.js +javajs/util/Measure.js +javajs/util/OC.js +javajs/util/P3.js +javajs/util/P3i.js +javajs/util/P4.js +javajs/util/T3.js +javajs/util/T3i.js +javajs/util/T4.js +javajs/util/V3.js +mc_view/Atom.js +mc_view/Bond.js +mc_view/PDBChain.js +mc_view/Residue.js +org/jmol/adapter/readers/pdb/PdbReader.js +org/jmol/adapter/smarter/Atom.js +org/jmol/adapter/smarter/AtomIterator.js +org/jmol/adapter/smarter/AtomSetCollection.js +org/jmol/adapter/smarter/AtomSetCollectionReader.js +org/jmol/adapter/smarter/AtomSetObject.js +org/jmol/adapter/smarter/Bond.js +org/jmol/adapter/smarter/BondIterator.js +org/jmol/adapter/smarter/Resolver.js +org/jmol/adapter/smarter/SmarterJmolAdapter.js +org/jmol/adapter/smarter/Structure.js +org/jmol/api/AtomIndexIterator.js +org/jmol/api/EventManager.js +org/jmol/api/GenericFileInterface.js +org/jmol/api/GenericMouseInterface.js +org/jmol/api/GenericPlatform.js +org/jmol/api/Interface.js +org/jmol/api/JmolAdapter.js +org/jmol/api/JmolAdapterAtomIterator.js +org/jmol/api/JmolAdapterBondIterator.js +org/jmol/api/JmolCallbackListener.js +org/jmol/api/JmolGraphicsInterface.js +org/jmol/api/JmolPropertyManager.js +org/jmol/api/JmolRendererInterface.js +org/jmol/api/JmolRepaintManager.js +org/jmol/api/JmolScriptEvaluator.js +org/jmol/api/JmolScriptFunction.js +org/jmol/api/JmolScriptManager.js +org/jmol/api/JmolSelectionListener.js +org/jmol/api/JmolStatusListener.js +org/jmol/api/JmolViewer.js +org/jmol/api/PlatformViewer.js +org/jmol/api/Translator.js +org/jmol/atomdata/AtomDataServer.js +org/jmol/atomdata/RadiusData.js +org/jmol/awt/AwtFile.js +org/jmol/awt/AwtFont.js +org/jmol/awt/Display.js +org/jmol/awt/Image.js +org/jmol/awt/Mouse.js +org/jmol/awt/Platform.js +org/jmol/bspt/Bspf.js +org/jmol/bspt/Bspt.js +org/jmol/bspt/CubeIterator.js +org/jmol/bspt/Element.js +org/jmol/bspt/Leaf.js +org/jmol/bspt/Node.js +org/jmol/c/CBK.js +org/jmol/c/FIL.js +org/jmol/c/PAL.js +org/jmol/c/STER.js +org/jmol/c/STR.js +org/jmol/c/VDW.js +org/jmol/g3d/CylinderRenderer.js +org/jmol/g3d/G3DRenderer.js +org/jmol/g3d/Graphics3D.js +org/jmol/g3d/HermiteRenderer.js +org/jmol/g3d/LineRenderer.js +org/jmol/g3d/Pixelator.js +org/jmol/g3d/Platform3D.js +org/jmol/g3d/PrecisionRenderer.js +org/jmol/g3d/SphereRenderer.js +org/jmol/g3d/TextRenderer.js +org/jmol/g3d/TextString.js +org/jmol/g3d/TriangleRenderer.js +org/jmol/i18n/GT.js +org/jmol/i18n/Language.js +org/jmol/i18n/Resource.js +org/jmol/io/FileReader.js +org/jmol/modelset/Atom.js +org/jmol/modelset/AtomCollection.js +org/jmol/modelset/AtomIteratorWithinModel.js +org/jmol/modelset/Bond.js +org/jmol/modelset/BondCollection.js +org/jmol/modelset/BondIterator.js +org/jmol/modelset/BondIteratorSelected.js +org/jmol/modelset/Chain.js +org/jmol/modelset/Group.js +org/jmol/modelset/Model.js +org/jmol/modelset/ModelLoader.js +org/jmol/modelset/ModelSet.js +org/jmol/modelset/Orientation.js +org/jmol/modelset/Structure.js +org/jmol/modelsetbio/AlphaMonomer.js +org/jmol/modelsetbio/AlphaPolymer.js +org/jmol/modelsetbio/BioModel.js +org/jmol/modelsetbio/BioModelSet.js +org/jmol/modelsetbio/BioPolymer.js +org/jmol/modelsetbio/BioResolver.js +org/jmol/modelsetbio/Helix.js +org/jmol/modelsetbio/Monomer.js +org/jmol/modelsetbio/ProteinStructure.js +org/jmol/render/BallsRenderer.js +org/jmol/render/FontLineShapeRenderer.js +org/jmol/render/FrankRenderer.js +org/jmol/render/RepaintManager.js +org/jmol/render/ShapeRenderer.js +org/jmol/render/SticksRenderer.js +org/jmol/renderbio/BackboneRenderer.js +org/jmol/renderbio/BioShapeRenderer.js +org/jmol/renderbio/CartoonRenderer.js +org/jmol/renderbio/RocketsRenderer.js +org/jmol/renderbio/StrandsRenderer.js +org/jmol/script/ContextToken.js +org/jmol/script/SV.js +org/jmol/script/ScriptCompiler.js +org/jmol/script/ScriptContext.js +org/jmol/script/ScriptError.js +org/jmol/script/ScriptEval.js +org/jmol/script/ScriptExpr.js +org/jmol/script/ScriptFlowContext.js +org/jmol/script/ScriptFunction.js +org/jmol/script/ScriptManager.js +org/jmol/script/ScriptMathProcessor.js +org/jmol/script/ScriptParam.js +org/jmol/script/ScriptTokenParser.js +org/jmol/script/T.js +org/jmol/scriptext/MathExt.js +org/jmol/shape/AtomShape.js +org/jmol/shape/Balls.js +org/jmol/shape/Frank.js +org/jmol/shape/Mesh.js +org/jmol/shape/Shape.js +org/jmol/shape/Sticks.js +org/jmol/shapebio/Backbone.js +org/jmol/shapebio/BioShape.js +org/jmol/shapebio/BioShapeCollection.js +org/jmol/shapebio/Cartoon.js +org/jmol/shapebio/Rockets.js +org/jmol/thread/HoverWatcherThread.js +org/jmol/thread/JmolThread.js +org/jmol/util/BSUtil.js +org/jmol/util/BoxInfo.js +org/jmol/util/C.js +org/jmol/util/ColorEncoder.js +org/jmol/util/CommandHistory.js +org/jmol/util/DefaultLogger.js +org/jmol/util/Edge.js +org/jmol/util/Elements.js +org/jmol/util/Escape.js +org/jmol/util/GData.js +org/jmol/util/Geodesic.js +org/jmol/util/Int2IntHash.js +org/jmol/util/Int2IntHashEntry.js +org/jmol/util/Logger.js +org/jmol/util/LoggerInterface.js +org/jmol/util/MeshSurface.js +org/jmol/util/Node.js +org/jmol/util/Normix.js +org/jmol/util/Point3fi.js +org/jmol/util/Rectangle.js +org/jmol/util/Rgb16.js +org/jmol/util/Shader.js +org/jmol/util/SimpleEdge.js +org/jmol/util/SimpleNode.js +org/jmol/util/TempArray.js +org/jmol/viewer/ActionManager.js +org/jmol/viewer/AnimationManager.js +org/jmol/viewer/ColorManager.js +org/jmol/viewer/FileManager.js +org/jmol/viewer/Gesture.js +org/jmol/viewer/GlobalSettings.js +org/jmol/viewer/JC.js +org/jmol/viewer/ModelManager.js +org/jmol/viewer/MotionPoint.js +org/jmol/viewer/MouseState.js +org/jmol/viewer/PropertyManager.js +org/jmol/viewer/SelectionManager.js +org/jmol/viewer/ShapeManager.js +org/jmol/viewer/StateManager.js +org/jmol/viewer/StatusManager.js +org/jmol/viewer/TransformManager.js +org/jmol/viewer/Viewer.js +org/jmol/viewer/binding/Binding.js +org/jmol/viewer/binding/JmolBinding.js +sun/awt/image/OffScreenImageSource.js +sun/font/AttributeValues.js +sun/font/EAttribute.js \ No newline at end of file diff --git a/buildcore.xml b/buildcore.xml index 8f7fea6..d2a2d26 100644 --- a/buildcore.xml +++ b/buildcore.xml @@ -24,10 +24,16 @@ - + + + + + + - + - @@ -48,6 +53,19 @@ + + + + + + + + + + + @@ -57,10 +75,11 @@ + + diff --git a/src/jalview/bin/JalviewAppLoader.java b/src/jalview/bin/JalviewAppLoader.java index 8029aea..39e7c21 100644 --- a/src/jalview/bin/JalviewAppLoader.java +++ b/src/jalview/bin/JalviewAppLoader.java @@ -491,11 +491,11 @@ public class JalviewAppLoader { resolvedPath = directoryPath + targetPath; } - if (JalviewLite.debug) - { - System.err.println( - "resolveUrlForLocalOrAbsolute returning " + resolvedPath); - } + // if (debug) + // { + // System.err.println( + // "resolveUrlForLocalOrAbsolute returning " + resolvedPath); + // } return resolvedPath; } diff --git a/src/jalview/gui/StructureViewer.java b/src/jalview/gui/StructureViewer.java index a49b136..8f4f29c 100644 --- a/src/jalview/gui/StructureViewer.java +++ b/src/jalview/gui/StructureViewer.java @@ -49,6 +49,20 @@ import java.util.Map.Entry; */ public class StructureViewer { + + static + { + /** + * This is the entry class. Load the core file directly, if it exists. See + * buildcore.xml. + * + * + * @j2sNative + * + * swingjs.JSUtil.loadStaticResource$S("core/core_jvjmol.z.js"); + */ + } + private static final String UNKNOWN_VIEWER_TYPE = "Unknown structure viewer type "; StructureSelectionManager ssm; -- 1.7.10.2