ChromeClassResourceLoader & ChromeResourceLoaderManager

David Carr <[email protected]> Sun, 7 Dec 2003 02:20:18 -0500 (Eastern Standard Time)
Newsgroups gmane.comp.java.luxor-xul.devel
Message-ID <Pine.WNT.4.56.0312070212460.3160@lydia>
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to [email protected] for more info.

--1243447-16195-1070781618=:3160
Content-Type: TEXT/PLAIN; charset=US-ASCII

I noticed that these files had numerous fix and todo comments to allow
proper loading of config and bootstrap entries.  Attached are versions
with implementations for those methods.  The index file used by the
ClassResourceLoader is just a properties file; the keys are ignored, and
all values are added to the entries.
-----------------------------
David Carr
-----------------------------
Email: [email protected]
AIM  : davidmc24/Varzof
Phone: 518-272-3901
Web  : http://david.carr.name
-----------------------------
--1243447-16195-1070781618=:3160
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ChromeResourceLoaderManager.java"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.WNT.4.56.0312070220180.3160@lydia>
Content-Description: 
Content-Disposition: attachment; filename="ChromeResourceLoaderManager.java"

cGFja2FnZSBsdXhvci5jb3JlLmxvYWRlcjsNCg0KaW1wb3J0IGphdmEuaW8u
SW5wdXRTdHJlYW07DQppbXBvcnQgamF2YS5uZXQuVVJMOw0KaW1wb3J0IGph
dmEudXRpbC5BcnJheUxpc3Q7DQppbXBvcnQgamF2YS51dGlsLkl0ZXJhdG9y
Ow0KaW1wb3J0IGphdmEudXRpbC5MaXN0Ow0KDQppbXBvcnQgbHV4b3Iuc3Bp
LkNocm9tZVJlc291cmNlTG9hZGVyOw0KDQpwdWJsaWMgY2xhc3MgQ2hyb21l
UmVzb3VyY2VMb2FkZXJNYW5hZ2VyIGltcGxlbWVudHMgQ2hyb21lUmVzb3Vy
Y2VMb2FkZXIgew0KCUFycmF5TGlzdCBfbG9hZGVycyA9IG5ldyBBcnJheUxp
c3QoKTsNCg0KCXB1YmxpYyB2b2lkIGFkZFJlc291cmNlTG9hZGVyKENocm9t
ZVJlc291cmNlTG9hZGVyIGxvYWRlcikgew0KCQlfbG9hZGVycy5hZGQobG9h
ZGVyKTsNCgl9DQoNCglwdWJsaWMgVVJMIGdldFJlc291cmNlQXNVcmwoU3Ry
aW5nIG5hbWUpIHsNCgkJZm9yIChJdGVyYXRvciBpdCA9IF9sb2FkZXJzLml0
ZXJhdG9yKCk7IGl0Lmhhc05leHQoKTspIHsNCgkJCUNocm9tZVJlc291cmNl
TG9hZGVyIGxvYWRlciA9IChDaHJvbWVSZXNvdXJjZUxvYWRlcikgaXQubmV4
dCgpOw0KCQkJVVJMIHVybCA9IGxvYWRlci5nZXRSZXNvdXJjZUFzVXJsKG5h
bWUpOw0KCQkJaWYgKHVybCAhPSBudWxsKSB7DQoJCQkJcmV0dXJuIHVybDsN
CgkJCX0NCgkJfQ0KCQlyZXR1cm4gbnVsbDsNCgl9DQoNCglwdWJsaWMgSW5w
dXRTdHJlYW0gZ2V0UmVzb3VyY2VBc1N0cmVhbShTdHJpbmcgbmFtZSkgew0K
CQlmb3IgKEl0ZXJhdG9yIGl0ID0gX2xvYWRlcnMuaXRlcmF0b3IoKTsgaXQu
aGFzTmV4dCgpOykgew0KCQkJQ2hyb21lUmVzb3VyY2VMb2FkZXIgbG9hZGVy
ID0gKENocm9tZVJlc291cmNlTG9hZGVyKSBpdC5uZXh0KCk7DQoJCQlJbnB1
dFN0cmVhbSBpbiA9IGxvYWRlci5nZXRSZXNvdXJjZUFzU3RyZWFtKG5hbWUp
Ow0KCQkJaWYgKGluICE9IG51bGwpIHsNCgkJCQlyZXR1cm4gaW47DQoJCQl9
DQoJCX0NCgkJcmV0dXJuIG51bGw7DQoJfQ0KDQoJcHVibGljIExpc3QgZ2V0
Qm9vdHN0cmFwRW50cmllcygpIHsNCgkJTGlzdCBlbnRyaWVzID0gbmV3IEFy
cmF5TGlzdCgpOw0KCQlmb3IgKEl0ZXJhdG9yIGl0ID0gX2xvYWRlcnMuaXRl
cmF0b3IoKTsgaXQuaGFzTmV4dCgpOykgew0KCQkJQ2hyb21lUmVzb3VyY2VM
b2FkZXIgbG9hZGVyID0gKENocm9tZVJlc291cmNlTG9hZGVyKSBpdC5uZXh0
KCk7DQoJCQlMaXN0IHN1YkVudHJpZXMgPSBsb2FkZXIuZ2V0Qm9vdHN0cmFw
RW50cmllcygpOw0KCQkJZW50cmllcy5hZGRBbGwoc3ViRW50cmllcyk7DQoJ
CX0NCgkJcmV0dXJuIGVudHJpZXM7DQoJfQ0KDQoJcHVibGljIExpc3QgZ2V0
Q29uZmlnRW50cmllcygpIHsNCgkJTGlzdCBlbnRyaWVzID0gbmV3IEFycmF5
TGlzdCgpOw0KCQlmb3IgKEl0ZXJhdG9yIGl0ID0gX2xvYWRlcnMuaXRlcmF0
b3IoKTsgaXQuaGFzTmV4dCgpOykgew0KCQkJQ2hyb21lUmVzb3VyY2VMb2Fk
ZXIgbG9hZGVyID0gKENocm9tZVJlc291cmNlTG9hZGVyKSBpdC5uZXh0KCk7
DQoJCQlMaXN0IHN1YkVudHJpZXMgPSBsb2FkZXIuZ2V0Q29uZmlnRW50cmll
cygpOw0KCQkJZW50cmllcy5hZGRBbGwoc3ViRW50cmllcyk7DQoJCX0NCgkJ
cmV0dXJuIGVudHJpZXM7DQoJfQ0KDQoJcHVibGljIE9iamVjdCBnZXRDb25m
aWdEYXRhKFN0cmluZyBrZXkpIHsNCgkJZm9yIChJdGVyYXRvciBpdCA9IF9s
b2FkZXJzLml0ZXJhdG9yKCk7IGl0Lmhhc05leHQoKTspIHsNCgkJCUNocm9t
ZVJlc291cmNlTG9hZGVyIGxvYWRlciA9IChDaHJvbWVSZXNvdXJjZUxvYWRl
cikgaXQubmV4dCgpOw0KCQkJT2JqZWN0IHZhbCA9IGxvYWRlci5nZXRDb25m
aWdEYXRhKGtleSk7DQoJCQlpZiAodmFsICE9IG51bGwpIHsNCgkJCQlyZXR1
cm4gdmFsOw0KCQkJfQ0KCQl9DQoJCXJldHVybiBudWxsOw0KCX0NCn0=

