小编Pat*_*ard的帖子

Java枚举重写toString()

我之前从未真正使用Java枚举类来获取常量值,我过去通常使用"公共最终"方法.我现在开始使用枚举,并且我重写了toString()方法以返回与枚举名称不同的值.

我有一些JPA代码,我在其中创建一个带有命名参数的TypedQuery,其中一个是枚举值的String表示.如果我只使用Status.ACTIVE设置参数,我会得到正确的"A"值,但会抛出异常,因为它的类型实际上是Status而不是String.它只有在我显式调用toString()方法时才有效.我认为简单地重写toString()方法会导致返回一个String类型,无论类类型是什么.

这是枚举:

public enum Status {
    ACTIVE ("A"),
    PENDING ("P"),
    FINISHED ("F");

    private final String value;

    Status(String value) {
        this.value = value;
    }

    public String toString() {
        return value;
    }
};
Run Code Online (Sandbox Code Playgroud)

这是TypedQuery:

    TypedQuery<MechanicTimeEvent> query = entityManager().createQuery("SELECT o FROM MechanicTimeEvent o WHERE o.id.mechanicNumber = :mechanicNumber AND o.id.status = :status", MechanicTimeEvent.class);
    query.setParameter("mechanicNumber", mechanicNumber);
    query.setParameter("status", Status.ACTIVE.toString());
Run Code Online (Sandbox Code Playgroud)

java enums jpa tostring

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

使用yeoman-maven-plugin无法使用npm install错误执行构建

我正在尝试使用我的maven webapp上的yeoman-maven-plugin.当我运行"clean install -DskipTests = true -X"时,我得到以下输出.由于"yo"目录确实存在于我的项目的根目录中,所以不确定发生了什么.我在该目录中运行"yo angular --minsafe"来初始化应用程序.

[ERROR] Failed to execute goal com.github.trecloux:yeoman-maven-plugin:0.1:build (default) on project map-trucks: Error during : npm install: Cannot run program "npm" (in directory "/Users/patrick/IdeaProjects/XTL/map-trucks/yo"): error=2, No such file or directory -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.github.trecloux:yeoman-maven-plugin:0.1:build (default) on project map-trucks: Error during : npm install
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at …
Run Code Online (Sandbox Code Playgroud)

maven angularjs yeoman

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

lambda中的Java 8 lambda不能修改外部lambda中的变量

假设我有一个List<String>和一个List<Transfomer>.我想将每个变换器应用于列表中的每个字符串.

使用Java 8 lambdas,我可以这样做:

strings.stream().map(s -> {
    for(Transformer t : transformers) {
        s = t.apply(s);
    }
    return s;
}).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

但我想做更像这样的事情,但是它会导致编译时错误:

strings.stream().map(s -> transformers.stream().forEach(t -> s = t.apply(s))).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

我刚刚开始玩lambdas,所以也许我只是没有正确的语法.

java lambda java-8

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

Spring Security 3.1.3 @EnableWebSecurity

我无法在Spring Security 3.1.3中找到哪个包包含@EnableWebSecurity.我添加了core,config,web和ldap安全包,但注释仍然不可用.它被另一个注释取代了吗?

spring spring-mvc spring-security

2
推荐指数
1
解决办法
4223
查看次数

Domino Data Services REST请求不断给出错误404

我按照这里的快速设置来运行DDS.我确信我做的正确,但是当我尝试针对测试应用程序的REST GET请求时,它只会一直返回404.有什么方法可以在服务器级别验证我的设置吗?

在我的服务器日志中,当我发出请求时,我看到:

HTTP Web服务器:找不到设计说明 - api/data/documents [/test/testmissupport.nsf/api/data/documents]匿名

rest lotus-notes lotus-domino

2
推荐指数
1
解决办法
2966
查看次数

Spring Data Pageable打破了Spring Data JPA OrderBy

