Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
apollo
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
apollo
Commits
afa2a683
Commit
afa2a683
authored
Aug 10, 2016
by
Jason Song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
code reformat
parent
7b7d753f
Changes
50
Show whitespace changes
Inline
Side-by-side
Showing
50 changed files
with
331 additions
and
332 deletions
+331
-332
apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/entity/Consumer.java
...a/com/ctrip/framework/apollo/openapi/entity/Consumer.java
+1
-0
apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/entity/ConsumerRole.java
...m/ctrip/framework/apollo/openapi/entity/ConsumerRole.java
+5
-0
apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/entity/ConsumerToken.java
.../ctrip/framework/apollo/openapi/entity/ConsumerToken.java
+6
-0
apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/v1/controller/ReleaseController.java
...ework/apollo/openapi/v1/controller/ReleaseController.java
+2
-2
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/PortalSettings.java
...ava/com/ctrip/framework/apollo/portal/PortalSettings.java
+2
-3
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/api/AdminServiceAPI.java
...om/ctrip/framework/apollo/portal/api/AdminServiceAPI.java
+24
-24
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/api/RetryableRestTemplate.java
...ip/framework/apollo/portal/api/RetryableRestTemplate.java
+5
-5
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/auth/PermissionValidator.java
...rip/framework/apollo/portal/auth/PermissionValidator.java
+12
-12
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/auth/ctrip/CtripUserService.java
.../framework/apollo/portal/auth/ctrip/CtripUserService.java
+1
-2
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/auth/defaultimpl/DefaultUserInfoHolder.java
...apollo/portal/auth/defaultimpl/DefaultUserInfoHolder.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/auth/defaultimpl/DefaultUserService.java
...rk/apollo/portal/auth/defaultimpl/DefaultUserService.java
+0
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/configuration/AuthConfiguration.java
...mework/apollo/portal/configuration/AuthConfiguration.java
+0
-2
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/configuration/WebContextConfiguration.java
.../apollo/portal/configuration/WebContextConfiguration.java
+3
-3
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/constant/PermissionType.java
...trip/framework/apollo/portal/constant/PermissionType.java
+6
-2
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/AppController.java
...rip/framework/apollo/portal/controller/AppController.java
+4
-4
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ClusterController.java
...framework/apollo/portal/controller/ClusterController.java
+3
-3
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/CommitController.java
.../framework/apollo/portal/controller/CommitController.java
+2
-2
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/EnvController.java
...rip/framework/apollo/portal/controller/EnvController.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ItemController.java
...ip/framework/apollo/portal/controller/ItemController.java
+16
-17
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java
...amework/apollo/portal/controller/NamespaceController.java
+4
-4
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceLockController.java
...ork/apollo/portal/controller/NamespaceLockController.java
+2
-2
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/PermissionController.java
...mework/apollo/portal/controller/PermissionController.java
+18
-19
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ReleaseController.java
...framework/apollo/portal/controller/ReleaseController.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/UserInfoController.java
...ramework/apollo/portal/controller/UserInfoController.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/customize/BizLoggingCustomizer.java
...amework/apollo/portal/customize/BizLoggingCustomizer.java
+3
-3
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/form/NamespaceReleaseModel.java
...work/apollo/portal/entity/form/NamespaceReleaseModel.java
+5
-5
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/form/NamespaceSyncModel.java
...amework/apollo/portal/entity/form/NamespaceSyncModel.java
+3
-3
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/form/NamespaceTextModel.java
...amework/apollo/portal/entity/form/NamespaceTextModel.java
+2
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/vo/EnvClusterInfo.java
...rip/framework/apollo/portal/entity/vo/EnvClusterInfo.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/vo/ItemDiffs.java
...om/ctrip/framework/apollo/portal/entity/vo/ItemDiffs.java
+2
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/vo/NamespaceIdentifier.java
...ramework/apollo/portal/entity/vo/NamespaceIdentifier.java
+5
-5
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/vo/NamespaceVO.java
.../ctrip/framework/apollo/portal/entity/vo/NamespaceVO.java
+2
-2
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/enums/ChangeType.java
...a/com/ctrip/framework/apollo/portal/enums/ChangeType.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/listener/CreationListener.java
...ip/framework/apollo/portal/listener/CreationListener.java
+2
-2
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/AppNamespaceRepository.java
...work/apollo/portal/repository/AppNamespaceRepository.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/PermissionRepository.java
...mework/apollo/portal/repository/PermissionRepository.java
+1
-4
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/RoleRepository.java
...ip/framework/apollo/portal/repository/RoleRepository.java
+0
-2
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/UserRoleRepository.java
...ramework/apollo/portal/repository/UserRoleRepository.java
+0
-8
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppNamespaceService.java
.../framework/apollo/portal/service/AppNamespaceService.java
+2
-2
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppService.java
...com/ctrip/framework/apollo/portal/service/AppService.java
+13
-13
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ClusterService.java
...ctrip/framework/apollo/portal/service/ClusterService.java
+4
-4
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/CommitService.java
.../ctrip/framework/apollo/portal/service/CommitService.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ItemService.java
...om/ctrip/framework/apollo/portal/service/ItemService.java
+18
-18
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/NamespaceLockService.java
...framework/apollo/portal/service/NamespaceLockService.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/NamespaceService.java
...rip/framework/apollo/portal/service/NamespaceService.java
+13
-13
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ReleaseService.java
...ctrip/framework/apollo/portal/service/ReleaseService.java
+105
-105
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/RoleInitializationService.java
...work/apollo/portal/service/RoleInitializationService.java
+4
-4
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/txtresolver/FileTextResolver.java
...k/apollo/portal/service/txtresolver/FileTextResolver.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/txtresolver/PropertyResolver.java
...k/apollo/portal/service/txtresolver/PropertyResolver.java
+11
-11
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/util/RoleUtils.java
...ava/com/ctrip/framework/apollo/portal/util/RoleUtils.java
+10
-9
No files found.
apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/entity/Consumer.java
View file @
afa2a683
...
...
@@ -81,6 +81,7 @@ public class Consumer extends BaseEntity {
this
.
ownerName
=
ownerName
;
}
@Override
public
String
toString
()
{
return
toStringHelper
().
add
(
"name"
,
name
).
add
(
"appId"
,
appId
)
.
add
(
"orgId"
,
orgId
)
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/entity/ConsumerRole.java
View file @
afa2a683
...
...
@@ -38,4 +38,9 @@ public class ConsumerRole extends BaseEntity {
public
void
setRoleId
(
long
roleId
)
{
this
.
roleId
=
roleId
;
}
@Override
public
String
toString
()
{
return
toStringHelper
().
add
(
"consumerId"
,
consumerId
).
add
(
"roleId"
,
roleId
).
toString
();
}
}
apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/entity/ConsumerToken.java
View file @
afa2a683
...
...
@@ -51,4 +51,10 @@ public class ConsumerToken extends BaseEntity {
public
void
setExpires
(
Date
expires
)
{
this
.
expires
=
expires
;
}
@Override
public
String
toString
()
{
return
toStringHelper
().
add
(
"consumerId"
,
consumerId
).
add
(
"token"
,
token
)
.
add
(
"expires"
,
expires
).
toString
();
}
}
apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/v1/controller/ReleaseController.java
View file @
afa2a683
...
...
@@ -42,11 +42,11 @@ public class ReleaseController {
HttpServletRequest
request
)
{
checkModel
(
model
!=
null
);
RequestPrecondition
.
checkArguments
(!
StringUtils
.
isContainEmpty
(
model
.
getReleaseBy
(),
model
RequestPrecondition
.
checkArguments
(!
StringUtils
.
isContainEmpty
(
model
.
getRelease
d
By
(),
model
.
getReleaseTitle
()),
"releaseTitle and releaseBy can not be empty"
);
if
(
userService
.
findByUserId
(
model
.
getReleaseBy
())
==
null
)
{
if
(
userService
.
findByUserId
(
model
.
getRelease
d
By
())
==
null
)
{
throw
new
BadRequestException
(
"用户不存在."
);
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/PortalSettings.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.portal.api.AdminServiceAPI
;
import
com.ctrip.framework.apollo.portal.service.ServerConfigService
;
...
...
@@ -71,7 +70,7 @@ public class PortalSettings {
}
public
List
<
Env
>
getAllEnvs
(){
public
List
<
Env
>
getAllEnvs
()
{
return
allEnvs
;
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/api/AdminServiceAPI.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
api
;
import
com.ctrip.framework.apollo.common.dto.AppNamespaceDTO
;
import
com.ctrip.framework.apollo.common.dto.CommitDTO
;
import
com.ctrip.framework.apollo.common.dto.NamespaceLockDTO
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.common.dto.AppDTO
;
import
com.ctrip.framework.apollo.common.dto.AppNamespaceDTO
;
import
com.ctrip.framework.apollo.common.dto.ClusterDTO
;
import
com.ctrip.framework.apollo.common.dto.CommitDTO
;
import
com.ctrip.framework.apollo.common.dto.ItemChangeSets
;
import
com.ctrip.framework.apollo.common.dto.ItemDTO
;
import
com.ctrip.framework.apollo.common.dto.NamespaceDTO
;
import
com.ctrip.framework.apollo.common.dto.NamespaceLockDTO
;
import
com.ctrip.framework.apollo.common.dto.ReleaseDTO
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
org.springframework.boot.actuate.health.Health
;
import
org.springframework.http.HttpEntity
;
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/api/RetryableRestTemplate.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
api
;
import
com.ctrip.framework.apollo.common.exception.ServiceException
;
import
com.ctrip.framework.apollo.core.dto.ServiceDTO
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.common.exception.ServiceException
;
import
com.ctrip.framework.apollo.portal.constant.CatEventType
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.message.Message
;
...
...
@@ -66,7 +66,7 @@ public class RetryableRestTemplate {
private
<
T
>
T
execute
(
HttpMethod
method
,
Env
env
,
String
path
,
Object
request
,
Class
<
T
>
responseType
,
Object
...
uriVariables
)
{
if
(
path
.
startsWith
(
"/"
)){
if
(
path
.
startsWith
(
"/"
))
{
path
=
path
.
substring
(
1
,
path
.
length
());
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/auth/PermissionValidator.java
View file @
afa2a683
...
...
@@ -51,9 +51,9 @@ public class PermissionValidator {
public
boolean
hasCreateAppNamespacePermission
(
String
appId
,
AppNamespace
appNamespace
)
{
boolean
isPublicAppNamespace
=
appNamespace
.
isPublic
();
if
(
isPublicAppNamespace
){
if
(
isPublicAppNamespace
)
{
return
hasCreateNamespacePermission
(
appId
);
}
else
{
}
else
{
return
rolePermissionService
.
isSuperAdmin
(
userInfoHolder
.
getUser
().
getUserId
());
}
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/auth/ctrip/CtripUserService.java
View file @
afa2a683
...
...
@@ -14,7 +14,6 @@ import org.springframework.http.HttpMethod;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.client.ClientHttpRequestFactory
;
import
org.springframework.http.client.SimpleClientHttpRequestFactory
;
import
org.springframework.http.converter.json.GsonHttpMessageConverter
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.client.RestTemplate
;
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/auth/defaultimpl/DefaultUserInfoHolder.java
View file @
afa2a683
...
...
@@ -9,7 +9,7 @@ import com.ctrip.framework.apollo.portal.entity.po.UserInfo;
public
class
DefaultUserInfoHolder
implements
UserInfoHolder
{
public
DefaultUserInfoHolder
(){
public
DefaultUserInfoHolder
()
{
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/auth/defaultimpl/DefaultUserService.java
View file @
afa2a683
...
...
@@ -6,7 +6,6 @@ import com.ctrip.framework.apollo.portal.entity.po.UserInfo;
import
com.ctrip.framework.apollo.portal.service.UserService
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.List
;
/**
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/configuration/AuthConfiguration.java
View file @
afa2a683
...
...
@@ -3,7 +3,6 @@ package com.ctrip.framework.apollo.portal.configuration;
import
com.google.common.collect.Maps
;
import
com.ctrip.framework.apollo.openapi.filter.ConsumerAuthenticationFilter
;
import
com.ctrip.framework.apollo.openapi.service.ConsumerService
;
import
com.ctrip.framework.apollo.openapi.util.ConsumerAuthUtil
;
import
com.ctrip.framework.apollo.portal.auth.LogoutHandler
;
import
com.ctrip.framework.apollo.portal.auth.SsoHeartbeatHandler
;
...
...
@@ -28,7 +27,6 @@ import org.springframework.context.annotation.Configuration;
import
org.springframework.context.annotation.Profile
;
import
java.util.EventListener
;
import
java.util.HashMap
;
import
java.util.Map
;
import
javax.servlet.Filter
;
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/configuration/WebContextConfiguration.java
View file @
afa2a683
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/constant/PermissionType.java
View file @
afa2a683
...
...
@@ -2,7 +2,9 @@ package com.ctrip.framework.apollo.portal.constant;
public
interface
PermissionType
{
/** APP level permission */
/**
* APP level permission
*/
String
CREATE_NAMESPACE
=
"CreateNamespace"
;
...
...
@@ -13,7 +15,9 @@ public interface PermissionType {
*/
String
ASSIGN_ROLE
=
"AssignRole"
;
/** namespace level permission*/
/**
* namespace level permission
*/
String
MODIFY_NAMESPACE
=
"ModifyNamespace"
;
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/AppController.java
View file @
afa2a683
...
...
@@ -2,12 +2,12 @@ package com.ctrip.framework.apollo.portal.controller;
import
com.ctrip.framework.apollo.common.entity.App
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.common.http.MultiResponseEntity
;
import
com.ctrip.framework.apollo.common.http.RichResponseEntity
;
import
com.ctrip.framework.apollo.common.utils.InputValidator
;
import
com.ctrip.framework.apollo.common.utils.RequestPrecondition
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.portal.PortalSettings
;
import
com.ctrip.framework.apollo.portal.entity.po.UserInfo
;
import
com.ctrip.framework.apollo.portal.entity.vo.EnvClusterInfo
;
...
...
@@ -82,7 +82,7 @@ public class AppController {
}
UserInfo
userInfo
=
userService
.
findByUserId
(
app
.
getOwnerName
());
if
(
userInfo
==
null
){
if
(
userInfo
==
null
)
{
throw
new
BadRequestException
(
"应用负责人不存在"
);
}
app
.
setOwnerEmail
(
userInfo
.
getEmail
());
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ClusterController.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
controller
;
import
com.ctrip.framework.apollo.common.utils.InputValidator
;
import
com.ctrip.framework.apollo.common.dto.ClusterDTO
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.common.utils.InputValidator
;
import
com.ctrip.framework.apollo.common.utils.RequestPrecondition
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.portal.auth.UserInfoHolder
;
import
com.ctrip.framework.apollo.portal.service.ClusterService
;
...
...
@@ -29,7 +29,7 @@ public class ClusterController {
@PreAuthorize
(
value
=
"@permissionValidator.hasCreateClusterPermission(#appId)"
)
@RequestMapping
(
value
=
"apps/{appId}/envs/{env}/clusters"
,
method
=
RequestMethod
.
POST
)
public
ClusterDTO
createCluster
(
@PathVariable
String
appId
,
@PathVariable
String
env
,
@RequestBody
ClusterDTO
cluster
){
@RequestBody
ClusterDTO
cluster
)
{
checkModel
(
cluster
!=
null
);
RequestPrecondition
.
checkArgumentsNotEmpty
(
cluster
.
getAppId
(),
cluster
.
getName
());
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/CommitController.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
controller
;
import
com.ctrip.framework.apollo.common.utils.RequestPrecondition
;
import
com.ctrip.framework.apollo.common.dto.CommitDTO
;
import
com.ctrip.framework.apollo.common.utils.RequestPrecondition
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.portal.service.CommitService
;
...
...
@@ -23,7 +23,7 @@ public class CommitController {
@RequestMapping
(
value
=
"/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/commits"
)
public
List
<
CommitDTO
>
find
(
@PathVariable
String
appId
,
@PathVariable
String
env
,
@PathVariable
String
clusterName
,
@PathVariable
String
namespaceName
,
@RequestParam
(
defaultValue
=
"0"
)
int
page
,
@RequestParam
(
defaultValue
=
"10"
)
int
size
){
@RequestParam
(
defaultValue
=
"0"
)
int
page
,
@RequestParam
(
defaultValue
=
"10"
)
int
size
)
{
RequestPrecondition
.
checkNumberPositive
(
size
);
RequestPrecondition
.
checkNumberNotNegative
(
page
);
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/EnvController.java
View file @
afa2a683
...
...
@@ -18,7 +18,7 @@ public class EnvController {
private
PortalSettings
portalSettings
;
@RequestMapping
(
value
=
""
,
method
=
RequestMethod
.
GET
)
public
List
<
Env
>
envs
(){
public
List
<
Env
>
envs
()
{
return
portalSettings
.
getActiveEnvs
();
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ItemController.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
controller
;
import
com.ctrip.framework.apollo.common.dto.ItemDTO
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.core.utils.StringUtils
;
import
com.ctrip.framework.apollo.portal.auth.UserInfoHolder
;
import
com.ctrip.framework.apollo.portal.entity.vo.ItemDiffs
;
import
com.ctrip.framework.apollo.portal.entity.form.NamespaceSyncModel
;
import
com.ctrip.framework.apollo.portal.entity.form.NamespaceTextModel
;
import
com.ctrip.framework.apollo.portal.entity.vo.ItemDiffs
;
import
com.ctrip.framework.apollo.portal.service.ItemService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -55,7 +55,7 @@ public class ItemController {
@RequestMapping
(
value
=
"/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/item"
,
method
=
RequestMethod
.
POST
)
public
ItemDTO
createItem
(
@PathVariable
String
appId
,
@PathVariable
String
env
,
@PathVariable
String
clusterName
,
@PathVariable
String
namespaceName
,
@RequestBody
ItemDTO
item
){
@RequestBody
ItemDTO
item
)
{
checkModel
(
isValidItem
(
item
));
return
configService
.
createItem
(
appId
,
Env
.
valueOf
(
env
),
clusterName
,
namespaceName
,
item
);
...
...
@@ -65,7 +65,7 @@ public class ItemController {
@RequestMapping
(
value
=
"/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/item"
,
method
=
RequestMethod
.
PUT
)
public
void
updateItem
(
@PathVariable
String
appId
,
@PathVariable
String
env
,
@PathVariable
String
clusterName
,
@PathVariable
String
namespaceName
,
@RequestBody
ItemDTO
item
)
{
@RequestBody
ItemDTO
item
)
{
checkModel
(
isValidItem
(
item
));
configService
.
updateItem
(
appId
,
Env
.
valueOf
(
env
),
clusterName
,
namespaceName
,
item
);
...
...
@@ -76,27 +76,26 @@ public class ItemController {
@RequestMapping
(
value
=
"/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items/{itemId}"
,
method
=
RequestMethod
.
DELETE
)
public
void
deleteItem
(
@PathVariable
String
appId
,
@PathVariable
String
env
,
@PathVariable
String
clusterName
,
@PathVariable
String
namespaceName
,
@PathVariable
long
itemId
)
{
if
(
itemId
<=
0
){
@PathVariable
long
itemId
)
{
if
(
itemId
<=
0
)
{
throw
new
BadRequestException
(
"item id invalid"
);
}
configService
.
deleteItem
(
Env
.
valueOf
(
env
),
itemId
,
userInfoHolder
.
getUser
().
getUserId
());
}
@RequestMapping
(
value
=
"/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items"
)
public
List
<
ItemDTO
>
findItems
(
@PathVariable
String
appId
,
@PathVariable
String
env
,
@PathVariable
String
clusterName
,
@PathVariable
String
namespaceName
,
@RequestParam
(
defaultValue
=
"lineNum"
)
String
orderBy
){
@RequestParam
(
defaultValue
=
"lineNum"
)
String
orderBy
)
{
List
<
ItemDTO
>
items
=
configService
.
findItems
(
appId
,
Env
.
valueOf
(
env
),
clusterName
,
namespaceName
);
if
(
"lastModifiedTime"
.
equals
(
orderBy
)){
if
(
"lastModifiedTime"
.
equals
(
orderBy
))
{
Collections
.
sort
(
items
,
(
o1
,
o2
)
->
{
if
(
o1
.
getDataChangeLastModifiedTime
().
after
(
o2
.
getDataChangeLastModifiedTime
())){
if
(
o1
.
getDataChangeLastModifiedTime
().
after
(
o2
.
getDataChangeLastModifiedTime
()))
{
return
-
1
;
}
if
(
o1
.
getDataChangeLastModifiedTime
().
before
(
o2
.
getDataChangeLastModifiedTime
())){
if
(
o1
.
getDataChangeLastModifiedTime
().
before
(
o2
.
getDataChangeLastModifiedTime
()))
{
return
1
;
}
return
0
;
...
...
@@ -107,7 +106,7 @@ public class ItemController {
@RequestMapping
(
value
=
"/namespaces/{namespaceName}/diff"
,
method
=
RequestMethod
.
POST
,
consumes
=
{
"application/json"
})
public
List
<
ItemDiffs
>
diff
(
@RequestBody
NamespaceSyncModel
model
){
public
List
<
ItemDiffs
>
diff
(
@RequestBody
NamespaceSyncModel
model
)
{
checkModel
(
model
!=
null
&&
!
model
.
isInvalid
());
return
configService
.
compare
(
model
.
getSyncToNamespaces
(),
model
.
getSyncItems
());
...
...
@@ -117,14 +116,14 @@ public class ItemController {
@RequestMapping
(
value
=
"/apps/{appId}/namespaces/{namespaceName}/items"
,
method
=
RequestMethod
.
PUT
,
consumes
=
{
"application/json"
})
public
ResponseEntity
<
Void
>
update
(
@PathVariable
String
appId
,
@PathVariable
String
namespaceName
,
@RequestBody
NamespaceSyncModel
model
){
@RequestBody
NamespaceSyncModel
model
)
{
checkModel
(
model
!=
null
&&
!
model
.
isInvalid
());
configService
.
syncItems
(
model
.
getSyncToNamespaces
(),
model
.
getSyncItems
());
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
build
();
}
private
boolean
isValidItem
(
ItemDTO
item
){
private
boolean
isValidItem
(
ItemDTO
item
)
{
return
item
!=
null
&&
!
StringUtils
.
isContainEmpty
(
item
.
getKey
());
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
controller
;
import
com.ctrip.framework.apollo.common.dto.NamespaceDTO
;
import
com.ctrip.framework.apollo.common.entity.App
;
import
com.ctrip.framework.apollo.common.entity.AppNamespace
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.common.utils.InputValidator
;
import
com.ctrip.framework.apollo.common.dto.NamespaceDTO
;
import
com.ctrip.framework.apollo.common.utils.RequestPrecondition
;
import
com.ctrip.framework.apollo.core.enums.ConfigFileFormat
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.core.utils.StringUtils
;
import
com.ctrip.framework.apollo.portal.auth.UserInfoHolder
;
import
com.ctrip.framework.apollo.portal.entity.form.NamespaceCreationModel
;
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceLockController.java
View file @
afa2a683
...
...
@@ -17,7 +17,7 @@ public class NamespaceLockController {
@RequestMapping
(
"/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/lock"
)
public
NamespaceLockDTO
getNamespaceLock
(
@PathVariable
String
appId
,
@PathVariable
String
env
,
@PathVariable
String
clusterName
,
@PathVariable
String
namespaceName
){
@PathVariable
String
clusterName
,
@PathVariable
String
namespaceName
)
{
return
namespaceLockService
.
getNamespaceLock
(
appId
,
Env
.
valueOf
(
env
),
clusterName
,
namespaceName
);
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/PermissionController.java
View file @
afa2a683
...
...
@@ -28,7 +28,6 @@ import org.springframework.web.bind.annotation.RestController;
import
java.util.Set
;
@RestController
public
class
PermissionController
{
...
...
@@ -62,7 +61,7 @@ public class PermissionController {
}
@RequestMapping
(
"/permissions/root"
)
public
ResponseEntity
<
PermissionCondition
>
hasRootPermission
(){
public
ResponseEntity
<
PermissionCondition
>
hasRootPermission
()
{
PermissionCondition
permissionCondition
=
new
PermissionCondition
();
permissionCondition
.
setHasPermission
(
rolePermissionService
.
isSuperAdmin
(
userInfoHolder
.
getUser
().
getUserId
()));
...
...
@@ -72,7 +71,7 @@ public class PermissionController {
@RequestMapping
(
"/apps/{appId}/namespaces/{namespaceName}/role_users"
)
public
NamespaceRolesAssignedUsers
getNamespaceRoles
(
@PathVariable
String
appId
,
@PathVariable
String
namespaceName
){
public
NamespaceRolesAssignedUsers
getNamespaceRoles
(
@PathVariable
String
appId
,
@PathVariable
String
namespaceName
)
{
NamespaceRolesAssignedUsers
assignedUsers
=
new
NamespaceRolesAssignedUsers
();
assignedUsers
.
setNamespaceName
(
namespaceName
);
...
...
@@ -92,16 +91,16 @@ public class PermissionController {
@PreAuthorize
(
value
=
"@permissionValidator.hasAssignRolePermission(#appId)"
)
@RequestMapping
(
value
=
"/apps/{appId}/namespaces/{namespaceName}/roles/{roleType}"
,
method
=
RequestMethod
.
POST
)
public
ResponseEntity
<
Void
>
assignNamespaceRoleToUser
(
@PathVariable
String
appId
,
@PathVariable
String
namespaceName
,
@PathVariable
String
roleType
,
@RequestBody
String
user
){
@PathVariable
String
roleType
,
@RequestBody
String
user
)
{
checkUserExists
(
user
);
RequestPrecondition
.
checkArgumentsNotEmpty
(
user
);
if
(!
RoleType
.
isValidRoleType
(
roleType
)){
if
(!
RoleType
.
isValidRoleType
(
roleType
))
{
throw
new
BadRequestException
(
"role type is illegal"
);
}
Set
<
String
>
assignedUser
=
rolePermissionService
.
assignRoleToUsers
(
RoleUtils
.
buildNamespaceRoleName
(
appId
,
namespaceName
,
roleType
),
Sets
.
newHashSet
(
user
),
userInfoHolder
.
getUser
().
getUserId
());
if
(
CollectionUtils
.
isEmpty
(
assignedUser
)){
if
(
CollectionUtils
.
isEmpty
(
assignedUser
))
{
throw
new
BadRequestException
(
user
+
"已授权"
);
}
...
...
@@ -111,10 +110,10 @@ public class PermissionController {
@PreAuthorize
(
value
=
"@permissionValidator.hasAssignRolePermission(#appId)"
)
@RequestMapping
(
value
=
"/apps/{appId}/namespaces/{namespaceName}/roles/{roleType}"
,
method
=
RequestMethod
.
DELETE
)
public
ResponseEntity
<
Void
>
removeNamespaceRoleFromUser
(
@PathVariable
String
appId
,
@PathVariable
String
namespaceName
,
@PathVariable
String
roleType
,
@RequestParam
String
user
)
{
@PathVariable
String
roleType
,
@RequestParam
String
user
)
{
RequestPrecondition
.
checkArgumentsNotEmpty
(
user
);
if
(!
RoleType
.
isValidRoleType
(
roleType
)){
if
(!
RoleType
.
isValidRoleType
(
roleType
))
{
throw
new
BadRequestException
(
"role type is illegal"
);
}
rolePermissionService
.
removeRoleFromUsers
(
RoleUtils
.
buildNamespaceRoleName
(
appId
,
namespaceName
,
roleType
),
...
...
@@ -123,7 +122,7 @@ public class PermissionController {
}
@RequestMapping
(
value
=
"/apps/{appId}/role_users"
)
public
AppRolesAssignedUsers
getAppRoles
(
@PathVariable
String
appId
){
public
AppRolesAssignedUsers
getAppRoles
(
@PathVariable
String
appId
)
{
AppRolesAssignedUsers
users
=
new
AppRolesAssignedUsers
();
users
.
setAppId
(
appId
);
...
...
@@ -136,16 +135,16 @@ public class PermissionController {
@PreAuthorize
(
value
=
"@permissionValidator.hasAssignRolePermission(#appId)"
)
@RequestMapping
(
value
=
"/apps/{appId}/roles/{roleType}"
,
method
=
RequestMethod
.
POST
)
public
ResponseEntity
<
Void
>
assignAppRoleToUser
(
@PathVariable
String
appId
,
@PathVariable
String
roleType
,
@RequestBody
String
user
){
@RequestBody
String
user
)
{
checkUserExists
(
user
);
RequestPrecondition
.
checkArgumentsNotEmpty
(
user
);
if
(!
RoleType
.
isValidRoleType
(
roleType
)){
if
(!
RoleType
.
isValidRoleType
(
roleType
))
{
throw
new
BadRequestException
(
"role type is illegal"
);
}
Set
<
String
>
assignedUsers
=
rolePermissionService
.
assignRoleToUsers
(
RoleUtils
.
buildAppRoleName
(
appId
,
roleType
),
Sets
.
newHashSet
(
user
),
userInfoHolder
.
getUser
().
getUserId
());
if
(
CollectionUtils
.
isEmpty
(
assignedUsers
)){
if
(
CollectionUtils
.
isEmpty
(
assignedUsers
))
{
throw
new
BadRequestException
(
user
+
"已授权"
);
}
...
...
@@ -155,10 +154,10 @@ public class PermissionController {
@PreAuthorize
(
value
=
"@permissionValidator.hasAssignRolePermission(#appId)"
)
@RequestMapping
(
value
=
"/apps/{appId}/roles/{roleType}"
,
method
=
RequestMethod
.
DELETE
)
public
ResponseEntity
<
Void
>
removeAppRoleFromUser
(
@PathVariable
String
appId
,
@PathVariable
String
roleType
,
@RequestParam
String
user
)
{
@RequestParam
String
user
)
{
RequestPrecondition
.
checkArgumentsNotEmpty
(
user
);
if
(!
RoleType
.
isValidRoleType
(
roleType
)){
if
(!
RoleType
.
isValidRoleType
(
roleType
))
{
throw
new
BadRequestException
(
"role type is illegal"
);
}
rolePermissionService
.
removeRoleFromUsers
(
RoleUtils
.
buildAppRoleName
(
appId
,
roleType
),
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ReleaseController.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
controller
;
import
com.ctrip.framework.apollo.common.utils.RequestPrecondition
;
import
com.ctrip.framework.apollo.common.dto.ReleaseDTO
;
import
com.ctrip.framework.apollo.common.utils.RequestPrecondition
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.portal.entity.form.NamespaceReleaseModel
;
import
com.ctrip.framework.apollo.portal.entity.vo.ReleaseCompareResult
;
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/UserInfoController.java
View file @
afa2a683
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/customize/BizLoggingCustomizer.java
View file @
afa2a683
...
...
@@ -9,7 +9,7 @@ import org.springframework.stereotype.Component;
@Component
@Profile
(
"ctrip"
)
public
class
BizLoggingCustomizer
extends
LoggingCustomizer
{
public
class
BizLoggingCustomizer
extends
LoggingCustomizer
{
private
static
final
String
CLOGGING_SERVER_URL_KEY
=
"clogging.server.url"
;
private
static
final
String
CLOGGING_SERVER_PORT_KEY
=
"clogging.server.port"
;
...
...
@@ -22,7 +22,7 @@ public class BizLoggingCustomizer extends LoggingCustomizer{
@Override
protected
String
cloggingUrl
()
{
if
(
cloggingUrl
==
null
){
if
(
cloggingUrl
==
null
)
{
cloggingUrl
=
serverConfigService
.
getValue
(
CLOGGING_SERVER_URL_KEY
);
}
return
cloggingUrl
;
...
...
@@ -30,7 +30,7 @@ public class BizLoggingCustomizer extends LoggingCustomizer{
@Override
protected
String
cloggingPort
()
{
if
(
cloggingPort
==
null
){
if
(
cloggingPort
==
null
)
{
cloggingPort
=
serverConfigService
.
getValue
(
CLOGGING_SERVER_PORT_KEY
);
}
return
cloggingPort
;
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/form/NamespaceReleaseModel.java
View file @
afa2a683
...
...
@@ -12,7 +12,7 @@ public class NamespaceReleaseModel implements Verifiable {
private
String
namespaceName
;
private
String
releaseTitle
;
private
String
releaseComment
;
private
String
releaseBy
;
private
String
release
d
By
;
@Override
public
boolean
isInvalid
()
{
...
...
@@ -67,11 +67,11 @@ public class NamespaceReleaseModel implements Verifiable {
this
.
releaseComment
=
releaseComment
;
}
public
String
getReleaseBy
()
{
return
releaseBy
;
public
String
getRelease
d
By
()
{
return
release
d
By
;
}
public
void
setRelease
By
(
String
release
By
)
{
this
.
release
By
=
release
By
;
public
void
setRelease
dBy
(
String
released
By
)
{
this
.
release
dBy
=
released
By
;
}
}
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/form/NamespaceSyncModel.java
View file @
afa2a683
...
...
@@ -14,11 +14,11 @@ public class NamespaceSyncModel implements Verifiable {
@Override
public
boolean
isInvalid
()
{
if
(
CollectionUtils
.
isEmpty
(
syncToNamespaces
)
||
CollectionUtils
.
isEmpty
(
syncItems
)){
if
(
CollectionUtils
.
isEmpty
(
syncToNamespaces
)
||
CollectionUtils
.
isEmpty
(
syncItems
))
{
return
true
;
}
for
(
NamespaceIdentifier
namespaceIdentifier
:
syncToNamespaces
){
if
(
namespaceIdentifier
.
isInvalid
()){
for
(
NamespaceIdentifier
namespaceIdentifier
:
syncToNamespaces
)
{
if
(
namespaceIdentifier
.
isInvalid
())
{
return
true
;
}
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/form/NamespaceTextModel.java
View file @
afa2a683
...
...
@@ -17,9 +17,10 @@ public class NamespaceTextModel implements Verifiable {
@Override
public
boolean
isInvalid
(){
public
boolean
isInvalid
()
{
return
StringUtils
.
isContainEmpty
(
appId
,
env
,
clusterName
,
namespaceName
)
||
namespaceId
<=
0
;
}
public
String
getAppId
()
{
return
appId
;
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/vo/EnvClusterInfo.java
View file @
afa2a683
...
...
@@ -9,7 +9,7 @@ public class EnvClusterInfo {
private
Env
env
;
private
List
<
ClusterDTO
>
clusters
;
public
EnvClusterInfo
(
Env
env
){
public
EnvClusterInfo
(
Env
env
)
{
this
.
env
=
env
;
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/vo/ItemDiffs.java
View file @
afa2a683
...
...
@@ -7,9 +7,10 @@ public class ItemDiffs {
private
ItemChangeSets
diffs
;
private
String
extInfo
;
public
ItemDiffs
(
NamespaceIdentifier
namespace
){
public
ItemDiffs
(
NamespaceIdentifier
namespace
)
{
this
.
namespace
=
namespace
;
}
public
NamespaceIdentifier
getNamespace
()
{
return
namespace
;
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/vo/NamespaceIdentifier.java
View file @
afa2a683
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/vo/NamespaceVO.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
entity
.
vo
;
import
com.ctrip.framework.apollo.common.dto.ItemDTO
;
import
com.ctrip.framework.apollo.common.dto.NamespaceDTO
;
...
...
@@ -70,7 +71,7 @@ public class NamespaceVO {
this
.
comment
=
comment
;
}
public
static
class
ItemVO
{
public
static
class
ItemVO
{
private
ItemDTO
item
;
private
boolean
isModified
;
private
boolean
isDeleted
;
...
...
@@ -118,7 +119,6 @@ public class NamespaceVO {
}
}
}
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/enums/ChangeType.java
View file @
afa2a683
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/listener/CreationListener.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
listener
;
import
com.ctrip.framework.apollo.common.utils.BeanUtils
;
import
com.ctrip.framework.apollo.common.dto.AppDTO
;
import
com.ctrip.framework.apollo.common.dto.AppNamespaceDTO
;
import
com.ctrip.framework.apollo.common.utils.BeanUtils
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.portal.PortalSettings
;
import
com.ctrip.framework.apollo.portal.api.AdminServiceAPI
;
...
...
@@ -43,7 +43,7 @@ public class CreationListener {
}
@EventListener
public
void
onAppNamespaceCreationEvent
(
AppNamespaceCreationEvent
event
){
public
void
onAppNamespaceCreationEvent
(
AppNamespaceCreationEvent
event
)
{
AppNamespaceDTO
appNamespace
=
BeanUtils
.
transfrom
(
AppNamespaceDTO
.
class
,
event
.
getAppNamespace
());
List
<
Env
>
envs
=
portalSettings
.
getActiveEnvs
();
for
(
Env
env
:
envs
)
{
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/AppNamespaceRepository.java
View file @
afa2a683
...
...
@@ -6,7 +6,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
import
java.util.List
;
public
interface
AppNamespaceRepository
extends
PagingAndSortingRepository
<
AppNamespace
,
Long
>{
public
interface
AppNamespaceRepository
extends
PagingAndSortingRepository
<
AppNamespace
,
Long
>
{
AppNamespace
findByAppIdAndName
(
String
appId
,
String
namespaceName
);
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/PermissionRepository.java
View file @
afa2a683
...
...
@@ -18,9 +18,6 @@ public interface PermissionRepository extends PagingAndSortingRepository<Permiss
/**
* find permissions by permission types and targetId
* @param permissionTypes
* @param targetId
* @return
*/
List
<
Permission
>
findByPermissionTypeInAndTargetId
(
Collection
<
String
>
permissionTypes
,
String
targetId
);
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/RoleRepository.java
View file @
afa2a683
...
...
@@ -10,8 +10,6 @@ import org.springframework.data.repository.PagingAndSortingRepository;
public
interface
RoleRepository
extends
PagingAndSortingRepository
<
Role
,
Long
>
{
/**
* find role by role name
* @param roleName
* @return
*/
Role
findTopByRoleName
(
String
roleName
);
}
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/UserRoleRepository.java
View file @
afa2a683
...
...
@@ -6,7 +6,6 @@ import org.springframework.data.repository.PagingAndSortingRepository;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Set
;
/**
* @author Jason Song(song_s@ctrip.com)
...
...
@@ -14,23 +13,16 @@ import java.util.Set;
public
interface
UserRoleRepository
extends
PagingAndSortingRepository
<
UserRole
,
Long
>
{
/**
* find user roles by userId
* @param userId
* @return
*/
List
<
UserRole
>
findByUserId
(
String
userId
);
/**
* find user roles by roleId
* @param roleId
* @return
*/
List
<
UserRole
>
findByRoleId
(
long
roleId
);
/**
* find user roles by userIds and roleId
* @param userId
* @param roleId
* @return
*/
List
<
UserRole
>
findByUserIdInAndRoleId
(
Collection
<
String
>
userId
,
long
roleId
);
}
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppNamespaceService.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
service
;
import
com.ctrip.framework.apollo.common.entity.AppNamespace
;
import
com.ctrip.framework.apollo.core.ConfigConsts
;
import
com.ctrip.framework.apollo.core.enums.ConfigFileFormat
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.common.exception.ServiceException
;
import
com.ctrip.framework.apollo.core.ConfigConsts
;
import
com.ctrip.framework.apollo.core.enums.ConfigFileFormat
;
import
com.ctrip.framework.apollo.portal.auth.UserInfoHolder
;
import
com.ctrip.framework.apollo.portal.repository.AppNamespaceRepository
;
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppService.java
View file @
afa2a683
...
...
@@ -2,22 +2,12 @@ package com.ctrip.framework.apollo.portal.service;
import
com.google.common.collect.Lists
;
import
java.util.Collections
;
import
java.util.List
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.client.HttpStatusCodeException
;
import
com.ctrip.framework.apollo.common.dto.AppDTO
;
import
com.ctrip.framework.apollo.common.entity.App
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.common.utils.BeanUtils
;
import
com.ctrip.framework.apollo.common.utils.ExceptionUtils
;
import
com.ctrip.framework.apollo.common.dto.AppDTO
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.portal.api.AdminServiceAPI
;
import
com.ctrip.framework.apollo.portal.auth.UserInfoHolder
;
import
com.ctrip.framework.apollo.portal.constant.CatEventType
;
...
...
@@ -25,6 +15,16 @@ import com.ctrip.framework.apollo.portal.entity.vo.EnvClusterInfo;
import
com.ctrip.framework.apollo.portal.repository.AppRepository
;
import
com.dianping.cat.Cat
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.client.HttpStatusCodeException
;
import
java.util.Collections
;
import
java.util.List
;
@Service
public
class
AppService
{
...
...
@@ -56,7 +56,7 @@ public class AppService {
public
App
load
(
String
appId
)
{
App
app
=
appRepository
.
findByAppId
(
appId
);
if
(
app
==
null
){
if
(
app
==
null
)
{
throw
new
BadRequestException
(
String
.
format
(
"app %s cant found."
,
appId
));
}
return
app
;
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ClusterService.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
service
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.common.dto.ClusterDTO
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.portal.api.AdminServiceAPI
;
import
com.ctrip.framework.apollo.portal.constant.CatEventType
;
import
com.dianping.cat.Cat
;
...
...
@@ -18,12 +18,12 @@ public class ClusterService {
@Autowired
private
AdminServiceAPI
.
ClusterAPI
clusterAPI
;
public
List
<
ClusterDTO
>
findClusters
(
Env
env
,
String
appId
){
public
List
<
ClusterDTO
>
findClusters
(
Env
env
,
String
appId
)
{
return
clusterAPI
.
findClustersByApp
(
appId
,
env
);
}
public
ClusterDTO
createCluster
(
Env
env
,
ClusterDTO
cluster
){
if
(!
clusterAPI
.
isClusterUnique
(
cluster
.
getAppId
(),
env
,
cluster
.
getName
())){
public
ClusterDTO
createCluster
(
Env
env
,
ClusterDTO
cluster
)
{
if
(!
clusterAPI
.
isClusterUnique
(
cluster
.
getAppId
(),
env
,
cluster
.
getName
()))
{
throw
new
BadRequestException
(
String
.
format
(
"cluster %s already exists."
,
cluster
.
getName
()));
}
ClusterDTO
clusterDTO
=
clusterAPI
.
create
(
env
,
cluster
);
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/CommitService.java
View file @
afa2a683
...
...
@@ -16,7 +16,7 @@ public class CommitService {
@Autowired
private
AdminServiceAPI
.
CommitAPI
commitAPI
;
public
List
<
CommitDTO
>
find
(
String
appId
,
Env
env
,
String
clusterName
,
String
namespaceName
,
int
page
,
int
size
){
public
List
<
CommitDTO
>
find
(
String
appId
,
Env
env
,
String
clusterName
,
String
namespaceName
,
int
page
,
int
size
)
{
return
commitAPI
.
find
(
appId
,
env
,
clusterName
,
namespaceName
,
page
,
size
);
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ItemService.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
service
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.client.HttpClientErrorException
;
import
com.ctrip.framework.apollo.common.utils.BeanUtils
;
import
com.ctrip.framework.apollo.core.enums.ConfigFileFormat
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.common.dto.ItemChangeSets
;
import
com.ctrip.framework.apollo.common.dto.ItemDTO
;
import
com.ctrip.framework.apollo.common.dto.NamespaceDTO
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.common.utils.BeanUtils
;
import
com.ctrip.framework.apollo.core.enums.ConfigFileFormat
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.core.utils.StringUtils
;
import
com.ctrip.framework.apollo.portal.api.AdminServiceAPI
;
import
com.ctrip.framework.apollo.portal.auth.UserInfoHolder
;
import
com.ctrip.framework.apollo.portal.constant.CatEventType
;
import
com.ctrip.framework.apollo.portal.entity.form.NamespaceTextModel
;
import
com.ctrip.framework.apollo.portal.entity.vo.ItemDiffs
;
import
com.ctrip.framework.apollo.portal.entity.vo.NamespaceIdentifier
;
import
com.ctrip.framework.apollo.portal.entity.form.NamespaceTextModel
;
import
com.ctrip.framework.apollo.portal.service.txtresolver.ConfigTextResolver
;
import
com.dianping.cat.Cat
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.client.HttpClientErrorException
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -87,7 +87,7 @@ public class ItemService {
}
item
.
setNamespaceId
(
namespace
.
getId
());
if
(
StringUtils
.
isEmpty
(
item
.
getDataChangeCreatedBy
())){
if
(
StringUtils
.
isEmpty
(
item
.
getDataChangeCreatedBy
()))
{
String
username
=
userInfoHolder
.
getUser
().
getUserId
();
item
.
setDataChangeCreatedBy
(
username
);
item
.
setDataChangeLastModifiedBy
(
username
);
...
...
@@ -99,7 +99,7 @@ public class ItemService {
}
public
void
updateItem
(
String
appId
,
Env
env
,
String
clusterName
,
String
namespaceName
,
ItemDTO
item
)
{
if
(
StringUtils
.
isEmpty
(
item
.
getDataChangeLastModifiedBy
())){
if
(
StringUtils
.
isEmpty
(
item
.
getDataChangeLastModifiedBy
()))
{
String
username
=
userInfoHolder
.
getUser
().
getUserId
();
item
.
setDataChangeLastModifiedBy
(
username
);
}
...
...
@@ -114,7 +114,7 @@ public class ItemService {
return
itemAPI
.
findItems
(
appId
,
env
,
clusterName
,
namespaceName
);
}
public
ItemDTO
loadItem
(
Env
env
,
long
itemId
){
public
ItemDTO
loadItem
(
Env
env
,
long
itemId
)
{
return
itemAPI
.
loadItem
(
env
,
itemId
);
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/NamespaceLockService.java
View file @
afa2a683
...
...
@@ -13,7 +13,7 @@ public class NamespaceLockService {
@Autowired
private
AdminServiceAPI
.
NamespaceLockAPI
namespaceLockAPI
;
public
NamespaceLockDTO
getNamespaceLock
(
String
appId
,
Env
env
,
String
clusterName
,
String
namespaceName
){
public
NamespaceLockDTO
getNamespaceLock
(
String
appId
,
Env
env
,
String
clusterName
,
String
namespaceName
)
{
return
namespaceLockAPI
.
getNamespaceLockOwner
(
appId
,
env
,
clusterName
,
namespaceName
);
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/NamespaceService.java
View file @
afa2a683
...
...
@@ -2,12 +2,12 @@ package com.ctrip.framework.apollo.portal.service;
import
com.google.gson.Gson
;
import
com.ctrip.framework.apollo.common.entity.AppNamespace
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.common.utils.BeanUtils
;
import
com.ctrip.framework.apollo.common.dto.ItemDTO
;
import
com.ctrip.framework.apollo.common.dto.NamespaceDTO
;
import
com.ctrip.framework.apollo.common.dto.ReleaseDTO
;
import
com.ctrip.framework.apollo.common.entity.AppNamespace
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.common.utils.BeanUtils
;
import
com.ctrip.framework.apollo.core.enums.ConfigFileFormat
;
import
com.ctrip.framework.apollo.core.enums.Env
;
import
com.ctrip.framework.apollo.core.utils.StringUtils
;
...
...
@@ -58,10 +58,10 @@ public class NamespaceService {
return
createdNamespace
;
}
public
NamespaceDTO
loadNamespaceBaseInfo
(
String
appId
,
Env
env
,
String
clusterName
,
String
namespaceName
){
public
NamespaceDTO
loadNamespaceBaseInfo
(
String
appId
,
Env
env
,
String
clusterName
,
String
namespaceName
)
{
NamespaceDTO
namespace
=
namespaceAPI
.
loadNamespace
(
appId
,
env
,
clusterName
,
namespaceName
);
if
(
namespace
==
null
){
throw
new
BadRequestException
(
"namespaces not exist
ed
"
);
if
(
namespace
==
null
)
{
throw
new
BadRequestException
(
"namespaces not exist"
);
}
return
namespace
;
}
...
...
@@ -73,7 +73,7 @@ public class NamespaceService {
List
<
NamespaceDTO
>
namespaces
=
namespaceAPI
.
findNamespaceByCluster
(
appId
,
env
,
clusterName
);
if
(
namespaces
==
null
||
namespaces
.
size
()
==
0
)
{
throw
new
BadRequestException
(
"namespaces not exist
ed
"
);
throw
new
BadRequestException
(
"namespaces not exist"
);
}
List
<
NamespaceVO
>
namespaceVOs
=
new
LinkedList
<>();
...
...
@@ -93,10 +93,10 @@ public class NamespaceService {
return
namespaceVOs
;
}
public
NamespaceVO
loadNamespace
(
String
appId
,
Env
env
,
String
clusterName
,
String
namespaceName
){
public
NamespaceVO
loadNamespace
(
String
appId
,
Env
env
,
String
clusterName
,
String
namespaceName
)
{
NamespaceDTO
namespace
=
namespaceAPI
.
loadNamespace
(
appId
,
env
,
clusterName
,
namespaceName
);
if
(
namespace
==
null
){
throw
new
BadRequestException
(
"namespaces not exist
ed
"
);
if
(
namespace
==
null
)
{
throw
new
BadRequestException
(
"namespaces not exist"
);
}
return
parseNamespace
(
appId
,
env
,
clusterName
,
namespace
);
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ReleaseService.java
View file @
afa2a683
...
...
@@ -47,7 +47,7 @@ public class ReleaseService {
String
clusterName
=
model
.
getClusterName
();
String
namespaceName
=
model
.
getNamespaceName
();
String
releaseBy
=
StringUtils
.
isEmpty
(
model
.
getReleaseBy
())
?
userInfoHolder
.
getUser
().
getUserId
()
:
model
.
getRelease
By
();
StringUtils
.
isEmpty
(
model
.
getReleasedBy
())
?
userInfoHolder
.
getUser
().
getUserId
()
:
model
.
getReleased
By
();
ReleaseDTO
releaseDTO
=
releaseAPI
.
createRelease
(
appId
,
env
,
clusterName
,
namespaceName
,
model
.
getReleaseTitle
(),
model
.
getReleaseComment
()
...
...
@@ -90,7 +90,7 @@ public class ReleaseService {
return
releaseAPI
.
findActiveReleases
(
appId
,
env
,
clusterName
,
namespaceName
,
page
,
size
);
}
public
ReleaseDTO
loadLatestRelease
(
String
appId
,
Env
env
,
String
clusterName
,
String
namespaceName
)
{
public
ReleaseDTO
loadLatestRelease
(
String
appId
,
Env
env
,
String
clusterName
,
String
namespaceName
)
{
return
releaseAPI
.
loadLatestRelease
(
appId
,
env
,
clusterName
,
namespaceName
);
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/RoleInitializationService.java
View file @
afa2a683
...
...
@@ -33,7 +33,7 @@ public class RoleInitializationService {
String
appMasterRoleName
=
RoleUtils
.
buildAppMasterRoleName
(
appId
);
//has created before
if
(
rolePermissionService
.
findRoleByRoleName
(
appMasterRoleName
)
!=
null
){
if
(
rolePermissionService
.
findRoleByRoleName
(
appMasterRoleName
)
!=
null
)
{
return
;
}
String
operaterUserId
=
userInfoHolder
.
getUser
().
getUserId
();
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/txtresolver/FileTextResolver.java
View file @
afa2a683
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
service
.
txtresolver
;
import
com.ctrip.framework.apollo.core.ConfigConsts
;
import
com.ctrip.framework.apollo.common.dto.ItemChangeSets
;
import
com.ctrip.framework.apollo.common.dto.ItemDTO
;
import
com.ctrip.framework.apollo.core.ConfigConsts
;
import
com.ctrip.framework.apollo.core.utils.StringUtils
;
import
org.springframework.stereotype.Component
;
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/txtresolver/PropertyResolver.java
View file @
afa2a683
...
...
@@ -35,7 +35,7 @@ public class PropertyResolver implements ConfigTextResolver {
String
[]
newItems
=
configText
.
split
(
ITEM_SEPARATOR
);
if
(
isHasRepeatKey
(
newItems
)){
if
(
isHasRepeatKey
(
newItems
))
{
throw
new
BadRequestException
(
"config text has repeat key please check."
);
}
...
...
@@ -71,27 +71,27 @@ public class PropertyResolver implements ConfigTextResolver {
return
changeSets
;
}
private
boolean
isHasRepeatKey
(
String
[]
newItems
){
private
boolean
isHasRepeatKey
(
String
[]
newItems
)
{
Set
<
String
>
keys
=
new
HashSet
<>();
int
lineCounter
=
1
;
int
keyCount
=
0
;
for
(
String
item
:
newItems
)
{
if
(!
isCommentItem
(
item
)
&&
!
isBlankItem
(
item
)){
for
(
String
item
:
newItems
)
{
if
(!
isCommentItem
(
item
)
&&
!
isBlankItem
(
item
))
{
keyCount
++;
String
[]
kv
=
parseKeyValueFromItem
(
item
);
if
(
kv
!=
null
)
{
keys
.
add
(
kv
[
0
]);
}
else
{
}
else
{
throw
new
BadRequestException
(
"line:"
+
lineCounter
+
" key value must separate by '='"
);
}
}
lineCounter
++;
lineCounter
++;
}
return
keyCount
>
keys
.
size
();
}
private
String
[]
parseKeyValueFromItem
(
String
item
){
private
String
[]
parseKeyValueFromItem
(
String
item
)
{
int
kvSeparator
=
item
.
indexOf
(
KV_SEPARATOR
);
if
(
kvSeparator
==
-
1
)
{
return
null
;
...
...
@@ -133,7 +133,7 @@ public class PropertyResolver implements ConfigTextResolver {
if
(
oldItem
==
null
)
{
//new item
changeSets
.
addCreateItem
(
buildNormalItem
(
0
l
,
namespaceId
,
newKey
,
newValue
,
""
,
lineCounter
));
}
else
if
(!
newValue
.
equals
(
oldItem
.
getValue
())
||
lineCounter
!=
oldItem
.
getLineNum
()){
//update item
}
else
if
(!
newValue
.
equals
(
oldItem
.
getValue
())
||
lineCounter
!=
oldItem
.
getLineNum
())
{
//update item
changeSets
.
addUpdateItem
(
buildNormalItem
(
oldItem
.
getId
(),
namespaceId
,
newKey
,
newValue
,
oldItem
.
getComment
(),
lineCounter
));
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/util/RoleUtils.java
View file @
afa2a683
...
...
@@ -9,38 +9,39 @@ public class RoleUtils {
private
static
final
Joiner
STRING_JOINER
=
Joiner
.
on
(
ConfigConsts
.
CLUSTER_NAMESPACE_SEPARATOR
);
public
static
String
buildAppMasterRoleName
(
String
appId
){
public
static
String
buildAppMasterRoleName
(
String
appId
)
{
return
STRING_JOINER
.
join
(
RoleType
.
MASTER
,
appId
);
}
public
static
String
buildAppRoleName
(
String
appId
,
String
roleType
){
public
static
String
buildAppRoleName
(
String
appId
,
String
roleType
)
{
return
STRING_JOINER
.
join
(
roleType
,
appId
);
}
public
static
String
buildModifyNamespaceRoleName
(
String
appId
,
String
namespaceName
){
public
static
String
buildModifyNamespaceRoleName
(
String
appId
,
String
namespaceName
)
{
return
STRING_JOINER
.
join
(
RoleType
.
MODIFY_NAMESPACE
,
appId
,
namespaceName
);
}
public
static
String
buildModifyDefaultNamespaceRoleName
(
String
appId
){
public
static
String
buildModifyDefaultNamespaceRoleName
(
String
appId
)
{
return
STRING_JOINER
.
join
(
RoleType
.
MODIFY_NAMESPACE
,
appId
,
ConfigConsts
.
NAMESPACE_APPLICATION
);
}
public
static
String
buildReleaseNamespaceRoleName
(
String
appId
,
String
namespaceName
){
public
static
String
buildReleaseNamespaceRoleName
(
String
appId
,
String
namespaceName
)
{
return
STRING_JOINER
.
join
(
RoleType
.
RELEASE_NAMESPACE
,
appId
,
namespaceName
);
}
public
static
String
buildNamespaceRoleName
(
String
appId
,
String
namespaceName
,
String
roleType
){
public
static
String
buildNamespaceRoleName
(
String
appId
,
String
namespaceName
,
String
roleType
)
{
return
STRING_JOINER
.
join
(
roleType
,
appId
,
namespaceName
);
}
public
static
String
buildReleaseDefaultNamespaceRoleName
(
String
appId
){
public
static
String
buildReleaseDefaultNamespaceRoleName
(
String
appId
)
{
return
STRING_JOINER
.
join
(
RoleType
.
RELEASE_NAMESPACE
,
appId
,
ConfigConsts
.
NAMESPACE_APPLICATION
);
}
public
static
String
buildNamespaceTargetId
(
String
appId
,
String
namespaceName
){
public
static
String
buildNamespaceTargetId
(
String
appId
,
String
namespaceName
)
{
return
STRING_JOINER
.
join
(
appId
,
namespaceName
);
}
public
static
String
buildDefaultNamespaceTargetId
(
String
appId
){
public
static
String
buildDefaultNamespaceTargetId
(
String
appId
)
{
return
STRING_JOINER
.
join
(
appId
,
ConfigConsts
.
NAMESPACE_APPLICATION
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment