Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
apollo
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
openSource
apollo
Commits
b2f24cb1
Unverified
Commit
b2f24cb1
authored
Dec 16, 2017
by
Jason Song
Committed by
GitHub
Dec 16, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into keepalive
parents
8d31e511
d0bbf0da
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
75 additions
and
18 deletions
+75
-18
README.md
README.md
+2
-0
App.java
...in/java/com/ctrip/framework/apollo/common/entity/App.java
+49
-0
AppController.java
...rip/framework/apollo/portal/controller/AppController.java
+8
-8
ClusterController.java
...framework/apollo/portal/controller/ClusterController.java
+3
-1
ConsumerController.java
...ramework/apollo/portal/controller/ConsumerController.java
+1
-1
ItemController.java
...ip/framework/apollo/portal/controller/ItemController.java
+4
-3
ReleaseController.java
...framework/apollo/portal/controller/ReleaseController.java
+4
-3
ServerConfigController.java
...work/apollo/portal/controller/ServerConfigController.java
+4
-2
263mobile.png
doc/images/known-users/263mobile.png
+0
-0
juneyaoair.png
doc/images/known-users/juneyaoair.png
+0
-0
No files found.
README.md
View file @
b2f24cb1
...
@@ -137,3 +137,5 @@ The project is licensed under the [Apache 2 license](https://github.com/ctripcor
...
@@ -137,3 +137,5 @@ The project is licensed under the [Apache 2 license](https://github.com/ctripcor
![
现金巴士
](
https://github.com/ctripcorp/apollo/blob/master/doc/images/known-users/cash-bus.png
)
![
现金巴士
](
https://github.com/ctripcorp/apollo/blob/master/doc/images/known-users/cash-bus.png
)
![
锤子科技
](
https://github.com/ctripcorp/apollo/blob/master/doc/images/known-users/smartisan.png
)
![
锤子科技
](
https://github.com/ctripcorp/apollo/blob/master/doc/images/known-users/smartisan.png
)
![
头等仓
](
https://github.com/ctripcorp/apollo/blob/master/doc/images/known-users/toodc.png
)
![
头等仓
](
https://github.com/ctripcorp/apollo/blob/master/doc/images/known-users/toodc.png
)
![
吉祥航空
](
https://github.com/ctripcorp/apollo/blob/master/doc/images/known-users/juneyaoair.png
)
![
263移动通信
](
https://github.com/ctripcorp/apollo/blob/master/doc/images/known-users/263mobile.png
)
apollo-common/src/main/java/com/ctrip/framework/apollo/common/entity/App.java
View file @
b2f24cb1
...
@@ -86,4 +86,53 @@ public class App extends BaseEntity {
...
@@ -86,4 +86,53 @@ public class App extends BaseEntity {
.
add
(
"ownerName"
,
ownerName
)
.
add
(
"ownerName"
,
ownerName
)
.
add
(
"ownerEmail"
,
ownerEmail
).
toString
();
.
add
(
"ownerEmail"
,
ownerEmail
).
toString
();
}
}
public
static
class
Builder
{
public
Builder
()
{
}
private
App
app
=
new
App
();
public
Builder
name
(
String
name
)
{
app
.
setName
(
name
);
return
this
;
}
public
Builder
appId
(
String
appId
)
{
app
.
setAppId
(
appId
);
return
this
;
}
public
Builder
orgId
(
String
orgId
)
{
app
.
setOrgId
(
orgId
);
return
this
;
}
public
Builder
orgName
(
String
orgName
)
{
app
.
setOrgName
(
orgName
);
return
this
;
}
public
Builder
ownerName
(
String
ownerName
)
{
app
.
setOrgName
(
ownerName
);
return
this
;
}
public
Builder
ownerEmail
(
String
ownerEmail
)
{
app
.
setOwnerEmail
(
ownerEmail
);
return
this
;
}
public
App
build
()
{
return
app
;
}
}
public
static
Builder
builder
()
{
return
new
Builder
();
}
}
}
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/AppController.java
View file @
b2f24cb1
...
@@ -178,13 +178,13 @@ public class AppController {
...
@@ -178,13 +178,13 @@ public class AppController {
throw
new
BadRequestException
(
String
.
format
(
"AppId格式错误: %s"
,
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
));
throw
new
BadRequestException
(
String
.
format
(
"AppId格式错误: %s"
,
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
));
}
}
App
app
=
new
App
();
return
App
.
builder
()
app
.
setAppId
(
appId
);
.
appId
(
appId
)
app
.
setName
(
appName
);
.
name
(
appName
)
app
.
setOwnerName
(
ownerName
);
.
ownerName
(
ownerName
)
app
.
setOrgId
(
orgId
);
.
orgId
(
orgId
)
app
.
setOrgName
(
orgName
);
.
orgName
(
orgName
)
.
build
();
return
app
;
}
}
}
}
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ClusterController.java
View file @
b2f24cb1
...
@@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
...
@@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Objects
;
import
static
com
.
ctrip
.
framework
.
apollo
.
common
.
utils
.
RequestPrecondition
.
checkModel
;
import
static
com
.
ctrip
.
framework
.
apollo
.
common
.
utils
.
RequestPrecondition
.
checkModel
;
@RestController
@RestController
...
@@ -32,7 +34,7 @@ public class ClusterController {
...
@@ -32,7 +34,7 @@ public class ClusterController {
public
ClusterDTO
createCluster
(
@PathVariable
String
appId
,
@PathVariable
String
env
,
public
ClusterDTO
createCluster
(
@PathVariable
String
appId
,
@PathVariable
String
env
,
@RequestBody
ClusterDTO
cluster
)
{
@RequestBody
ClusterDTO
cluster
)
{
checkModel
(
cluster
!=
null
);
checkModel
(
Objects
.
nonNull
(
cluster
)
);
RequestPrecondition
.
checkArgumentsNotEmpty
(
cluster
.
getAppId
(),
cluster
.
getName
());
RequestPrecondition
.
checkArgumentsNotEmpty
(
cluster
.
getAppId
(),
cluster
.
getName
());
if
(!
InputValidator
.
isValidClusterNamespace
(
cluster
.
getName
()))
{
if
(!
InputValidator
.
isValidClusterNamespace
(
cluster
.
getName
()))
{
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ConsumerController.java
View file @
b2f24cb1
...
@@ -53,7 +53,7 @@ public class ConsumerController {
...
@@ -53,7 +53,7 @@ public class ConsumerController {
Consumer
createdConsumer
=
consumerService
.
createConsumer
(
consumer
);
Consumer
createdConsumer
=
consumerService
.
createConsumer
(
consumer
);
if
(
expires
==
null
)
{
if
(
Objects
.
isNull
(
expires
)
)
{
expires
=
DEFAULT_EXPIRES
;
expires
=
DEFAULT_EXPIRES
;
}
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ItemController.java
View file @
b2f24cb1
...
@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
import
java.util.Collections
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
static
com
.
ctrip
.
framework
.
apollo
.
common
.
utils
.
RequestPrecondition
.
checkModel
;
import
static
com
.
ctrip
.
framework
.
apollo
.
common
.
utils
.
RequestPrecondition
.
checkModel
;
...
@@ -128,7 +129,7 @@ public class ItemController {
...
@@ -128,7 +129,7 @@ public class ItemController {
@RequestMapping
(
value
=
"/namespaces/{namespaceName}/diff"
,
method
=
RequestMethod
.
POST
,
consumes
=
{
@RequestMapping
(
value
=
"/namespaces/{namespaceName}/diff"
,
method
=
RequestMethod
.
POST
,
consumes
=
{
"application/json"
})
"application/json"
})
public
List
<
ItemDiffs
>
diff
(
@RequestBody
NamespaceSyncModel
model
)
{
public
List
<
ItemDiffs
>
diff
(
@RequestBody
NamespaceSyncModel
model
)
{
checkModel
(
model
!=
null
&&
!
model
.
isInvalid
());
checkModel
(
Objects
.
nonNull
(
model
)
&&
!
model
.
isInvalid
());
return
configService
.
compare
(
model
.
getSyncToNamespaces
(),
model
.
getSyncItems
());
return
configService
.
compare
(
model
.
getSyncToNamespaces
(),
model
.
getSyncItems
());
}
}
...
@@ -138,14 +139,14 @@ public class ItemController {
...
@@ -138,14 +139,14 @@ public class ItemController {
"application/json"
})
"application/json"
})
public
ResponseEntity
<
Void
>
update
(
@PathVariable
String
appId
,
@PathVariable
String
namespaceName
,
public
ResponseEntity
<
Void
>
update
(
@PathVariable
String
appId
,
@PathVariable
String
namespaceName
,
@RequestBody
NamespaceSyncModel
model
)
{
@RequestBody
NamespaceSyncModel
model
)
{
checkModel
(
model
!=
null
&&
!
model
.
isInvalid
());
checkModel
(
Objects
.
nonNull
(
model
)
&&
!
model
.
isInvalid
());
configService
.
syncItems
(
model
.
getSyncToNamespaces
(),
model
.
getSyncItems
());
configService
.
syncItems
(
model
.
getSyncToNamespaces
(),
model
.
getSyncItems
());
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
build
();
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
build
();
}
}
private
boolean
isValidItem
(
ItemDTO
item
)
{
private
boolean
isValidItem
(
ItemDTO
item
)
{
return
item
!=
null
&&
!
StringUtils
.
isContainEmpty
(
item
.
getKey
());
return
Objects
.
nonNull
(
item
)
&&
!
StringUtils
.
isContainEmpty
(
item
.
getKey
());
}
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ReleaseController.java
View file @
b2f24cb1
...
@@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestParam;
...
@@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
static
com
.
ctrip
.
framework
.
apollo
.
common
.
utils
.
RequestPrecondition
.
checkModel
;
import
static
com
.
ctrip
.
framework
.
apollo
.
common
.
utils
.
RequestPrecondition
.
checkModel
;
...
@@ -41,7 +42,7 @@ public class ReleaseController {
...
@@ -41,7 +42,7 @@ public class ReleaseController {
@PathVariable
String
env
,
@PathVariable
String
clusterName
,
@PathVariable
String
env
,
@PathVariable
String
clusterName
,
@PathVariable
String
namespaceName
,
@RequestBody
NamespaceReleaseModel
model
)
{
@PathVariable
String
namespaceName
,
@RequestBody
NamespaceReleaseModel
model
)
{
checkModel
(
model
!=
null
);
checkModel
(
Objects
.
nonNull
(
model
)
);
model
.
setAppId
(
appId
);
model
.
setAppId
(
appId
);
model
.
setEnv
(
env
);
model
.
setEnv
(
env
);
model
.
setClusterName
(
clusterName
);
model
.
setClusterName
(
clusterName
);
...
@@ -74,7 +75,7 @@ public class ReleaseController {
...
@@ -74,7 +75,7 @@ public class ReleaseController {
@PathVariable
String
namespaceName
,
@PathVariable
String
branchName
,
@PathVariable
String
namespaceName
,
@PathVariable
String
branchName
,
@RequestBody
NamespaceReleaseModel
model
)
{
@RequestBody
NamespaceReleaseModel
model
)
{
checkModel
(
model
!=
null
);
checkModel
(
Objects
.
nonNull
(
model
)
);
model
.
setAppId
(
appId
);
model
.
setAppId
(
appId
);
model
.
setEnv
(
env
);
model
.
setEnv
(
env
);
model
.
setClusterName
(
branchName
);
model
.
setClusterName
(
branchName
);
...
@@ -142,7 +143,7 @@ public class ReleaseController {
...
@@ -142,7 +143,7 @@ public class ReleaseController {
@PathVariable
long
releaseId
)
{
@PathVariable
long
releaseId
)
{
releaseService
.
rollback
(
Env
.
valueOf
(
env
),
releaseId
);
releaseService
.
rollback
(
Env
.
valueOf
(
env
),
releaseId
);
ReleaseDTO
release
=
releaseService
.
findReleaseById
(
Env
.
valueOf
(
env
),
releaseId
);
ReleaseDTO
release
=
releaseService
.
findReleaseById
(
Env
.
valueOf
(
env
),
releaseId
);
if
(
release
==
null
)
{
if
(
Objects
.
isNull
(
release
)
)
{
return
;
return
;
}
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ServerConfigController.java
View file @
b2f24cb1
...
@@ -14,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
...
@@ -14,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Objects
;
import
static
com
.
ctrip
.
framework
.
apollo
.
common
.
utils
.
RequestPrecondition
.
checkModel
;
import
static
com
.
ctrip
.
framework
.
apollo
.
common
.
utils
.
RequestPrecondition
.
checkModel
;
/**
/**
...
@@ -31,14 +33,14 @@ public class ServerConfigController {
...
@@ -31,14 +33,14 @@ public class ServerConfigController {
@RequestMapping
(
value
=
"/server/config"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/server/config"
,
method
=
RequestMethod
.
POST
)
public
ServerConfig
createOrUpdate
(
@RequestBody
ServerConfig
serverConfig
)
{
public
ServerConfig
createOrUpdate
(
@RequestBody
ServerConfig
serverConfig
)
{
checkModel
(
serverConfig
!=
null
);
checkModel
(
Objects
.
nonNull
(
serverConfig
)
);
RequestPrecondition
.
checkArgumentsNotEmpty
(
serverConfig
.
getKey
(),
serverConfig
.
getValue
());
RequestPrecondition
.
checkArgumentsNotEmpty
(
serverConfig
.
getKey
(),
serverConfig
.
getValue
());
String
modifiedBy
=
userInfoHolder
.
getUser
().
getUserId
();
String
modifiedBy
=
userInfoHolder
.
getUser
().
getUserId
();
ServerConfig
storedConfig
=
serverConfigRepository
.
findByKey
(
serverConfig
.
getKey
());
ServerConfig
storedConfig
=
serverConfigRepository
.
findByKey
(
serverConfig
.
getKey
());
if
(
storedConfig
==
null
)
{
//create
if
(
Objects
.
isNull
(
storedConfig
)
)
{
//create
serverConfig
.
setDataChangeCreatedBy
(
modifiedBy
);
serverConfig
.
setDataChangeCreatedBy
(
modifiedBy
);
serverConfig
.
setDataChangeLastModifiedBy
(
modifiedBy
);
serverConfig
.
setDataChangeLastModifiedBy
(
modifiedBy
);
return
serverConfigRepository
.
save
(
serverConfig
);
return
serverConfigRepository
.
save
(
serverConfig
);
...
...
doc/images/known-users/263mobile.png
0 → 100644
View file @
b2f24cb1
5.29 KB
doc/images/known-users/juneyaoair.png
0 → 100644
View file @
b2f24cb1
11.6 KB
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