我有一个带有查找程序的简单JpaRepository,该查找程序按降序返回由名为“ number”的属性排序的记录。“ number”属性也是我实体的@Id。这很好用,但是有成千上万的记录,因此我想返回一个Page而不是一个List。

@Repository
public interface ReceiptRepository extends JpaRepository<Receipt, BigDecimal> {

    @Query
    public List<Receipt> findByStorerOrderByNumberDesc(String storer);
}
Run Code Online (Sandbox Code Playgroud)

如果我将查找器更改为以下内容,则排序将不再起作用。我试过使用Pageable参数的排序功能,但是没有用。还删除了OrderByNumberDesc,但结果相同。

@Repository
public interface ReceiptRepository extends JpaRepository<Receipt, BigDecimal> {

    @Query
    public Page<Receipt> findByStorerOrderByNumberDesc(String storer, Pageable pageable);
}
Run Code Online (Sandbox Code Playgroud)

编辑-添加的控制器方法

以下是我的控制器方法。

@RequestMapping(method = RequestMethod.GET, produces = {"application/json"})
public PagedResources<Receipt> receipts(Pageable pageable, PagedResourcesAssembler assembler) {
    Page<Receipt> receipts = receiptRepository.findByStorer("003845", pageable);
    return assembler.toResource(receipts, receiptResourceAssembler);
}
Run Code Online (Sandbox Code Playgroud)

我觉得这里缺少一些非常基本的东西。

我正在使用Spring Data JPA 1.5.2和Commons 1.7.2。

谢谢 :)

spring jpa spring-data spring-data-jpa

2
推荐指数
1
解决办法
5575
查看次数

如何在使用angular-leaflet-directive时自定义markercluster图标

Leaflet文档概述了一种使用iconCreateFunction指定MarkerClusterGroup的方法,您可以在其中自定义群集图标的外观.我想知道是否通过angular-leaflet-directive暴露了一些允许这样做的东西,或者是否有一种方法可以在使用指令时使用较低级别的Leaflet API来执行此操作.基本上,我只是想改变颜色变化的值而不是10和100,我也想改变不同值的图标直径.类似于Google MarkerClusterer的东西.

谢谢

javascript maps angularjs leaflet

2
推荐指数
1
解决办法
1570
查看次数

在OSX和Ubuntu上npm install odbc失败

我在OSX和Ubuntu上安装odbc软件包时遇到问题.

我在两台机器上安装了unixODBC.

这是发出"npm install odbc"的输出:

npm http GET https://registry.npmjs.org/odbc
npm http 304 https://registry.npmjs.org/odbc

> odbc@0.6.3 preinstall /home/notes/as400/node_modules/odbc
> node-gyp configure build

Traceback (most recent call last):
  File "/usr/share/node-v0.10.26-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 18, in <module>
    sys.exit(gyp.script_main())
AttributeError: 'module' object has no attribute 'script_main'
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/share/node-v0.10.26-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:337:16)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Linux 3.11.0-12-generic
gyp ERR! command …
Run Code Online (Sandbox Code Playgroud)

macos ubuntu node.js

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

在ReactJS中,我如何将"this"绑定到map()函数中的父组件

给定以下javascript,为了将updateSelectedPages方法从父反应组件传递给函数Image内部的组件.map(),我首先必须将它分配给变量,然后在函数内使用该变量.有没有办法将this函数内部绑定为父反应组件,所以我不必使用临时变量?

var pageNumber = 0;
var updateSelectedPages = this.updateSelectedPages;
var images = this.props.resources.map(function(resource) {
  var arr = [];
  for(var x=0; x<resource.numPages; x++) {
    pageNumber++;
    arr.push(
      <Image src={'import/previewImage/' + resource.encodedName + '?page=' + pageNumber} number={pageNumber} updateSelectedPages={updateSelectedPages} key={pageNumber} />
    );
  }
  return arr;
}).reduce(function(a, b) {
  return a.concat(b);
});
Run Code Online (Sandbox Code Playgroud)

javascript map reactjs

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