Re: [Beanshell-dev] BeanShell javax.script (JSR-223) adapter impl...

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Beanshell-dev] BeanShell javax.script (JSR-223) adapter impl...

MarkSwanson
Patrick Niemeyer wrote:
> If anyone is interested in playing with the javax.script API I've put up
> a snapshot for you here:

Cool!

--
Free replacement for Exchange and Outlook (Contacts and Calendar)
http://www.ScheduleWorld.com/
WAP: http://www.ScheduleWorld.com/sw/WAPToday?id=4000&tz=EST
WebDAV: http://www.ScheduleWorld.com/sw/webDAVDir/4000.ics
VFREEBUSY: http://www.ScheduleWorld.com/sw/freebusy/4000.ifb



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
Beanshell-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/beanshell-developers
Reply | Threaded
Open this post in threaded view
|

Re: RE: [Beanshell-dev] BeanShell javax.script (JSR-223) adapter impl...

Gary Furash-4
Can you explain a bit how things will be different in the javax.scripting world for Beanshell?

Gary Furash
----------
"Life is what happens to you while you're making other plans."



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Beanshell-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/beanshell-developers
Reply | Threaded
Open this post in threaded view
|

Re: [Beanshell-dev] BeanShell javax.script (JSR-223) adapter impl...

MarkSwanson
In reply to this post by MarkSwanson

Patrick Niemeyer wrote:
> If anyone is interested in playing with the javax.script API I've put up
> a snapshot for you here:

I've integrated BeahShell with jsr223 into ScheduleWorld (unsigned JWS
environment) and it works fine. Neat. I pasted some of your test code
from BeanShell/engine/src/TestBshScriptEngine.java and the output I
receive is:

Could not init static:java.security.AccessControlException: access
denied (java.util.PropertyPermission debug read)
Passed...
Passed...
Passed...
Passed...
Passed...
Passed...
Passed...
Passed...
Passed...
Passed...

Interestingly, the javax.script jar file you provided us contains
different constructors than the official JSR (ClassLoader arg to
ScriptEngineManager). Probably a good thing I'm just wondering how much
has changed.

Some neat JWS facts: It's in the sandbox, the bsh/script jar files are
not downloaded (lazy) unless I actually execute bsh code (so I can
dynamically enable this capability without penalizing others who never
want to run scripts - unless I make scripts mandatory at some point).

Also, with pack200 bsh is 142953 bytes, and javax.script is 8508 bytes.
~150KB is a pretty small footprint for some excellent scripting
capability. (JDK1.5 folks auto-grab the pack.gz files and JDk1.4 folks
grab the much larger ones - all taken care of by JWS).

It's also interesting that the scripting environment is very secure.
F.E. scripts can not use reflection to grab protected or private
information from ScheduleWorld internals. The ScheduleWorld public
interface was designed to take advantage of this and provide the
scripting environment access to public interfaces and depending on the
security level of the user the scripting interface gets a read-only
Object (F.E. iCalendar Event) or a read/write Object - or perhaps I'll
always grant scripting read-only access to objects except when manually
granted read-write access.

The nice thing about this is that you can't cast away const correctness
like you can in any other language. It's a water-tight solution to the
problem of having read-only or read-write access to objects.

Since I'm rambling the BSH environment will have access to full
iCalendar Object model and will be able to do things that users have
been requesting for some time - like writing small scripts to output
iCalendar data in custom formats so they can get the data into packages
to print large tournament schedules on the gym wall.

The new features in Java 6 will allow folks to create export scripts to
integrate with timesheet applications, accounting applications, and more
via TCP (yes, even from the sandbox). Well, if Sun fixes the bug I
reported as it still has a dual-DNS-lookup problem. Anyway...

The bsh ClassLoader rules should allow me to create a public and private
repository (via HTTP/XSD - eventually SOAP wrapped) of BSH scripts so
folks can go wild with scripting if they so desire. It will be
interesting to see what folks come up with over the next few years.

I'll post to the list if the existing ClassLoader support is good enough
to let me do this or not. From previous posts to the list it seems Pat
has done this correctly. I'm actually anxious to see if it works out in
practice.

One last thing: It's about time BeanShell is approaching the tipping
point. With sandbox support, JSR223 support, the BeanShell JSR, and JWS
fixes (finally) in 1.5.0[2] it's all coming together. I personally think
the future is very bright - exciting even.

Cheers.


--
Free replacement for Exchange and Outlook (Contacts and Calendar)
http://www.ScheduleWorld.com/
WAP: http://www.ScheduleWorld.com/sw/WAPToday?id=4000&tz=EST
WebDAV: http://www.ScheduleWorld.com/sw/webDAVDir/4000.ics
VFREEBUSY: http://www.ScheduleWorld.com/sw/freebusy/4000.ifb


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
Beanshell-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/beanshell-developers