小编veg*_*4me的帖子

使用Akka(使用Java)如何验证我的测试中的演员正在观看另一个演员?

我有以下actor,我想创建单元测试来验证以下行为:

  1. ListeningActor正确注册自己观看listeningTo演员.
  2. ListeningActorlisteningTo演员终止时正确杀死自己.

我该如何验证这两种行为?

我正在使用Akka 2.0.2和Java.

谢谢

public class ListeningActor extends UntypedActor {
    private final ActorRef listeningTo;

    public ListeningActor(final ActorRef listeningTo) {
        this.listeningTo = listeningTo;
    }

    @Override
    public void preStart() {
        super.preStart();
        context().watch(listeningTo);          // <---- To verify
    }

    @Override
    public void onReceive(final Object o) throws Exception {
        if (o instanceof Terminated) {
            Terminated terminated = (Terminated) o;
            if (terminated.equals(listeningTo)) {
                context().stop(self());        // <---- To verify
            }
        } else {
            unhandled(o);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java unit-testing akka

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

Maven发布插件在发布标签下添加trunk文件夹以供发布:准备目标

我的SCM连接信息:

<scm>
    <connection>scm:svn:https://repo/project/trunk</connection>
    <developerConnection>scm:svn:https://repo/project/trunk</developerConnection>
</scm>
Run Code Online (Sandbox Code Playgroud)

我的发布插件配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <tag>RC</tag>
        <autoVersionSubmodules>true</autoVersionSubmodules>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

现在,当我运行时,它确实没有mvn release:prepare提交我的标记版本.如何从将停止下?tags/RCtags/RC/trunktrunkRC

pom.xml maven maven-release-plugin

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

淘汰无容器控制流语法未执行数据绑定

我正在尝试使用Knockout的无容器控制流语法,但运气不佳。好了,实际的控制流程正在运行,但是子HTML元素没有绑定。

我有一个简单的对象:

function Person(name, vegetarian) {
    var self = this;
    self.name = name;
    self.vegetarian= vegetarian;
}
Run Code Online (Sandbox Code Playgroud)

我想要一个所有人的名单,如果他们是素食主义者,则可以链接到素食主义者协会。

<ul data-bind="foreach: people">
<li>
        <!-- ko if: vegetarian() -->
        <a href="http://www.vegsoc.org">
        <!-- /ko -->
        <span data-bind="text: name"></span>
        <!-- ko if: vegetarian() -->
        </a>
        <!-- /ko -->
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/mxmS9/

为什么我的2个人未显示在列表中?

删除ko注释,您至少会看到,它们foreach工作正常。

我使用无容器控制流语法,因为在我的实际项目中,<span>此示例中的HTML比简单的要多得多,并且我不想重复。

淘汰赛v2.3.0

knockout.js

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

Java bean验证:仅当属性不为空时才强制执行@Pattern

我有一个表单,允许用户可选择输入他们的邮政编码.我知道如何使用@Pattern约束和正则表达式来验证邮政编码的格式.但由于这是一个可选字段,如果格式为空,我不希望验证格式.

@Pattern如果字段为空,如何告诉系统忽略约束?这是一个可选字段,我只想验证它是否为空.

public class MyForm {
    String firstName;
    String lastName;

    @Pattern(regex = "^\d{5}(?:[-\s]\d{4})?$")
    String optionalZipCode;      // <- This is an optional field.
}
Run Code Online (Sandbox Code Playgroud)

hibernate-validator bean-validation

3
推荐指数
2
解决办法
2701
查看次数

cm:content和sys:base之间有什么区别

我创建了一个新的内容模型,并将其继承关联起来cm:content,将节点保存为特定文件夹下的内容.

但是,如果我想将内容模型与sys:base示例关联怎么办?节点将被保存在哪里?如何为节点创建容器?

人和其他内容不继承cm:content,我不希望用户从其他地方管理节点,我想确保用户将管理从新内容模型创建的节点,从创建的对话框和页面设计到提供这样的服务.

所有的回复都非常感谢

Mohammed Amr高级系统开发人员数字系列公司

alfresco

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

CS1607:程序集生成 - 为"文件版本"指定的版本"1.4.0.85725"不是正常的"major.minor.build.revision"格式

(请原谅我在这里混淆了任何条款 - 我是Java开发人员,对.Net和C#不熟悉.如果需要,请在此问题上添加/更正任何标签.)

我正在使用MSBuild脚本来构建我的项目.其中一个任务是编写汇编信息:

<Target Name="UpdateAssemblyInfo">
    <Message Text="Updating assemblies to file version $(AssemblyVersion) ($(AssemblyFileVersion))" Importance="high"/>
    <AssemblyInfo CodeLanguage="CS"
                  OutputFile="SharedAssemblyInfo.cs" 
                  AssemblyVersion="$(AssemblyVersion)"
                  AssemblyFileVersion="$(AssemblyFileVersion)"
                  AssemblyProduct="SVN revision $(BUILD_NUMBER)"/>
</Target>
Run Code Online (Sandbox Code Playgroud)

这转化SharedAssemblyInfo.cs为:

[assembly: System.Reflection.AssemblyVersion("0.0.0")]
Run Code Online (Sandbox Code Playgroud)

对此:

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.18063
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

[assembly: System.Reflection.AssemblyVersion("1.4.0")]
[assembly: System.Reflection.AssemblyFileVersion("1.4.0.85725")]
[assembly: System.Reflection.AssemblyProduct("SVN revision 85725")]
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.除了我在TeamCity的构建日志中看到以下消息:

CSC警告CS1607:程序集生成 - 为"文件版本"指定的版本"1.4.0.85725"不是正常的"major.minor.build.revision"格式

当版本的格式符合警告消息中指定的格式时,为什么会收到此警告?

.net c# msbuild assemblyfileversion

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

React Select:如何强制显示下拉列表以便进行样式设计?

我需要处理React Select下拉选项的样式.我通常使用CSS样式工作的方法是使用Chrome中的开发人员工具,指向页面上的元素并开始调整样式选项卡中的CSS属性,并查看元素如何更改.

样式React Select的下拉选项的问题在于选项仅在元素具有焦点时可见.当我打开开发者工具时,元素失去焦点,下拉消失!

有没有办法让我强制React Select显示下拉选项,而没有元素有焦点?

react-select

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

Alfresco:无法通过路径进行 CMIS 查询

我正在尝试使用以下 CMIS 查询找出 Alfresco 中文件夹的内容:

SELECT * 
FROM cmis:document 
WHERE CONTAINS('PATH:"/app:company_home/st:sites/cm:GM/cm:emir/cm:FAQ//*"')
Run Code Online (Sandbox Code Playgroud)

Node Browser 中,如果我导航到该文件夹​​,我会看到主路径的以下值

(我添加了换行符以使其更易于阅读):

/{http://www.alfresco.org/model/application/1.0}company_home
/{http://www.alfresco.org/model/site/1.0}sites
/{http://www.alfresco.org/model/content/1.0}GM
/{http://www.alfresco.org/model/content/1.0}EMIR
/{http://www.alfresco.org/model/content/1.0}FAQ
Run Code Online (Sandbox Code Playgroud)

但是 Alfresco 失败并显示以下消息:

引起:org.alfresco.scripts.ScriptException:05120032 无法执行脚本'classpath*:alfresco/templates/webscripts/org/alfresco/cmis/queries.post.cmisquery.js':05120 031 未知列/属性路径

我正在针对 Alfresco Community 3.3 进行测试。

alfresco

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

Alfresco Share - 无法更改默认端口号

我试图在其默认端口8080以外的端口上配置Alfresco Community 3.3.我需要它在8989上运行.我想我已将8080的所有实例(在配置文件中提到它)更改为8989,而我能够访问Alfresco Explorer好吗.到现在为止还挺好.

但是,当我尝试访问时,http://localhost:8989/share我得到以下错误

java.io.IOException:无法测试文档路径:远程存储中的alfresco/site-data/configurations/slingshot.site.configuration.xml:由于错误而产生的alfresco:404

我更改的文件如下:

  • 的Tomcat/CONF/server.xml中
  • 的Tomcat /共享/类/露天/网络的扩展/股-CONFIG-custom.xml
  • 的Tomcat/web应用/露天/ WEB-INF /类/露天/文件severs.xml
  • 的Tomcat/web应用/露天/ WEB-INF /类/露天/ repository.properties
  • 的Tomcat/web应用/露天/ WEB-INF /类/露天/子系统/系统管理员/默认/ sysadmin-parameter.properties
  • 的Tomcat/web应用/露天/ WSDL /访问控制-service.wsdl
  • Tomcat的/ webapps /下露天/ WSDL /管理,service.wsdl
  • Tomcat的/ webapps /下露天/ WSDL /动作service.wsdl
  • Tomcat的/ webapps /下露天/ WSDL /认证service.wsdl
  • 的Tomcat/web应用/露天/ WSDL /创作-service.wsdl
  • 的Tomcat/web应用/露天/ WSDL /分类-service.wsdl
  • Tomcat的/ webapps /下露天/ WSDL /内容service.wsdl
  • 的Tomcat/web应用/露天/ WSDL /字典service.wsdl
  • Tomcat的/ webapps /下露天/ WSDL /存储库service.wsdl
  • 虚拟的Tomcat/CONF /服务器minimal.xml
  • 虚拟的Tomcat/CONF/server.xml中

我错过了一些明显的事吗?

(请不要提升升级......)

alfresco alfresco-share

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

Mapstruct:如何将自定义映射器与 @MappingTarget 一起使用

我正在使用 Mapstruct 并且需要使用 更新现有 bean @MappingTarget,但需要应用一些复杂的逻辑来在目标中设置正确的字段。

假设我有一个如下所示的目标 bean。用户有一个帐户列表,其中一个帐户被标记为最喜欢的。

UserDetails {
  String name;
  List<Account> accounts;
}

Account {
  String id;
  boolean favourite;
}
Run Code Online (Sandbox Code Playgroud)

DTO 类包含他们最喜欢的帐户的帐户 ID。

UserDetialsDTO {
  String name;
  String favouriteAccountId;
  List<String> accountIds;
}
Run Code Online (Sandbox Code Playgroud)

我需要使用一些复杂的逻辑来更新Account帐户列表中的正确内容。

UserDetails fromDto(UserDetialsDTO dto, @MappingTarget UserDetails userDetails);
Run Code Online (Sandbox Code Playgroud)

查找并更新正确的内容Account以使其成为最爱的逻辑如下:

userDetails.accounts
           .stream()
           .forEach(acct -> acct.setFavourite(dto.favouriteAccountId.equals(acct.id))) ;
Run Code Online (Sandbox Code Playgroud)

我如何告诉 Mapstruct 在更新 a 时使用此自定义逻辑@MapingTarget

java mapstruct

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

getElementById("id").text返回对象,但应该是此段落的返回值

我有一个HTML/JS项目.问题是,当我想使用getElementById("id").text我得到的对象得到段落的值.

var data = document.getElementById("pid").text;
console.log(data);
Run Code Online (Sandbox Code Playgroud)
<p id="pid" >Hello</p>
Run Code Online (Sandbox Code Playgroud)

Chrome:数据返回: <p id="pid">Hello</p> 但我只想要Hello价值.

谢谢你的回答

html javascript

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