我们的构建服务器运行Jenkins 1.502,Subversion插件升级到版本1.45.这个插件使用svnkit-1.7.6-jenkins-1.jar.
我们还安装了SVN客户端1.7.8.
Jenkins成功检出SVN存储库中的源代码.但是当我进入workspace目录并尝试手动运行某个svn命令时,它会失败:
# cd /var/lib/jenkins/jobs/myproject/workspace/ # svnversion svn: E155036: Working copy '/var/lib/jenkins/jobs/myproject/workspace' is too old (format 8, created by Subversion 1.4)
错误消息表明工作副本是由SVN 1.4创建的,但svnkit的版本是1.7.6.怎么会这样?
我搜索了整个文件系统,没有任何其他svnkit-*.jar文件.
我需要一个Haskell foldl函数的模拟来折叠任何STL容器.预期签名如下:
template Iterator, FoldingFunction, Result
Result foldl(
Iterator begin,
Iterator end,
FoldingFunction f,
Result initValue);
Run Code Online (Sandbox Code Playgroud)
标准STL没有这样的功能.是否加速有什么?
我知道它实现起来非常简单,但我想知道是否有任何现成的标准化实现.
还有一个问题:你通常如何在C++/STL中折叠数据列表?
我在我的网络应用程序中使用JPA而不是Hibernate.这是两个实体(仅显示getter):
class Child {
private Parent parent;
@ManyToOne(optional=false)
@JoinColumn(name="parent_id", referencedColumnName="parent_id", nullable=false, updatable=false)
public Parent getParent() {
return parent;
}
}
class Parent {
private Collection<Child> children;
@OneToMany(fetch=FetchType.EAGER, mappedBy="parent", cascade={CascadeType.ALL})
public Collection<Child> getChildren() {
return children;
}
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,Parent并将其Child视为"一对多".
现在我需要加载一个Parent实例,删除一些或所有孩子并保存更改.以下代码对我不起作用:
Parent p = entityManager.find(Parent.class, 12345L); // load entity
p.getChildren().clear(); // remove all children
entityManager.merge(p); // try to save
Run Code Online (Sandbox Code Playgroud)
在上面的示例中未删除子实体.现在我必须手动呼叫entityManager.remove()每个孩子.
有没有更简单的方法来管理儿童收藏?
请注意,我不想使用特定于Hibernate的功能,只需使用纯JPA.
我正在使用JPA在基于Java EE的Web应用程序中加载和持久化实体.Hibernate用作JPA的实现,但我没有使用特定于Hibernate的功能,只能使用纯JPA.
这是一些DAO类,通知getOrders方法:
class OrderDao {
EntityManager em;
List getOrders(Long customerId) {
Query q = em.createQuery(
"SELECT o FROM Order o WHERE o.customerId = :customerId");
q.setParameter("customerId", customerId);
return q.getResultList();
}
}
方法很简单,但有一个很大的缺点.每次调用该方法时,都会在JPA实现中的某个位置执行以下操作:
我相信上述第1步和第2步应该在每个应用程序生命周期内执行一次.但是怎么做呢?换句话说,我需要缓存Query实例.
当然我可以在我身边实现这样的缓存.但是等等,我正在使用现代强大的ORM!他们不是已经为我做了这个吗?
请注意,我没有提到像Hibernate查询缓存那样缓存查询结果的东西.在这里,我想更快地执行我的查询.
我解析了HTML代码org.w3c.dom.Document.我需要检查所有标记style属性,解析它们,更改一些CSS属性并将修改后的样式定义返回到属性.
是否有任何标准方法来解析style属性?如何使用org.w3c.dom.css包中的类和接口?
我需要一个Java解决方案.
有时当我需要懒惰的初始化字段时,我使用以下设计模式.
class DictionaryHolder {
private volatile Dictionary dict; // some heavy object
public Dictionary getDictionary() {
Dictionary d = this.dict;
if (d == null) {
d = loadDictionary(); // costy operation
this.dict = d;
}
return d;
}
}
Run Code Online (Sandbox Code Playgroud)
它看起来像Double Checking idion,但不完全是.没有同步,可以loadDictionary多次调用方法.
当并发性很低时我使用这种模式.在使用此模式时,我还要记住以下假设:
loadDictionary 方法始终返回相同的数据.loadDictionary 方法是线程安全的.我的问题:
getDictionary()返回无效数据?dict现场非挥发性更高效?我正在使用Tcl.我有一个实数的排序列表.给定数字n我需要找到list元素的索引,它是:
n;n.有没有标准的方法来做到这一点?lsearch期望完全匹配,不能使用.
当在Haskell中通过三对角矩阵算法求解线性方程组时,我遇到了以下问题.
我们有三个载体:a,b并c,我们想使第三矢量c'是它们的组合:
c'[i] = c[i] / b[i], i = 0 c'[i] = c[i] / (b[i] - a[i] * c'[i-1]), 0 < i < n - 1 c'[i] = undefined, i = n - 1
在Haskell中实现上面的公式如下:
calcC' a b c = Data.Vector.generate n f
where
n = Data.Vector.length a
f i =
| i == 0 = c!0 / b!0
| i == n - 1 = 0
| otherwise = … 在我的Tcl脚本中,我正在用另一种语言构建源代码.以gnuplot源为例.我有这样的Tcl代码:
# `script' variable contains gnuplot source code
set script {
set terminal pdf
set output "chart.pdf"
set title "[makeTitle]"
plot "$dataFile" using 1:2 title ""
}
# Then I write `script' to file for later execution
请注意,script变量包含命令call(makeTitle)和变量substitution(dataFile).源代码本身包含新行,双引号.
问题:如何简单地"评估"此变量以通过结果和变量的值替换命令调用?预期结果应如下所示:
set terminal pdf set output "chart.pdf" set title "R(S) Dependence" plot "r_s.txt" using 1:2 title ""