Jalview-JS/JAL-3253-applet JAL-3192 secondary core files
authorhansonr <hansonr@STO24954W.ad.stolaf.edu>
Sun, 19 May 2019 05:24:48 +0000 (00:24 -0500)
committerhansonr <hansonr@STO24954W.ad.stolaf.edu>
Sun, 19 May 2019 05:24:48 +0000 (00:24 -0500)
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 [new file with mode: 0644]
buildcore.xml
src/jalview/bin/JalviewAppLoader.java
src/jalview/gui/StructureViewer.java

diff --git a/_j2sclasslist_Jmol.txt b/_j2sclasslist_Jmol.txt
new file mode 100644 (file)
index 0000000..5ea9274
--- /dev/null
@@ -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
index 8f7fea6..d2a2d26 100644 (file)
     <!-- sensible defaults for default target -->
     <property name="site" value="site"/>
     <property name="site.path" value="${site}/swingjs" />
-    <property name="core.name" value="_jalview" />
+    
+       <property name="core.name" value="_jalview" />
     <property name="classlist"  
-      description="Class list .txt generated by java2script classloader to be bundled into corefile - default is _j2sclasslist.txt" 
+      description="Class list generated by java2script classloader to be bundled into corefile - default is _j2sclasslist.txt" 
       value="_j2sclasslist.txt" />
+       
+    <property name="core.name.jmol" value="_jvjmol" />
+    <property name="classlist.jmol"  
+      value="_j2sclasslist_jmol.txt" />
+       
     <!-- create a NON svn local directory only containing JS files
        
        <echo>Deleting the site directory.</echo>
@@ -37,9 +43,8 @@
        
        <!-- concatentate the stevesoft files -->
     <concat destfile="${site.path}/j2s/com/stevesoft/core.js">
-        <fileset dir="${site.path}/j2s/com/stevesoft">
+        <fileset dir="${site.path}/j2s/com/stevesoft/pat">
           <include name="**/*.js" />
-               <exclude name="core.js" />
                <exclude name="Regex.js" />
         </fileset>
     </concat>
       <param name="call-core.list" value="com/stevesoft/core.js" />
     </antcall>
 
+
+       <!-- compress the jmol files -->
+    
+       <loadresource property="coreclassesjmol">
+      <file file="${classlist.jmol}"/>
+    </loadresource>
+
+    <antcall target="call-core">
+      <param name="call-core.name" value="${core.name.jmol}" />
+      <param name="call-core.list" value="
+               ${coreclassesjmol}
+               " />
+    </antcall>
        
     <!-- make core files -->
 
       <file file="${classlist}"/>
     </loadresource>
 
+       <!-- removing                   core/coreswingjs.js  -->
+
     <antcall target="call-core">
       <param name="call-core.name" value="${core.name}" />
       <param name="call-core.list" value="
-                       core/coreswingjs.js
                ${coreclasses}
                " />
     </antcall>
index 8029aea..39e7c21 100644 (file)
@@ -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;
   }
 
index a49b136..8f4f29c 100644 (file)
@@ -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;