�� p a c k a g e c o m . m o u s e o v e r s t u d i o . h a m l 4 j ;
i m p o r t s t a t i c c o m . m o u s e o v e r s t u d i o . h a m l 4 j . H a m l 4 j H e l p e r . h a m l 4 j R u b y S c r i p t ;
i m p o r t s t a t i c c o m . m o u s e o v e r s t u d i o . h a m l 4 j . H a m l 4 j H e l p e r . j R u b y E n g i n e ;
i m p o r t s t a t i c c o m . m o u s e o v e r s t u d i o . h a m l 4 j . H a m l 4 j H e l p e r . n e w C o n t e x t ;
i m p o r t s t a t i c c o m . m o u s e o v e r s t u d i o . h a m l 4 j . H a m l 4 j H e l p e r . s c r i p t I n ;
i m p o r t s t a t i c c o m . m o u s e o v e r s t u d i o . h a m l 4 j . H a m l 4 j H e l p e r . t e m p l a t e B i n d e d T o ;
i m p o r t s t a t i c c o m . m o u s e o v e r s t u d i o . h a m l 4 j . H a m l 4 j H e l p e r . u r l F r o m ;
i m p o r t s t a t i c c o m . m o u s e o v e r s t u d i o . h a m l 4 j . H a m l 4 j H e l p e r . w r i t e ;
i m p o r t s t a t i c c o m . m o u s e o v e r s t u d i o . h a m l 4 j . H a m l 4 j H e l p e r . w r o n g J a r ;
i m p o r t j a v a . i o . I O E x c e p t i o n ;
i m p o r t j a v a x . s c r i p t . C o m p i l a b l e ;
i m p o r t j a v a x . s c r i p t . C o m p i l e d S c r i p t ;
i m p o r t j a v a x . s c r i p t . S c r i p t C o n t e x t ;
i m p o r t j a v a x . s c r i p t . S c r i p t E n g i n e ;
i m p o r t j a v a x . s c r i p t . S c r i p t E x c e p t i o n ;
i m p o r t j a v a x . s c r i p t . S i m p l e S c r i p t C o n t e x t ;
i m p o r t j a v a x . s e r v l e t . S e r v l e t C o n f i g ;
i m p o r t j a v a x . s e r v l e t . S e r v l e t E x c e p t i o n ;
i m p o r t j a v a x . s e r v l e t . h t t p . H t t p S e r v l e t ;
i m p o r t j a v a x . s e r v l e t . h t t p . H t t p S e r v l e t R e q u e s t ;
i m p o r t j a v a x . s e r v l e t . h t t p . H t t p S e r v l e t R e s p o n s e ;
p u b l i c c l a s s H a m l 4 j S e r v l e t e x t e n d s H t t p S e r v l e t {
p r i v a t e S t r i n g v i e w s R e l a t i v e P a t h = " . . / . . / " ;
p r i v a t e C o m p i l e d S c r i p t c o m p i l e d S c r i p t ;
p u b l i c v o i d i n i t ( ) {
f i n a l S c r i p t E n g i n e e n g i n e = j R u b y E n g i n e ( ) ;
t r y {
e n g i n e . e v a l ( h a m l 4 j R u b y S c r i p t ( ) ) ;
c o m p i l e d S c r i p t = ( ( C o m p i l a b l e ) e n g i n e ) . c o m p i l e ( " r e n d e r ( ) " ) ;
} c a t c h ( f i n a l E x c e p t i o n e ) {
e . p r i n t S t a c k T r a c e ( ) ;
w r o n g J a r ( ) ;
}
}
p u b l i c H a m l 4 j S e r v l e t ( ) {
}
p u b l i c H a m l 4 j S e r v l e t ( f i n a l S t r i n g v i e w s R e l a t i v e P a t h ) {
t h i s . v i e w s R e l a t i v e P a t h = v i e w s R e l a t i v e P a t h ;
}
@ O v e r r i d e
p u b l i c v o i d d o G e t ( f i n a l H t t p S e r v l e t R e q u e s t r e q ,
f i n a l H t t p S e r v l e t R e s p o n s e r e s p ) t h r o w s I O E x c e p t i o n {
p r o c e s s ( r e q , r e s p ) ;
}
p u b l i c v o i d p r o c e s s ( f i n a l H t t p S e r v l e t R e q u e s t r e q u e s t ,
f i n a l H t t p S e r v l e t R e s p o n s e r e s p o n s e ) t h r o w s I O E x c e p t i o n {
f i n a l S t r i n g t e m p l a t e U r l = v i e w s R e l a t i v e P a t h
+ t e m p l a t e B i n d e d T o ( r e q u e s t ) ;
f i n a l S i m p l e S c r i p t C o n t e x t c o n t e x t = n e w C o n t e x t ( ) . w i t h V a r i a b l e s F r o m (
s c r i p t I n ( t e m p l a t e U r l ) ) . a v a i l a b l e I n ( r e q u e s t ) ;
c o n t e x t . s e t A t t r i b u t e ( " f i l e " , u r l F r o m ( t e m p l a t e U r l ) ,
S c r i p t C o n t e x t . E N G I N E _ S C O P E ) ;
t r y {
i f ( c o m p i l e d S c r i p t = = n u l l ) {
t h i s . i n i t ( ) ;
}
f i n a l S t r i n g r e s u l t = ( S t r i n g ) c o m p i l e d S c r i p t . e v a l ( c o n t e x t ) ;
w r i t e ( r e s u l t ) . i n ( r e s p o n s e ) ;
} c a t c h ( f i n a l S c r i p t E x c e p t i o n e ) {
w r o n g J a r ( ) ;
}
}
}