--1243447-16195-1070781618=:3160
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ChromeClassResourceLoader.java"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.WNT.4.56.0312070220181.3160@lydia>
Content-Description: 
Content-Disposition: attachment; filename="ChromeClassResourceLoader.java"

cGFja2FnZSBsdXhvci5jb3JlLmxvYWRlcjsNCg0KaW1wb3J0IGhvdXN0b24u
TG9nZ2VyOw0KDQppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsNCmltcG9y
dCBqYXZhLmlvLklucHV0U3RyZWFtOw0KaW1wb3J0IGphdmEubmV0LlVSTDsN
CmltcG9ydCBqYXZhLnV0aWwuQXJyYXlMaXN0Ow0KaW1wb3J0IGphdmEudXRp
bC5IYXNoTWFwOw0KaW1wb3J0IGphdmEudXRpbC5JdGVyYXRvcjsNCmltcG9y
dCBqYXZhLnV0aWwuTGlzdDsNCmltcG9ydCBqYXZhLnV0aWwuUHJvcGVydGll
czsNCg0KaW1wb3J0IGx1eG9yLmNvcmUuWHVsOw0KaW1wb3J0IGx1eG9yLmNv
cmUuY29uZmlnLlhtbENvbmZpZ0xvYWRlcjsNCmltcG9ydCBsdXhvci5zcGku
Q2hyb21lUmVzb3VyY2VMb2FkZXI7DQoNCmltcG9ydCBvcmcuamRvbS5KRE9N
RXhjZXB0aW9uOw0KDQppbXBvcnQgY2FyYW1lbC51dGlsLkRlYnVnVXRpbHM7
DQoNCnB1YmxpYyBjbGFzcyBDaHJvbWVDbGFzc1Jlc291cmNlTG9hZGVyIGlt
cGxlbWVudHMgQ2hyb21lUmVzb3VyY2VMb2FkZXIgew0KCXN0YXRpYyBMb2dn
ZXIgVCA9IExvZ2dlci5nZXRMb2dnZXIoQ2hyb21lQ2xhc3NSZXNvdXJjZUxv
YWRlci5jbGFzcyk7DQoNCglDbGFzcyBfYW5jaG9yOw0KCUhhc2hNYXAgX2Nv
bmZpZzsNCg0KCXB1YmxpYyBDaHJvbWVDbGFzc1Jlc291cmNlTG9hZGVyKENs
YXNzIGFuY2hvcikgew0KCQlfYW5jaG9yID0gYW5jaG9yOw0KCQlfY29uZmln
ID0gbmV3IEhhc2hNYXAoKTsNCg0KCQlsb2FkQ29uZmlnRGF0YSgpOw0KDQoJ
CVQuZGVidWcoIi0tIGJlZ2luIGR1bXAgY29uZmlnIGRhdGEgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tIik7DQoJCURlYnVnVXRpbHMuZHVtcE1hcChfY29uZmln
KTsNCgkJVC5kZWJ1ZygiLS0gZW5kIGR1bXAgY29uZmlnIGRhdGEgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0iKTsNCgl9DQoNCglwcml2YXRlIHZvaWQgbG9h
ZENvbmZpZ0RhdGEoKSB7DQoJCS8vIHRvZG86IGxvYWQgdXNlci1kZWZpbmVk
IGxvY2FsZSBhbmQgZmFsbGJhY2sgbG9jYWxlIG9ubHkNCgkJU3RyaW5nIGlu
ZGV4UmVzID0gImxvY2FsZS9pbmRleC5wcm9wZXJ0aWVzIjsNCgkJSW5wdXRT
dHJlYW0gaXMgPSBfYW5jaG9yLmdldFJlc291cmNlQXNTdHJlYW0oaW5kZXhS
ZXMpOw0KCQlpZiAoaXMgPT0gbnVsbCkgew0KCQkJWHVsLndhcm5pbmcoIm5v
IGxvY2FsZSBpbmRleCByZXNvdXJjZSBmb3VuZCBpbiBjaHJvbWUgcGFja2Fn
ZSIpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCVByb3BlcnRpZXMgaW5kZXhQcm9w
cyA9IG5ldyBQcm9wZXJ0aWVzKCk7DQoJCXRyeSB7DQoJCQlpbmRleFByb3Bz
LmxvYWQoaXMpOw0KCQl9IGNhdGNoIChJT0V4Y2VwdGlvbiBpb2UpIHsNCgkJ
CVh1bC53YXJuaW5nKCJlcnJvciBsb2FkaW5nIGxvY2FsZSBpbmRleCByZXNv
dXJjZSIpOw0KCQl9DQoJCWZvciAoSXRlcmF0b3IgaXQgPSBpbmRleFByb3Bz
LnZhbHVlcygpLml0ZXJhdG9yKCk7IGl0Lmhhc05leHQoKTspIHsNCgkJCVN0
cmluZyBlbnRyeSA9ICJsb2NhbGUvIiArIChTdHJpbmcpIGl0Lm5leHQoKTsN
CgkJCWxvYWRDb25maWdEYXRhKGVudHJ5KTsNCgkJfQ0KCX0NCg0KCXByaXZh
dGUgdm9pZCBsb2FkQ29uZmlnRGF0YShTdHJpbmcgZW50cnkpIHsNCgkJaWYg
KGVudHJ5LnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoIi54bWwiKSkgew0KCQkJ
dHJ5IHsNCgkJCQlULmRlYnVnKCJsb2FkaW5nIHhtbCBjb25maWcgcmVzb3Vy
Y2UgIiArIGVudHJ5KTsNCgkJCQlYbWxDb25maWdMb2FkZXIgbG9hZGVyID0g
bmV3IFhtbENvbmZpZ0xvYWRlcihfY29uZmlnKTsNCgkJCQlsb2FkZXIubG9h
ZChfYW5jaG9yLmdldFJlc291cmNlQXNTdHJlYW0oZW50cnkpKTsNCgkJCQlU
LmRlYnVnKCJ4bWwgY29uZmlnIHJlc291cmNlICIgKyBlbnRyeSArICIgc3Vj
Y2Vzc2Z1bGx5IGxvYWRlZCIpOw0KCQkJfSBjYXRjaCAoSkRPTUV4Y2VwdGlv
biBqZXgpIHsNCgkJCQlYdWwuZXJyb3IoDQoJCQkJCSJmYWlsZWQgdG8gcGFy
c2UgeG1sIGNvbmZpZyByZXNvdXJjZSAnIg0KCQkJCQkJKyBlbnRyeQ0KCQkJ
CQkJKyAiJzogIg0KCQkJCQkJKyBqZXgudG9TdHJpbmcoKSk7DQoJCQl9DQoJ
CX0gZWxzZSAvLyBhc3N1bWUgamF2YSBwcm9wZXJ0aWVzIGJ5IGRlZmF1bHQN
CgkJCXsNCgkJCXRyeSB7DQoJCQkJVC5kZWJ1ZygibG9hZGluZyBwcm9wZXJ0
aWVzIGNvbmZpZyByZXNvdXJjZSAiICsgZW50cnkpOw0KCQkJCVByb3BlcnRp
ZXMgdGVtcFByb3BzID0gbmV3IFByb3BlcnRpZXMoKTsNCgkJCQl0ZW1wUHJv
cHMubG9hZChfYW5jaG9yLmdldFJlc291cmNlQXNTdHJlYW0oZW50cnkpKTsN
CgkJCQlULmRlYnVnKCItLSBiZWdpbiBkdW1wIGphdmEgcHJvcHMgLS0tLS0t
LS0tLS0tLS0tLSIpOw0KCQkJCURlYnVnVXRpbHMuZHVtcE1hcCh0ZW1wUHJv
cHMpOw0KCQkJCVQuZGVidWcoIi0tIGVuZCBkdW1wIGphdmEgcHJvcHMgLS0t
LS0tLS0tLS0tLS0tLS0tLSIpOw0KCQkJCS8vIG1lcmdlIGFsbCBwcm9wZXJ0
aWVzIGludG8gb25lIHRhYmxlDQoJCQkJX2NvbmZpZy5wdXRBbGwodGVtcFBy
b3BzKTsNCgkJCQlULmRlYnVnKCJwcm9wZXJ0aWVzIGNvbmZpZyByZXNvdXJj
ZSAiICsgZW50cnkgKyAiIHN1Y2Nlc3NmdWxseSBsb2FkZWQiKTsNCgkJCX0g
Y2F0Y2ggKElPRXhjZXB0aW9uIGlvZXgpIHsNCgkJCQlYdWwuZXJyb3IoDQoJ
CQkJCSJmYWlsZWQgdG8gbG9hZCBwcm9wZXJ0aWVzIGluIHJlc291cmNlICci
DQoJCQkJCQkrIGVudHJ5DQoJCQkJCQkrICInOiAiDQoJCQkJCQkrIGlvZXgu
Z2V0TWVzc2FnZSgpKTsNCgkJCX0NCgkJfQ0KCX0NCg0KCXB1YmxpYyBVUkwg
Z2V0UmVzb3VyY2VBc1VybChTdHJpbmcgbmFtZSkgew0KCQlULmRlYnVnKCJu
YW1lPSIgKyBuYW1lKTsNCgkJcmV0dXJuIF9hbmNob3IuZ2V0UmVzb3VyY2Uo
bmFtZSk7DQoJfQ0KDQoJcHVibGljIElucHV0U3RyZWFtIGdldFJlc291cmNl
QXNTdHJlYW0oU3RyaW5nIG5hbWUpIHsNCgkJVC5kZWJ1ZygibmFtZT0iICsg
bmFtZSk7DQoJCXJldHVybiBfYW5jaG9yLmdldFJlc291cmNlQXNTdHJlYW0o
bmFtZSk7DQoJfQ0KDQoJcHVibGljIE9iamVjdCBnZXRDb25maWdEYXRhKFN0
cmluZyBrZXkpIHsNCgkJcmV0dXJuIF9jb25maWcuZ2V0KGtleSk7DQoJfQ0K
DQoJcHVibGljIExpc3QgZ2V0Q29uZmlnRW50cmllcygpIHsNCgkJcmV0dXJu
IGxvYWRFbnRyaWVzRnJvbUluZGV4KCJjb25maWcvaW5kZXgucHJvcGVydGll
cyIsICJjb25maWciKTsNCgl9DQoNCglwdWJsaWMgTGlzdCBnZXRCb290c3Ry
YXBFbnRyaWVzKCkgew0KCQlyZXR1cm4gbG9hZEVudHJpZXNGcm9tSW5kZXgo
InN0YXJ0dXAvaW5kZXgucHJvcGVydGllcyIsICJzdGFydHVwIik7DQoJfQ0K
DQoJcHJpdmF0ZSBMaXN0IGxvYWRFbnRyaWVzRnJvbUluZGV4KFN0cmluZyBp
bmRleFJlcywgU3RyaW5nIGludGVybmFsUGF0aCkgew0KCQlMaXN0IGVudHJp
ZXMgPSBuZXcgQXJyYXlMaXN0KCk7DQoJCVByb3BlcnRpZXMgaW5kZXhQcm9w
cyA9IG5ldyBQcm9wZXJ0aWVzKCk7DQoJCUlucHV0U3RyZWFtIGlzID0gX2Fu
Y2hvci5nZXRSZXNvdXJjZUFzU3RyZWFtKGluZGV4UmVzKTsNCgkJaWYgKGlz
ID09IG51bGwpIHsNCgkJCVh1bC53YXJuaW5nKA0KCQkJCSJubyAiICsgaW50
ZXJuYWxQYXRoICsgIiBpbmRleCByZXNvdXJjZSBmb3VuZCBpbiBjaHJvbWUg
cGFja2FnZSIpOw0KCQl9IGVsc2Ugew0KCQkJdHJ5IHsNCgkJCQlpbmRleFBy
b3BzLmxvYWQoaXMpOw0KCQkJfSBjYXRjaCAoSU9FeGNlcHRpb24gaW9lKSB7
DQoJCQkJWHVsLndhcm5pbmcoImVycm9yIGxvYWRpbmcgIiArIGludGVybmFs
UGF0aCArICIgaW5kZXggcmVzb3VyY2UiKTsNCgkJCX0NCgkJfQ0KCQlmb3Ig
KEl0ZXJhdG9yIGl0ID0gaW5kZXhQcm9wcy52YWx1ZXMoKS5pdGVyYXRvcigp
OyBpdC5oYXNOZXh0KCk7KSB7DQoJCQlTdHJpbmcgZW50cnkgPSBpbnRlcm5h
bFBhdGggKyAiLyIgKyAoU3RyaW5nKSBpdC5uZXh0KCk7DQoJCQllbnRyaWVz
LmFkZChlbnRyeSk7DQoJCX0NCgkJcmV0dXJuIGVudHJpZXM7DQoJfQ0KfQ==

--1243447-16195-1070781618=:3160--


-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click