OK, I've moved Jmol.properties into viewer. In fact, that was the
problem. So I'll direct those Class.forName() calls to their former
locations, and we should be all set. Thank you, Nico. It is always nice
to have a simple solution.
I'll divided the readers in as basic, xml, and more. Certainly that is
all up for discussion.
Currently "basic" includes xyz, pdb, cif, and mol. We could certainly
split this as fine as we wish -- one reader per package if we wanted to.
But that's probably unnecessary. Maybe there are a few subsets of "more"
that could be broken out, or we could split off pdb and cif as separate
ones, since they are pretty big.
This is currently broken for signed applets.
We need to get the manifests straightened out. Nico, can we just not
have manifests for all the individual files, and then have just one
"sealed: true" in applet0 for the whole set?
The build file I am using is build-applet-test.xml. These jar file
specifications need to be put into build.xml along with the proper
manifests.
Nico, I added PatternMatcher to org.jmol.smiles. If you would prefer it
not be there, I'll move it. We now have an interface to access it, so it
doesn't matter to me where it goes.
But if it goes somewhere else, we need to be sure to indicate that in
the Jar file and the applet-classes file.
Here are the file sizes. Note that the required files only add up to 650
Kb. Quite an improvement, I think!
1,000,021 JmolApplet.jar
required:
x 10,742 JmolApplet0.jar
x 55,974 JmolAppletJars.jar
x 31,586 JmolAppletMain.jar
x 146,504 JmolAppletMisc.jar
x 28,084 JmolAppletPopup.jar
x 360,695 JmolAppletViewer.jar
optional; loaded when needed:
72,921 JmolAppletJvxl.jar
7,109 JmolAppletQuantum.jar
14,242 JmolAppletReadersCifPdb.jar
4,276 JmolAppletReadersMolXyz.jar
60,437 JmolAppletReadersMore.jar
22,182 JmolAppletReadersXml.jar
51,927 JmolAppletShapeBio.jar
35,680 JmolAppletShapeSpecial.jar
7,975 JmolAppletSmiles.jar
98,211 JmolApplet_i18n.jar
aside -- I found a bug in the GAMESS reader for molecular orbitals --
it's not mapping the orbitals correctly. I'll fix that.
Nicolas Vervelle wrote:
> Bob Hanson wrote:
>
>> Nico and Miguel,
>>
>> It appears that any classes in packages in
>>
>> org.jmol.*
>>
>> are read in full regardless of their access. Even when
>>
>> org.jmol.readers contains a single class that does nothing
>> at all (I mean, totally empty), it is read.
>>
>> If, on the other hand, the desired optional classes are in, say,
>>
>> org.jmoloptions.readers
>>
>> then we are ok. They do not get loaded until needed.
>>
>
> Good.
>
>> For example, I created:
>>
>> org.jmoloptions.readers.XyzReader.class
>> org.jmoloptions.smilesmatcher.PatternMatcher.class
>>
>> and when Jmol loads now, that reader's jar file is only downloaded
>> after caffeine.xyz is opened, and the smiles code is only downloaded
>> after "select substructure()" is issued from the console.
>>
>
> And this time, the don't get both loaded at the same time ?
> That's good, we then have a way to speed the loading part.
>
>
>> So I think I have at least defined the conditions for optional
>> downloading --
>> optional classes cannot be in org.jmol.
>>
>> Before we act on this, I'd like someone to confirm that this is the
>> defined behavior and that we are not just missing some sort of simple
>> thing that would make any largescale changes unnecessary.
>>
>
> If it's really the case, then for me, it seems to be a bug with
> INDEX.LIST, but then why does it work with org.jmoloptions ?
>
> Just an idea :
> Could it be related to org/jmol/Jmol.properties ? Do we still have the
> same problem if we modify the code to look for Jmol.properties in
> org/jmol/viewer/ instead ?
> It should be the only file that is directly in org/jmol, maybe it can
> explain this problem.
>
>> If we do need to make changes, I suggest creating something like the
>> following options:
>>
>> org.jmoloptions.jvxl
>> org.jmoloptions.popupmenu
>> org.jmoloptions.quantum
>> org.jmoloptions.readers0 (some subset of readers)
>> org.jmoloptions.readers1 (some subset of readers)
>> org.jmoloptions.readers2 (some subset of readers)
>> org.jmoloptions.shapebio
>> org.jmoloptions.shapespecial
>> org.jmoloptions.smiles
>>
>> Then, as Nico pointed out, we don't need any sort of additional user
>> flags.
>> I think I've done what I can on this until I hear from you two.
>>
>
> If moving Jmol.properties doesn't solve the problem, then creating
> org.jmoloptions seems a good option.
> It's still strange, because there's clearly a bug with INDEX.LIST if
> it doesn't work.
>
> Nico
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Jmol-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-developers