通过Play Controller-Action中的#flatMap()链接Promise

我想问一下我的工作是否合适,或者是否有更好/更有效/更简单的方法。 场景: 用户使用电子邮件地址和密码登录,将路由到login() – 操作 如果用户已在数据库中并且密码已经过哈希处理,请使用DB-user进行身份validation并返回结果承诺 如果用户不在数据库中或没有密码哈希,请使用login-data执行Web服务请求并从响应中解析状态 – >返回Status -instance 检查用户的状态并返回结果承诺 码: public Promise login() { Promise userPromise = Promise.promise(() -> User.findByName(login.emailAddress)); return userPromise.flatMap(user -> { if (user != null && user.hasPassword()) { if (user.authenticate(login.password)) { return Promise.pure(ok(“login successful”))); } // password did not match return Promise.pure(unauthorized()); } // user has no password-hash stored, so […]

捕获ANTLR中的错误并找到父级

我发现在解析期间我可以通过覆盖displayRecognitionError来捕获错误,但是如何找到此错误的父“节点”? 恩。 如果我有语法:prog:stat expr; stat:STRING; expr:INTEGER; 并给它输入“abc def”。 然后我将在“def”处得到一个错误,它应该是一个整数。 此时我想获得“expr”的父级(因为它在INTEGER部分内失败)并且它是父级“prog”。 有点像在java中打印堆栈跟踪。 我试图从IdentificationException中查找解析为displayRecognitionError的节点,但它是null,并且使用CommonErrorNode时父节点为null。 我应该采取完全不同的方法吗?

帮助基本的tic tac toe程序

我的生活从未像现在这样沮丧过。 甚至不能在这里做基础…只需要做一个简单的tic tac toe程序。 我现在在这个世界上感到很孤单..我得到了基本的想法,但不能逻辑地把它放在一起。 类实例变量: private char [] [] board; 私人信件 玩家; //’X’或’O’ 方法: 公共TicTacToe() public void print() public boolean play(String s) public boolean won() public boolean stalemate() 这是我的代码: import java.util.Scanner; public class Six1 { public static void main(String[] args) { TicTacToe ttt = new TicTacToe(); ttt.TicTacToe(); ttt.print(); } static class TicTacToe { private […]

如何使用EclipseLink调用函数

如何调用使用EclipseLink返回sys_refcursor的Oracle函数? 有一个文档说明了调用一个函数,但不知道如何调用一个返回sys_refcursor的函数。 http://eclipse.org/eclipselink/documentation/2.4/jpa/extensions/a_namedstoredfunctionquery.htm 我试过如下 @NamedStoredFunctionQuery(name = “findEmployees”, functionName = “getEmps”, parameters = { @StoredProcedureParameter(queryParameter = “user”, name = “username”, direction = Direction.IN, type = String.class) } , returnParameter = @StoredProcedureParameter(queryParameter = “c_cursor”) ) Oraclefunction CREATE or REPLACE FUNCTION getEmps (username varchar2) RETURN SYS_REFCURSOR AS c_cursor SYS_REFCURSOR; BEGIN OPEN c_cursor FOR SELECT * FROM employees where […]

Java / SWT:如何从嵌入式窗口接收鼠标事件

我正在使用’reparenting’将Windows应用程序嵌入到我的SWT应用程序中。 那部分工作正常。 我现在想将我的SWT应用程序挂钩到嵌入式应用程序的消息队列中以接收鼠标移动事件。 我看到SWT中的操作系统类有许多有趣的方法来添加钩子,但我还是无法弄清楚如何使用它们。 有人可以帮忙吗? 谢谢

如何将SQLite数据库打包到jar中?

我有一个Java项目,它使用一个小的SQLite数据库。 现在我想创建一个可执行jar文件,里面有Database文件和驱动程序( sqlitejdbc-v056 ),只有一个包含所有内容的包。 我的包结构如下所示: Bank | | +—src | … | +—bin | … | +—data | bank_database.db | +—img | ajax-refresh-icon.gif | +—doc | Datenbankschema.uxf | \—resources sqlitejdbc-v056.jar 我使用这个小Java类访问数据库: package model; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBHandle { Connection conn; public DBHandle() throws Exception { Class.forName(“org.sqlite.JDBC”); } public Connection openConnection() […]

Hibernate / JPA,保存新实体,同时仅在@OneToOne关联上设置id

我有两个实体, class A { @OneToOne B b; } class B { … lots of properties and associations … } 当我创建新的A()然后保存时,我只想设置b的id。 所以新的A()。setB(new B()。setId(123)) 。 然后保存并让数据库保留它。 我真的不需要或者想要首先从数据库中获取整个B,以填充A的实例。 我记得这曾经工作过,但是当我测试的时候却没有。 我也尝试过Cascade All 。

在非活动类中获取Android App Start Time

我想获得android应用程序的开始日期时间。 最简单的方法是注意onCreate活动类中的当前时间,但我的问题是我正在创建一个带有一些实用程序函数的android库。 我想找出库本身内最终用户应用程序(即使用库)的开始日期时间。 我不想让应用程序开发人员记下onCreate方法中的开始时间并传递给库方法。 考虑到这种情况,有没有办法做到这一点?

使用未知行数的文本创建图像

我想将一串文本转换为图像。 问题是,如果文本比图像的长度宽,我想要文本换行,并且图像的高度要动态resize以完全适合文本,这样我就知道文本占用了多少空间。 我在Java工作,我尝试了几件事: 在JPanel中呈现HTML并保存为BufferedImage。 这里的问题是我使用的大多数css被JPanel忽略,图像无法使用。 使用ImageMagick和img4Java。 这个解决方案的两大失败是我需要安装命令行工具,这是我在服务器上无法做到的。 第二个是我无法轻松将图像转换为缓冲图像,以便在应用程序的其余部分中使用。 有没有人知道在Java中这样做的方法? 谢谢!

如何使用flowlayout(或任何自定义布局)

我是android的新手,正在寻找像控件一样的wrappanel(wpf)。 我找到了一个名为FlowLayout的类(这个类的代码在我的问题的底部)。 我在这个文件夹中添加了这个类:MyApp-src-Layouts-FlowLayout.java 在我的mylayout.xml中,我想在另一个布局中使用此布局: 但是我收到一个错误:找不到以下类: – com.myapp.FlowLayout(修复构建路径,编辑XML,创建类) 这是FlowLayoutClass: package Layouts; import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; public class FlowLayout extends ViewGroup { private int line_height; public static class LayoutParams extends ViewGroup.LayoutParams { public final int horizontal_spacing; public final int vertical_spacing; /** * @param horizontal_spacing Pixels between items, horizontally * @param vertical_spacing Pixels between […]