所以我一直在尝试使用信号收集框架,我下载了.jar文件并将其解压缩到一个文件夹中.目前文件夹结构如下:
LICENSE.txt
PageRank.scala
core-1.1.1-sources.jar
dependencies/
javaapi-1.1.1-sources.jar
NOTICE.txt
README.txt
core-1.1.1.jar
javaapi-1.1.1-javadoc.jar
javaapi-1.1.1.jar
Run Code Online (Sandbox Code Playgroud)
PageRank.scala他们提供的Scala测试代码在哪里,即:
import com.signalcollect._
object PageRank extends App {
val graph = GraphBuilder.build
graph.addVertex(new PageRankVertex(id=1))
graph.addVertex(new PageRankVertex(id=2))
graph.addEdge(new PageRankEdge(sourceId=1, targetId=2))
graph.addEdge(new PageRankEdge(sourceId=2, targetId=1))
graph.execute
graph.foreachVertex(println(_))
graph.shutdown
}
class PageRankVertex(id: Any, dampingFactor: Double=0.85)
extends DataGraphVertex(id=id, state=1-dampingFactor) {
type Signal = Double
def collect(oldState: Double, mostRecentSignals: Iterable[Double]): Double = {
1 - dampingFactor + dampingFactor * mostRecentSignals.sum
}
}
class PageRankEdge(sourceId: Any, targetId: Any)
extends DefaultEdge(sourceId, targetId) …Run Code Online (Sandbox Code Playgroud) HEJ,
我想@Validated(group=Foo.class)在执行如下方法之前使用注释来验证参数:
public void doFoo(Foo @Validated(groups=Foo.class) foo){}
Run Code Online (Sandbox Code Playgroud)
当我将此方法放在我的Spring应用程序的Controller中时,@Validated执行并在Foo对象无效时抛出错误.但是,如果我在应用程序的Service层中的方法中放置相同的东西,则不执行验证,即使Foo对象无效,该方法也会运行.
你不能@Validated在服务层使用注释吗?或者我是否必须配置额外的东西以使其工作?
更新:
我在service.xml中添加了以下两个bean:
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
<bean class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor"/>
Run Code Online (Sandbox Code Playgroud)
并取代了@Validate用@Null像这样:
public void doFoo(Foo @Null(groups=Foo.class) foo){}
Run Code Online (Sandbox Code Playgroud)
我知道这是一个非常愚蠢的注释,但我想检查一下,如果我现在调用该方法并传递null,它将抛出违规异常.那为什么它执行@Null注释而不是@Validate注释?我知道一个javax.validation来自Spring,另一个来自Spring,但我不认为这与它有什么关系?
如果使用以下代码检查缺少的元素:
// ...
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
try {
driver.findElement(By.cssSelector("td.name"));
} catch (NoSuchElementException e) {
// here you go, element not found
}
Run Code Online (Sandbox Code Playgroud)
你得到了正确的结果,但由于findElement隐式等待的方法阻塞,运行时间总是30秒.
有没有办法避免这种行为,同时保持隐含的等待?
<EDIT> 测试将由非开发人员通过Selenium IDE生成,因此我需要一个解决方案,使他们的工作尽可能简单(保持等待隐含!). </EDIT>
谢谢,
马尔科
我有一个图表,每个顶点连接到6个邻居.在构建图形并进行连接声明时,我想使用如下语法:
1. val vertex1, vertex2 = new Vertex
2. val index = 3 // a number between 0 and 5
3. vertex1 + index = vertex2
Run Code Online (Sandbox Code Playgroud)
结果应该是vertex2被宣告分配为index的个邻居vertex1,相当于:
4. vertex1.neighbors(index) = vertex2
Run Code Online (Sandbox Code Playgroud)
在执行时擦拭Vertex.+,我想出了以下内容:
5. def +(idx: Int) = neighbors(idx)
Run Code Online (Sandbox Code Playgroud)
实际上,非常令人惊讶的是,我的IDE(IntelliJIdea,BTW)没有使第3行加下划线.但是,编译第3行offsprang以下消息:
error: missing arguments for method + in class Vertex;
follow this method with `_' if you want to treat it as a partially applied function
Run Code Online (Sandbox Code Playgroud)
接下来,我尝试使用一个提取器,但实际上,这似乎并不适合这种情况.
如果我想要达到的目标是否可行,是否有人有任何线索?
谢谢