Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
superrain51
apollo
提交
5395c802
apollo
项目概览
superrain51
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
apollo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
5395c802
编写于
7月 11, 2016
作者:
L
lepdou
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bugfix
上级
0c515c27
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
45 addition
and
27 deletion
+45
-27
apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AppNamespaceService.java
...rip/framework/apollo/biz/service/AppNamespaceService.java
+19
-15
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java
...amework/apollo/portal/controller/NamespaceController.java
+4
-0
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/NamespaceService.java
...rip/framework/apollo/portal/service/NamespaceService.java
+1
-3
apollo-portal/src/main/resources/static/scripts/controller/config/ConfigNamespaceController.js
...ic/scripts/controller/config/ConfigNamespaceController.js
+21
-9
未找到文件。
apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AppNamespaceService.java
浏览文件 @
5395c802
...
...
@@ -31,6 +31,8 @@ public class AppNamespaceService {
private
ClusterService
clusterService
;
@Autowired
private
AuditService
auditService
;
@Autowired
private
ServerConfigService
serverConfigService
;
public
boolean
isAppNamespaceNameUnique
(
String
appId
,
String
namespaceName
)
{
Objects
.
requireNonNull
(
appId
,
"AppId must not be null"
);
...
...
@@ -80,23 +82,12 @@ public class AppNamespaceService {
appNamespace
.
setDataChangeCreatedBy
(
createBy
);
appNamespace
.
setDataChangeLastModifiedBy
(
createBy
);
appNamespace
=
appNamespaceRepository
.
save
(
appNamespace
);
//所有的cluster下面link新建的appnamespace
if
(!
appNamespace
.
isPublic
()){
String
appId
=
appNamespace
.
getAppId
();
String
namespaceName
=
appNamespace
.
getName
();
List
<
Cluster
>
clusters
=
clusterService
.
findClusters
(
appId
);
for
(
Cluster
cluster:
clusters
){
Namespace
namespace
=
new
Namespace
();
namespace
.
setClusterName
(
cluster
.
getName
());
namespace
.
setAppId
(
appId
);
namespace
.
setNamespaceName
(
namespaceName
);
namespace
.
setDataChangeCreatedBy
(
createBy
);
namespace
.
setDataChangeLastModifiedBy
(
createBy
);
namespaceService
.
save
(
namespace
);
}
//// TODO: 16/7/11 上线完删除开关逻辑
if
(
"true"
.
equals
(
serverConfigService
.
getValue
(
"appnamespace.private.enable"
,
"false"
))
&&
!
appNamespace
.
isPublic
())
{
linkPrivateAppNamespaceInAllCluster
(
appNamespace
.
getAppId
(),
appNamespace
.
getName
(),
createBy
);
}
auditService
.
audit
(
AppNamespace
.
class
.
getSimpleName
(),
appNamespace
.
getId
(),
Audit
.
OP
.
INSERT
,
createBy
);
return
appNamespace
;
...
...
@@ -111,4 +102,17 @@ public class AppNamespaceService {
return
managedNs
;
}
private
void
linkPrivateAppNamespaceInAllCluster
(
String
appId
,
String
namespaceName
,
String
createBy
)
{
List
<
Cluster
>
clusters
=
clusterService
.
findClusters
(
appId
);
for
(
Cluster
cluster
:
clusters
)
{
Namespace
namespace
=
new
Namespace
();
namespace
.
setClusterName
(
cluster
.
getName
());
namespace
.
setAppId
(
appId
);
namespace
.
setNamespaceName
(
namespaceName
);
namespace
.
setDataChangeCreatedBy
(
createBy
);
namespace
.
setDataChangeLastModifiedBy
(
createBy
);
namespaceService
.
save
(
namespace
);
}
}
}
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java
浏览文件 @
5395c802
...
...
@@ -15,6 +15,7 @@ import com.ctrip.framework.apollo.portal.listener.AppNamespaceCreationEvent;
import
com.ctrip.framework.apollo.portal.service.AppNamespaceService
;
import
com.ctrip.framework.apollo.portal.service.AppService
;
import
com.ctrip.framework.apollo.portal.service.NamespaceService
;
import
com.ctrip.framework.apollo.portal.service.RoleInitializationService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -50,6 +51,8 @@ public class NamespaceController {
private
NamespaceService
namespaceService
;
@Autowired
private
AppNamespaceService
appNamespaceService
;
@Autowired
private
RoleInitializationService
roleInitializationService
;
@RequestMapping
(
"/appnamespaces/public"
)
public
List
<
AppNamespace
>
findPublicAppNamespaces
()
{
...
...
@@ -62,6 +65,7 @@ public class NamespaceController {
@RequestBody
List
<
NamespaceCreationModel
>
models
)
{
checkModel
(!
CollectionUtils
.
isEmpty
(
models
));
roleInitializationService
.
initNamespaceRoles
(
appId
,
models
.
get
(
0
).
getNamespace
().
getNamespaceName
());
for
(
NamespaceCreationModel
model
:
models
)
{
NamespaceDTO
namespace
=
model
.
getNamespace
();
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/NamespaceService.java
浏览文件 @
5395c802
...
...
@@ -43,8 +43,7 @@ public class NamespaceService {
@Autowired
private
AdminServiceAPI
.
NamespaceAPI
namespaceAPI
;
@Autowired
private
RoleInitializationService
roleInitializationService
;
@Autowired
private
AppNamespaceService
appNamespaceService
;
...
...
@@ -57,7 +56,6 @@ public class NamespaceService {
namespace
.
setDataChangeLastModifiedBy
(
userInfoHolder
.
getUser
().
getUserId
());
NamespaceDTO
createdNamespace
=
namespaceAPI
.
createNamespace
(
env
,
namespace
);
roleInitializationService
.
initNamespaceRoles
(
namespace
.
getAppId
(),
namespace
.
getNamespaceName
());
return
createdNamespace
;
}
...
...
apollo-portal/src/main/resources/static/scripts/controller/config/ConfigNamespaceController.js
浏览文件 @
5395c802
...
...
@@ -144,23 +144,24 @@ application_module.controller("ConfigNamespaceController",
$scope
.
tableViewOperType
=
''
,
$scope
.
item
=
{};
var
toOperationNamespace
;
//查看配置
function
retrieveItem
(
namespace
,
item
,
oldValue
)
{
switchTableViewOperType
(
TABLE_VIEW_OPER_TYPE
.
RETRIEVE
);
$scope
.
item
=
item
;
$scope
.
item
.
oldValue
=
oldValue
;
toOperationNamespace
Name
=
namespace
.
namespace
.
namespaceNam
e
;
toOperationNamespace
=
namespac
e
;
$scope
.
hasModifyPermission
=
namespace
.
hasModifyPermission
;
}
var
toDeleteItemId
=
0
,
toDeleteNamespace
=
{}
;
var
toDeleteItemId
=
0
;
function
preDeleteItem
(
namespace
,
itemId
)
{
if
(
!
lockCheck
(
namespace
)){
return
;
}
to
Delete
Namespace
=
namespace
;
to
Operation
Namespace
=
namespace
;
toDeleteItemId
=
itemId
;
$
(
"
#deleteConfirmDialog
"
).
modal
(
"
show
"
);
...
...
@@ -170,7 +171,7 @@ application_module.controller("ConfigNamespaceController",
ConfigService
.
delete_item
(
$rootScope
.
pageContext
.
appId
,
$rootScope
.
pageContext
.
env
,
$rootScope
.
pageContext
.
clusterName
,
to
Delete
Namespace
.
namespace
.
namespaceName
,
to
Operation
Namespace
.
namespace
.
namespaceName
,
toDeleteItemId
).
then
(
function
(
result
)
{
toastr
.
success
(
"
删除成功!
"
);
...
...
@@ -180,7 +181,6 @@ application_module.controller("ConfigNamespaceController",
});
}
var
toOperationNamespaceName
=
''
;
//修改配置
function
editItem
(
namespace
,
item
)
{
if
(
!
lockCheck
(
namespace
)){
...
...
@@ -188,7 +188,7 @@ application_module.controller("ConfigNamespaceController",
}
switchTableViewOperType
(
TABLE_VIEW_OPER_TYPE
.
UPDATE
);
$scope
.
item
=
item
;
toOperationNamespace
Name
=
namespace
.
namespace
.
namespaceNam
e
;
toOperationNamespace
=
namespac
e
;
$
(
"
#itemModal
"
).
modal
(
"
show
"
);
}
...
...
@@ -201,7 +201,7 @@ application_module.controller("ConfigNamespaceController",
switchTableViewOperType
(
TABLE_VIEW_OPER_TYPE
.
CREATE
);
$scope
.
item
=
{};
toOperationNamespace
Name
=
namespace
.
namespace
.
namespaceNam
e
;
toOperationNamespace
=
namespac
e
;
$
(
'
#itemModal
'
).
modal
(
'
show
'
);
}
...
...
@@ -225,11 +225,23 @@ application_module.controller("ConfigNamespaceController",
}
selectedClusters
.
forEach
(
function
(
cluster
)
{
if
(
$scope
.
tableViewOperType
==
TABLE_VIEW_OPER_TYPE
.
CREATE
)
{
//check key unique
var
hasRepeatKey
=
false
;
toOperationNamespace
.
items
.
forEach
(
function
(
item
)
{
if
(
$scope
.
item
.
key
==
item
.
item
.
key
){
toastr
.
error
(
"
key=
"
+
$scope
.
item
.
key
+
"
已存在
"
);
hasRepeatKey
=
true
;
return
;
}
});
if
(
hasRepeatKey
){
return
;
}
ConfigService
.
create_item
(
$rootScope
.
pageContext
.
appId
,
cluster
.
env
,
cluster
.
name
,
toOperationNamespaceName
,
toOperationNamespace
.
namespace
.
namespace
Name
,
$scope
.
item
).
then
(
function
(
result
)
{
toastr
.
success
(
cluster
.
env
+
"
,
"
+
$scope
.
item
.
key
,
...
...
@@ -248,7 +260,7 @@ application_module.controller("ConfigNamespaceController",
ConfigService
.
update_item
(
$rootScope
.
pageContext
.
appId
,
cluster
.
env
,
cluster
.
name
,
toOperationNamespaceName
,
toOperationNamespace
.
namespace
.
namespace
Name
,
$scope
.
item
).
then
(
function
(
result
)
{
toastr
.
success
(
"
更新成功, 如需生效请发布
"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录