小编mal*_*ouk的帖子

Java - 抽象语法树

我目前正在寻找一个Java 6/7解析器,它生成一些(可能是标准化的)表单抽象语法树.

我已经发现ANTLR有一个Java 6语法,但似乎它只生成解析树,而不是语法树.我还读过有关Java编译器API的文章 - 但是所有提到的资源都是过度设计并且记录不完整(如果它确实生成了AST,我还没发现).

你知道任何好的解析器库,可能作为标准化输出吗?

谢谢

java grammar parsing abstract-syntax-tree

10
推荐指数
1
解决办法
6613
查看次数

为svg:image设置圆角

我试图用d3.js为s svg:image(嵌入在SVG中的图像)制作圆角.我无法找到如何正确设置图像样式,因为根据W3C规范,我应该可以使用CSS,但更好的边框和圆角边缘对我有效.

提前致谢.

  vis.append("svg:image")
     .attr("width", width/3)
     .attr("height", height-10)
     .attr("y", 5)
     .attr("x", 5)      
     .attr("style", "border:1px solid black;border-radius: 15px;")
     .attr("xlink:href",
           "http://www.acuteaday.com/blog/wp-content/uploads/2011/03/koala-australia-big.jpg"); 
Run Code Online (Sandbox Code Playgroud)

编辑:

浏览器测试:Firefox,Chrome

javascript css svg d3.js

9
推荐指数
4
解决办法
1万
查看次数

PowerMock和Java 11

我们在少数历史项目中使用了PowerMock。不幸的是,PowerMock已经死了,并且与Java 11不兼容。

而且我们正在使用mockStatic()。是的,我们知道它被认为是有害的-它在旧代码中,并且我们不希望现在不重写那些类。

有什么选项可以调整PowerMock以支持Java 11?还是可以轻松地用其他兼容Java 11的框架替换它?(Mockito不支持mockStatic)

java junit powermock powermockito

9
推荐指数
2
解决办法
5497
查看次数

获取泛型类类型

嗨,有任何方法在Java中获得静态泛型类类型

我最终得到了构造

    List<TaskLocalConstraints> l = new ArrayList<TaskLocalConstraints>();
    Class<List<TaskLocalConstraints>> c = (Class<List<TaskLocalConstraints>>)l.getClass();
Run Code Online (Sandbox Code Playgroud)

我想知道,如果存在类似的东西:

    Class c = List<TaskLocalConstraints>.class;
Run Code Online (Sandbox Code Playgroud)

(我真的不想构造新的Object只是为了得到它的类型)

谢谢

java generics

7
推荐指数
1
解决办法
1405
查看次数

persistence.xml - spring JPA

我已经阅读了几十篇文章,但我无法弄清楚,错误在哪里......它应该非常简单.我正在尝试使用Spring和JPA在appengine上编写应用程序.

我正在使用JEE5项目(不知道是否重要)

<tx:annotation-driven transaction-manager="transactionManager"/>

<bean id="persistenceUnitManager" class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
    <property name="persistenceXmlLocation">
        <value>classpath*:/META-INF/persistence.xml</value>
    </property>
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="transactions-optional" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>

<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />
<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" />
Run Code Online (Sandbox Code Playgroud)

persistence.xml文件位于META-INF目录(ROOT/META-INF/persistence.xml)

<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">

    <persistence-unit name="transactions-optional">
        <provider>org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider</provider>
        <properties>
            <property name="datanucleus.NontransactionalRead" value="true"/>
            <property name="datanucleus.NontransactionalWrite" value="true"/>
            <property name="datanucleus.ConnectionURL" value="appengine"/>
        </properties>
    </persistence-unit>

</persistence>
Run Code Online (Sandbox Code Playgroud)

我仍然得到这个异常(我试图在src目录中移动meta-inf目录没有成功,异常是相同的)

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'genericJpaDAO': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: …
Run Code Online (Sandbox Code Playgroud)

google-app-engine spring jpa

7
推荐指数
1
解决办法
5720
查看次数

Spring @Autowired in Servlet

我在我的应用程序中使用Spring框架(2.5.4)加载时间编织并且一切正常(在Spring bean中,在非Spring实体中),除非我尝试在注释为@Configurable的servlet中自动装配字段,然后我得到一个很好的NullPointerException ...


