1. Java / Говнокод #8615

    +122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    @SuppressWarnings("unused")
    // Sure it's used. By Guice. So stop complaining.
    protected ColQueryProvider() {
    	try {
    		// Exhibit one: ye olde dependency hell.
    		// We *should* be able to just use new EclipseCompiler(), but GWT complains
    		// in dev mode when ECJ is in the Eclipse classpath. So it's not.
    		// ECJ is still loaded by the servlet container, so this is not an issue in deployment.
    		final JavaCompiler compiler = (JavaCompiler)
    				Class.forName("org.eclipse.jdt.internal.compiler.tool.EclipseCompiler").newInstance();
    		
    		// Tweaked based on QueryEngine.DEFAULT
    		final DefaultEvaluatorFactory evaluatorFactory = new DefaultEvaluatorFactory(ColQueryTemplates.DEFAULT,
    				(URLClassLoader) DefaultEvaluatorFactory.class.getClassLoader(), compiler);
    		
    		queryEngine = new DefaultQueryEngine(evaluatorFactory);
    	} catch (final ClassNotFoundException e) {
    		throw new ProvisionException("Eclipse compiler cannot be loaded", e);
    	} catch (final InstantiationException e) {
    		throw new ProvisionException("Eclipse compiler cannot be loaded", e);
    	} catch (final IllegalAccessException e) {
    		throw new ProvisionException("Eclipse compiler cannot be loaded", e);
    	}
    }

    Запостил: someone, 23 Ноября 2011

    Комментарии (0) RSS

    Добавить комментарий

    Ошибка компиляции комментария:
    1. Гости могут высказаться только во вторник, пятницу или субботу
    ava Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код