小编n_l*_*n_l的帖子

用于监控Jenkins的任何体面的Eclipse插件?

我从2009年发现了一个的Eclipse 插件来监视Hudson服务器,但它有两个主要缺点:

  1. 不支持多个Hudson/Jenkins服务器
  2. 单击视图中的"作业"将显示一个显示404异常的窗口

有谁知道Jenkins的一个更新的(维护的)Eclipse插件?

eclipse-plugin jenkins

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

从没有运行时强制转换的泛型函数返回case类的副本

我想摆脱对一个generic(asInstanceOf[A])的运行时强制转换而不进行隐式转换.

当我有一个相当干净的数据模型,包含具有共同特征的案例类并希望在其上实现通用算法时,就会发生这种情况.作为一个例子,生成的算法应该采用一个类的类A,它是一个子类,trait T并且应该返回A具有一些更新字段的具体类的副本.

当我可以简单地将一个abstract copy-method 添加到基本特征并在所有子类中实现它时,这很容易实现.然而,这可能会使用某些算法仅需要的方法来污染模型,有时不可能,因为模型可能不受我的控制.

下面是一个演示问题的简化示例和使用运行时强制转换的解决方案.

请不要挂断细节.

假设有一个特征和一些我不能改变的案例类:

trait Share {
  def absolute: Int  
}

case class CommonShare(
    issuedOn: String, 
    absolute: Int, 
    percentOfCompany: Float) 
  extends Share

case class PreferredShare(
    issuedOn: String, 
    absolute: Int, 
    percentOfCompany: Float)
  extends Share
Run Code Online (Sandbox Code Playgroud)

这是一种percentOfCompany在股票总数发生变化时重新计算当前流量的简单方法,并更新案例类中的字段

def recalculateShare[A <: Share](share: A, currentTotalShares: Int): A = {

  def copyOfShareWith(newPercentage: Float) = {
    share match {
      case common: CommonShare => common.copy(percentOfCompany = newPercentage)
      case preferred: PreferredShare => preferred.copy(percentOfCompany …
Run Code Online (Sandbox Code Playgroud)

generics casting scala implicit-conversion

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