Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
jenkins
提交
647c0577
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,发现更多精彩内容 >>
提交
647c0577
编写于
8月 20, 2012
作者:
N
Nicolas De Loof
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix typo : cannon != canon
上级
00c57859
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
13 deletion
+14
-13
core/src/main/java/hudson/model/User.java
core/src/main/java/hudson/model/User.java
+8
-7
core/src/main/java/jenkins/model/DefaultUserCanonicalIdResolver.java
...in/java/jenkins/model/DefaultUserCanonicalIdResolver.java
+6
-6
未找到文件。
core/src/main/java/hudson/model/User.java
浏览文件 @
647c0577
...
...
@@ -314,15 +314,15 @@ public class User extends AbstractModelObject implements AccessControlled, Descr
return
null
;
// sort resolvers by priority
List
<
Can
nonicalIdResolver
>
resolvers
=
new
ArrayList
<
CannonicalIdResolver
>(
Jenkins
.
getInstance
().
getExtensionList
(
Can
nonicalIdResolver
.
class
));
List
<
Can
onicalIdResolver
>
resolvers
=
new
ArrayList
<
CanonicalIdResolver
>(
Jenkins
.
getInstance
().
getExtensionList
(
Ca
nonicalIdResolver
.
class
));
Collections
.
sort
(
resolvers
);
String
id
=
null
;
for
(
Can
n
onicalIdResolver
resolver
:
resolvers
)
{
id
=
resolver
.
resolveCan
n
onicalId
(
idOrFullName
,
context
);
for
(
CanonicalIdResolver
resolver
:
resolvers
)
{
id
=
resolver
.
resolveCanonicalId
(
idOrFullName
,
context
);
if
(
id
!=
null
)
break
;
}
// DefaultUserCan
nonicalIdResolver will always return a non-null id if all other Can
nonicalIdResolver failed
// DefaultUserCan
onicalIdResolver will always return a non-null id if all other Ca
nonicalIdResolver failed
String
idkey
=
id
.
toLowerCase
(
Locale
.
ENGLISH
);
...
...
@@ -658,15 +658,16 @@ public class User extends AbstractModelObject implements AccessControlled, Descr
return
Collections
.
unmodifiableList
(
actions
);
}
public
static
abstract
class
Can
nonicalIdResolver
extends
AbstractDescribableImpl
<
CannonicalIdResolver
>
implements
Comparable
<
Can
nonicalIdResolver
>
{
public
static
abstract
class
Can
onicalIdResolver
extends
AbstractDescribableImpl
<
CanonicalIdResolver
>
implements
Comparable
<
Ca
nonicalIdResolver
>
{
/**
* context key for realm (domain) where idOrFullName has been retreived from.
* Can be used (for example) to distinguish ambiguous committer ID using the SCM URL.
* Associated Value is a {@link String}
*/
public
static
final
String
REALM
=
"realm"
;
public
int
compareTo
(
Can
n
onicalIdResolver
o
)
{
public
int
compareTo
(
CanonicalIdResolver
o
)
{
// reverse priority order
int
i
=
getPriority
();
int
j
=
o
.
getPriority
();
...
...
@@ -677,7 +678,7 @@ public class User extends AbstractModelObject implements AccessControlled, Descr
* extract user ID from idOrFullName with help from contextual infos.
* can return <code>null</code> if no user ID matched the input
*/
public
abstract
@
Nullable
String
resolveCannonicalId
(
String
idOrFullName
,
Map
context
);
public
abstract
@
CheckForNull
String
resolveCanonicalId
(
String
idOrFullName
,
Map
<
String
,
?>
context
);
public
int
getPriority
()
{
return
1
;
...
...
core/src/main/java/jenkins/model/DefaultUserCan
n
onicalIdResolver.java
→
core/src/main/java/jenkins/model/DefaultUserCanonicalIdResolver.java
浏览文件 @
647c0577
...
...
@@ -32,16 +32,16 @@ import hudson.model.User;
import
java.util.Map
;
/**
* Default User.Can
n
onicalIdResolver to escape unsupported characters and generate user ID.
* Default User.CanonicalIdResolver to escape unsupported characters and generate user ID.
* Compared to other implementations, this resolver will always return an ID
*
* @author
: <a h
ef="mailto:nicolas.deloof@gmail.com">Nicolas De Loof</a>
* @author
<a hr
ef="mailto:nicolas.deloof@gmail.com">Nicolas De Loof</a>
*/
@Extension
public
class
DefaultUserCan
nonicalIdResolver
extends
User
.
Can
nonicalIdResolver
{
public
class
DefaultUserCan
onicalIdResolver
extends
User
.
Ca
nonicalIdResolver
{
@Override
public
String
resolveCan
nonicalId
(
String
idOrFullName
,
Map
context
)
{
public
String
resolveCan
onicalId
(
String
idOrFullName
,
Map
<
String
,
?>
context
)
{
String
id
=
idOrFullName
.
replace
(
'\\'
,
'_'
).
replace
(
'/'
,
'_'
).
replace
(
'<'
,
'_'
)
.
replace
(
'>'
,
'_'
);
// 4 replace() still faster than regex
if
(
Functions
.
isWindows
())
id
=
id
.
replace
(
':'
,
'_'
);
...
...
@@ -54,11 +54,11 @@ public class DefaultUserCannonicalIdResolver extends User.CannonicalIdResolver {
}
@Override
public
Descriptor
<
User
.
Can
n
onicalIdResolver
>
getDescriptor
()
{
public
Descriptor
<
User
.
CanonicalIdResolver
>
getDescriptor
()
{
return
DESCRIPTOR
;
}
public
static
final
Descriptor
<
User
.
Can
nonicalIdResolver
>
DESCRIPTOR
=
new
Descriptor
<
User
.
Can
nonicalIdResolver
>()
{
public
static
final
Descriptor
<
User
.
Can
onicalIdResolver
>
DESCRIPTOR
=
new
Descriptor
<
User
.
Ca
nonicalIdResolver
>()
{
public
String
getDisplayName
()
{
return
"compute default user ID"
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录