@Configurable(dependencyCheck=true)
public class CaptchaServlet extends HttpServlet{
    @Autowired
    private CaptchaServiceIface captchaService;

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    //    ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(config.getServletContext());
    //    captchaService = (CaptchaServiceIface) ctx.getBean("captchaService");
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Captcha c = captchaService.getCatpcha();
        req.getSession().setAttribute("captchaAnswer", c.getAnswer());
        resp.setContentType("image/png");
        ImageIO.write(c.getImage(), "png", resp.getOutputStream());
    }
}
Run Code Online (Sandbox Code Playgroud)
<context:load-time-weaver/>
<context:spring-configured/>
<context:component-scan base-package="cz.flexibla2" />
Run Code Online (Sandbox Code Playgroud)

关于我做错了什么的任何建议?

谢谢.

java spring servlets autowired

5
推荐指数
2
解决办法
9790
查看次数

Log4j - 每个包的日志文件

我正在使用log4j,我无法弄清楚,如何为特定类创建日志文件(在我的情况下为安全消息).

我想要一个全局日志,我将记录所有内容(INFO),以及一些特定于软件包的日志文件,用于我的应用程序的某些部分的调试,测试和安全性.

例如,我想只将事件从LoggerListener(Spring安全性)记录到文件security.log,只有来自我的应用程序的消息包cz.flexibla2*到flexibla2.log*等.

谢谢你的帮助.

log4j

5
推荐指数
0
解决办法
4635
查看次数

如何模拟一个方面

我目前正在使用aspectj开发一些监控工具.因为这个工具应该是技术独立的(尽可能),所以我没有使用Spring进行注射.但我希望我的方面能够进行单元测试.

方面示例:

@Aspect
public class ClassLoadAspect {
    private Repository repository;

    public ClassLoadAspect() {
        repository = OwlApiRepository.getInstance();
    }  

    @After("anyStaticInitialization()")
    public void processStaticInitilization(JoinPoint jp) {
        Class type = jp.getSourceLocation().getWithinType();
        if (type.isInterface()) {
            repository.storeInterfaceInitialization(type);
        } else if (type.isEnum()) {
            repository.storeEnumInitialization(type);
        } else {
            repository.storeClassInitialization(type);
        }

    }

    @Pointcut("staticinitialization(*) && !within(cz.cvut.kbss.odra..*)")
    public void anyStaticInitialization() {
    }

    public Repository getRepository() {
        return repository;
    }

    public void setRepository(Repository repository) {
        this.repository = repository;
    }  
}
Run Code Online (Sandbox Code Playgroud)

但是,我真的不知道,如何构建单元测试(存储库字段应该被模拟(使用mockito)),但我没有控制方面创建,因此我无法手动设置依赖项.我该怎么称呼才能获得实例?或者还有一些其他方案如何对aspectj方面进行单元测试.

谢谢.

java testing aspectj mocking

5
推荐指数
1
解决办法
6753
查看次数

BO中的<=> DTO映射器

我目前在我的应用程序中手动将DTO转换为BO(反之亦然).然而,这种方法很笨拙.

这两个表示之间有没有好的映射器?

我的要求如下:

  • 应支持将JPA代理转换为标识符(DTO不应直接链接到其他DTO).或者这个功能应该易于实现
  • 应基于注释,对配置进行预防
  • 软标准:应允许将多个DTO映射到一个实体(反之亦然)

谢谢你的任何建议.

java reflection dto mapper

4
推荐指数
2
解决办法
7780
查看次数

jsf2:形式:GET方法

我正在尝试在 JSF2 中构造与此代码等效的代码

                <form action="/search.xhtml" method="get">
                    <div class="search">
                        <input type="hidden" name="mutation" value="#{facesContext.viewRoot.locale}" />
                        <input name="searchString" class="text" />
                        <input type="submit" class="searchSubmit" value="#{msg.searchIt}" />
                    </div>
                </form>
Run Code Online (Sandbox Code Playgroud)

此构造的目的是将用户重定向到 search.html 页面,该页面显示搜索结果。该页面使用 URL 参数来解码 searchString 和语言突变。而且因为它使用 get,所以它也是可添加书签的。

对于 JSF2,我尝试使用带有参数的 h:button 进行突变,但我不知道如何强制 jsf 对 h:inputText searchString 进行编码。

感谢您的帮助。

forms get jsf-2

3
推荐指数
1
解决办法
7626
查看次数