Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
jenkins
提交
ba432da2
J
jenkins
项目概览
xxadev
/
jenkins
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jenkins
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ba432da2
编写于
7月 26, 2013
作者:
K
Kohsuke Kawaguchi
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #880 from evilmilo/master
[FIXED JENKINS-18813] Add/RemoveTrigger now works
上级
016baea4
edf932be
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
44 addition
and
12 deletion
+44
-12
core/src/main/java/hudson/model/AbstractProject.java
core/src/main/java/hudson/model/AbstractProject.java
+8
-12
test/src/test/groovy/hudson/model/AbstractProjectTest.groovy
test/src/test/groovy/hudson/model/AbstractProjectTest.groovy
+36
-0
未找到文件。
core/src/main/java/hudson/model/AbstractProject.java
浏览文件 @
ba432da2
...
...
@@ -122,6 +122,7 @@ import java.util.Collection;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.ListIterator
;
import
java.util.Map
;
...
...
@@ -1646,15 +1647,8 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A
protected
final
synchronized
<
T
extends
Describable
<
T
>>
void
addToList
(
T
item
,
List
<
T
>
collection
)
throws
IOException
{
for
(
int
i
=
0
;
i
<
collection
.
size
();
i
++
)
{
if
(
collection
.
get
(
i
).
getDescriptor
()==
item
.
getDescriptor
())
{
// replace
collection
.
set
(
i
,
item
);
save
();
return
;
}
}
// add
//No support to replace item in position, remove then add
removeFromList
(
item
.
getDescriptor
(),
collection
);
collection
.
add
(
item
);
save
();
updateTransientActions
();
...
...
@@ -1662,10 +1656,12 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A
protected
final
synchronized
<
T
extends
Describable
<
T
>>
void
removeFromList
(
Descriptor
<
T
>
item
,
List
<
T
>
collection
)
throws
IOException
{
for
(
int
i
=
0
;
i
<
collection
.
size
();
i
++
)
{
if
(
collection
.
get
(
i
).
getDescriptor
()==
item
)
{
final
Iterator
<
T
>
iCollection
=
collection
.
iterator
();
while
(
iCollection
.
hasNext
())
{
final
T
next
=
iCollection
.
next
();
if
(
next
.
getDescriptor
()==
item
)
{
// found it
collection
.
remove
(
i
);
iCollection
.
remove
(
);
save
();
updateTransientActions
();
return
;
...
...
test/src/test/groovy/hudson/model/AbstractProjectTest.groovy
浏览文件 @
ba432da2
...
...
@@ -38,6 +38,8 @@ import hudson.Functions;
import
hudson.Util
;
import
hudson.tasks.ArtifactArchiver
import
hudson.triggers.SCMTrigger
;
import
hudson.triggers.TimerTrigger
import
hudson.triggers.TriggerDescriptor
;
import
hudson.util.StreamTaskListener
;
import
hudson.util.OneShotEvent
import
jenkins.model.Jenkins
;
...
...
@@ -447,4 +449,38 @@ public class AbstractProjectTest extends HudsonTestCase {
assert
t
.
class
==
SCMTrigger
.
class
;
assert
t
.
spec
==
"*/10 * * * *"
}
@Bug
(
18813
)
public
void
testRemoveTrigger
()
{
AbstractProject
j
=
jenkins
.
createProjectFromXML
(
"foo"
,
getClass
().
getResourceAsStream
(
"AbstractProjectTest/vectorTriggers.xml"
))
TriggerDescriptor
SCM_TRIGGER_DESCRIPTOR
=
Hudson
.
instance
.
getDescriptorOrDie
(
SCMTrigger
.
class
)
j
.
removeTrigger
(
SCM_TRIGGER_DESCRIPTOR
);
assert
j
.
triggers
().
size
()==
0
}
@Bug
(
18813
)
public
void
testAddTriggerSameType
()
{
AbstractProject
j
=
jenkins
.
createProjectFromXML
(
"foo"
,
getClass
().
getResourceAsStream
(
"AbstractProjectTest/vectorTriggers.xml"
))
def
newTrigger
=
new
SCMTrigger
(
"H/5 * * * *"
)
j
.
addTrigger
(
newTrigger
);
assert
j
.
triggers
().
size
()==
1
def
t
=
j
.
triggers
()[
0
]
assert
t
.
class
==
SCMTrigger
.
class
;
assert
t
.
spec
==
"H/5 * * * *"
}
@Bug
(
18813
)
public
void
testAddTriggerDifferentType
()
{
AbstractProject
j
=
jenkins
.
createProjectFromXML
(
"foo"
,
getClass
().
getResourceAsStream
(
"AbstractProjectTest/vectorTriggers.xml"
))
def
newTrigger
=
new
TimerTrigger
(
"20 * * * *"
)
j
.
addTrigger
(
newTrigger
);
assert
j
.
triggers
().
size
()==
2
def
t
=
j
.
triggers
()[
1
]
assert
t
==
newTrigger
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录