Loading de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/TTCN3RuntimeModule.java +21 −0 Original line number Diff line number Diff line Loading @@ -3,10 +3,31 @@ */ package de.ugoe.cs.swe; import org.apache.log4j.Logger; import org.eclipse.xtext.scoping.IScope; import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; import org.eclipse.xtext.util.PolymorphicDispatcher; import com.google.inject.Binder; import com.google.inject.TypeLiteral; import com.google.inject.name.Names; import de.ugoe.cs.swe.scoping.TTCN3ScopeErrorHandler; /** * Use this class to register components to be used at runtime / without the Equinox extension registry. */ public class TTCN3RuntimeModule extends AbstractTTCN3RuntimeModule { public void configureErrorHandler(Binder binder) { Logger logger = Logger.getLogger(PolymorphicDispatcher.class); //PolymorphicDispatcher.ErrorHandler<IScope> handler = new TTCN3ScopeErrorHandler<IScope>( logger ); PolymorphicDispatcher.ErrorHandler<IScope> handler = new PolymorphicDispatcher.NullErrorHandler<IScope>(); binder.bind(new TypeLiteral<PolymorphicDispatcher.ErrorHandler<IScope>>(){}) .annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_ERROR_HANDLER)) .toInstance( handler ); } } de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/scoping/TTCN3ScopeErrorHandler.java 0 → 100644 +24 −0 Original line number Diff line number Diff line package de.ugoe.cs.swe.scoping; import org.apache.log4j.Logger; import org.eclipse.xtext.util.PolymorphicDispatcher.ErrorHandler; public class TTCN3ScopeErrorHandler<IScope> implements ErrorHandler<IScope> { private Logger logger; public TTCN3ScopeErrorHandler( Logger logger ) { this.logger = logger; } @Override public IScope handle( Object[] params, Throwable throwable ) { if( !(throwable instanceof NoSuchMethodException ) ) { logger.warn("Error in polymorphic dispatcher : "+throwable.getMessage(), throwable); } return null; } } Loading
de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/TTCN3RuntimeModule.java +21 −0 Original line number Diff line number Diff line Loading @@ -3,10 +3,31 @@ */ package de.ugoe.cs.swe; import org.apache.log4j.Logger; import org.eclipse.xtext.scoping.IScope; import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; import org.eclipse.xtext.util.PolymorphicDispatcher; import com.google.inject.Binder; import com.google.inject.TypeLiteral; import com.google.inject.name.Names; import de.ugoe.cs.swe.scoping.TTCN3ScopeErrorHandler; /** * Use this class to register components to be used at runtime / without the Equinox extension registry. */ public class TTCN3RuntimeModule extends AbstractTTCN3RuntimeModule { public void configureErrorHandler(Binder binder) { Logger logger = Logger.getLogger(PolymorphicDispatcher.class); //PolymorphicDispatcher.ErrorHandler<IScope> handler = new TTCN3ScopeErrorHandler<IScope>( logger ); PolymorphicDispatcher.ErrorHandler<IScope> handler = new PolymorphicDispatcher.NullErrorHandler<IScope>(); binder.bind(new TypeLiteral<PolymorphicDispatcher.ErrorHandler<IScope>>(){}) .annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_ERROR_HANDLER)) .toInstance( handler ); } }
de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/scoping/TTCN3ScopeErrorHandler.java 0 → 100644 +24 −0 Original line number Diff line number Diff line package de.ugoe.cs.swe.scoping; import org.apache.log4j.Logger; import org.eclipse.xtext.util.PolymorphicDispatcher.ErrorHandler; public class TTCN3ScopeErrorHandler<IScope> implements ErrorHandler<IScope> { private Logger logger; public TTCN3ScopeErrorHandler( Logger logger ) { this.logger = logger; } @Override public IScope handle( Object[] params, Throwable throwable ) { if( !(throwable instanceof NoSuchMethodException ) ) { logger.warn("Error in polymorphic dispatcher : "+throwable.getMessage(), throwable); } return null; } }