1 package org.jacorb.notification.filter.etcl; 2 3 23 24 import org.jacorb.notification.filter.EvaluationContext; 25 import org.jacorb.notification.filter.EvaluationException; 26 import org.jacorb.notification.filter.EvaluationResult; 27 import org.jacorb.notification.interfaces.Message; 28 29 33 34 public class TypeNameShorthandNode extends ETCLComponentName 35 { 36 private static final AbstractTCLNode expandedPath_; 37 private static final String COMP_NAME = "$.header.fixed_header.event_type.type_name"; 38 public static final String SHORT_NAME = "type_name"; 39 40 static { 41 try 42 { 43 expandedPath_ = TCLParser.parse( COMP_NAME ); 44 expandedPath_.acceptInOrder( new TCLCleanUp() ); 45 } 46 catch ( Exception e ) 47 { 48 throw new RuntimeException (e.getMessage()); 50 } 51 } 52 53 public TypeNameShorthandNode() 54 { 55 setName( "TypeNameShorthandNode" ); 56 } 57 58 public String getComponentName() 59 { 60 return COMP_NAME; 61 } 62 63 public void acceptInOrder( AbstractTCLVisitor v ) 64 {} 65 66 public void acceptPostOrder( AbstractTCLVisitor v ) 67 {} 68 69 public void acceptPreOrder( AbstractTCLVisitor v ) 70 {} 71 72 public EvaluationResult evaluate( EvaluationContext context ) 73 throws EvaluationException 74 { 75 Message _event = context.getCurrentMessage(); 76 77 EvaluationResult _result; 78 79 switch ( _event.getType() ) 80 { 81 case Message.TYPE_ANY: 82 _result = expandedPath_.evaluate( context ); 83 break; 84 85 case Message.TYPE_STRUCTURED: 86 String _domainName = 87 _event.toStructuredEvent().header.fixed_header.event_type.type_name; 88 89 _result = new EvaluationResult(); 90 _result.setString( _domainName ); 91 break; 92 93 default: 94 throw new RuntimeException (); 95 } 96 97 return _result; 98 } 99 100 public String toString() 101 { 102 return COMP_NAME; 103 } 104 105 } 106 | Popular Tags |