Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
C
CTF
Project
Project
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
Grzegorz
CTF
Commits
6264e980
Commit
6264e980
authored
Nov 12, 2016
by
Grzegorz Pietrusza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
simple error handling
parent
254189ca
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
73 additions
and
7 deletions
+73
-7
ElementAlreadyExistsException.java
...yournet/ctf/exceptions/ElementAlreadyExistsException.java
+17
-0
ElementDoesNotExistException.java
...kyournet/ctf/exceptions/ElementDoesNotExistException.java
+17
-0
UserRepository.java
...ephoners/krakyournet/ctf/repositories/UserRepository.java
+22
-0
RegistrationResource.java
...oners/krakyournet/ctf/resources/RegistrationResource.java
+17
-7
No files found.
service/src/main/java/com/telephoners/krakyournet/ctf/exceptions/ElementAlreadyExistsException.java
0 → 100644
View file @
6264e980
package
com
.
telephoners
.
krakyournet
.
ctf
.
exceptions
;
import
com.telephoners.krakyournet.ctf.beans.User
;
import
javax.ws.rs.WebApplicationException
;
import
javax.ws.rs.core.Response
;
public
class
ElementAlreadyExistsException
extends
WebApplicationException
{
public
ElementAlreadyExistsException
(
final
Class
<
User
>
elementName
)
{
super
(
Response
.
status
(
Response
.
Status
.
BAD_REQUEST
)
.
entity
(
String
.
format
(
"Element %s already exists"
,
elementName
.
getSimpleName
()))
.
type
(
"text/plain"
)
.
build
());
}
}
service/src/main/java/com/telephoners/krakyournet/ctf/exceptions/ElementDoesNotExistException.java
0 → 100644
View file @
6264e980
package
com
.
telephoners
.
krakyournet
.
ctf
.
exceptions
;
import
com.telephoners.krakyournet.ctf.beans.Team
;
import
javax.ws.rs.WebApplicationException
;
import
javax.ws.rs.core.Response
;
public
class
ElementDoesNotExistException
extends
WebApplicationException
{
public
ElementDoesNotExistException
(
final
Class
<
Team
>
elementName
)
{
super
(
Response
.
status
(
Response
.
Status
.
NOT_FOUND
)
.
entity
(
String
.
format
(
"Element %s does not exist"
,
elementName
.
getSimpleName
()))
.
type
(
"text/plain"
)
.
build
());
}
}
service/src/main/java/com/telephoners/krakyournet/ctf/repositories/UserRepository.java
0 → 100644
View file @
6264e980
package
com
.
telephoners
.
krakyournet
.
ctf
.
repositories
;
import
com.google.inject.Inject
;
import
com.telephoners.krakyournet.ctf.beans.User
;
import
com.telephoners.krakyournet.ctf.core.DataConnector
;
public
class
UserRepository
extends
Repository
<
User
>
{
@Inject
public
UserRepository
(
final
Class
<
User
>
type
,
final
DataConnector
<
User
>
connector
)
{
super
(
type
,
connector
);
}
//todo: this should be handled by driver itself
public
boolean
exists
(
final
String
userName
)
{
return
getAll
()
.
stream
()
.
anyMatch
(
user
->
user
.
getName
().
equals
(
userName
));
}
}
service/src/main/java/com/telephoners/krakyournet/ctf/resources/RegistrationResource.java
View file @
6264e980
...
@@ -2,7 +2,10 @@ package com.telephoners.krakyournet.ctf.resources;
...
@@ -2,7 +2,10 @@ package com.telephoners.krakyournet.ctf.resources;
import
com.telephoners.krakyournet.ctf.beans.Team
;
import
com.telephoners.krakyournet.ctf.beans.Team
;
import
com.telephoners.krakyournet.ctf.beans.User
;
import
com.telephoners.krakyournet.ctf.beans.User
;
import
com.telephoners.krakyournet.ctf.exceptions.ElementAlreadyExistsException
;
import
com.telephoners.krakyournet.ctf.exceptions.ElementDoesNotExistException
;
import
com.telephoners.krakyournet.ctf.repositories.Repository
;
import
com.telephoners.krakyournet.ctf.repositories.Repository
;
import
com.telephoners.krakyournet.ctf.repositories.UserRepository
;
import
javax.inject.Inject
;
import
javax.inject.Inject
;
import
javax.inject.Singleton
;
import
javax.inject.Singleton
;
...
@@ -18,10 +21,10 @@ import javax.ws.rs.core.MediaType;
...
@@ -18,10 +21,10 @@ import javax.ws.rs.core.MediaType;
public
class
RegistrationResource
public
class
RegistrationResource
{
{
private
final
Repository
<
Team
>
teamsRepository
;
private
final
Repository
<
Team
>
teamsRepository
;
private
final
Repository
<
User
>
userRepository
;
private
final
UserRepository
userRepository
;
@Inject
@Inject
public
RegistrationResource
(
final
Repository
<
User
>
userRepository
,
public
RegistrationResource
(
final
UserRepository
userRepository
,
final
Repository
<
Team
>
teamsRepository
)
final
Repository
<
Team
>
teamsRepository
)
{
{
//todo: checkNotNUll
//todo: checkNotNUll
...
@@ -47,11 +50,8 @@ public class RegistrationResource
...
@@ -47,11 +50,8 @@ public class RegistrationResource
public
String
register
(
@QueryParam
(
"userName"
)
final
String
userName
,
public
String
register
(
@QueryParam
(
"userName"
)
final
String
userName
,
@QueryParam
(
"teamId"
)
final
String
teamId
)
@QueryParam
(
"teamId"
)
final
String
teamId
)
{
{
//todo: check if exists
validateTeam
(
teamId
);
if
(!
teamsRepository
.
contains
(
teamId
))
validateUserName
(
userName
);
{
throw
new
RuntimeException
(
"Team does not exist"
);
}
User
user
=
new
User
();
User
user
=
new
User
();
user
.
setEmail
(
"gpietrusza@gmail.com"
);
user
.
setEmail
(
"gpietrusza@gmail.com"
);
...
@@ -63,4 +63,14 @@ public class RegistrationResource
...
@@ -63,4 +63,14 @@ public class RegistrationResource
return
user
.
getId
();
return
user
.
getId
();
}
}
private
void
validateTeam
(
final
String
teamId
)
{
if
(
teamsRepository
.
contains
(
teamId
))
throw
new
ElementDoesNotExistException
(
Team
.
class
);
}
private
void
validateUserName
(
final
String
userName
)
{
if
(
userRepository
.
exists
(
userName
))
throw
new
ElementAlreadyExistsException
(
User
.
class
);
}
}
}
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