Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Álvaro Herrera Arjonilla
/
f1_spark
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Merge Requests
0
Pipelines
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
ce36df89
authored
Apr 13, 2023
by
Alba Gómez Liébana
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Alba
parent
7214ee3c
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
271 additions
and
6 deletions
pom.xml
src/main/java/com/example/demo/Circuito.java
src/main/java/com/example/demo/CircuitoException.java
src/main/java/com/example/demo/CircuitoService.java
src/main/java/com/example/demo/CircuitoServiceMapImpl.java
src/main/java/com/example/demo/SparkRest.java
src/main/java/com/example/demo/StandardResponse.java
src/main/java/com/example/demo/StatusResponse.java
pom.xml
View file @
ce36df89
...
@@ -20,13 +20,13 @@
...
@@ -20,13 +20,13 @@
<dependency>
<dependency>
<groupId>
com.sparkjava
</groupId>
<groupId>
com.sparkjava
</groupId>
<artifactId>
spark-core
</artifactId>
<artifactId>
spark-core
</artifactId>
<version>
2.9.4
</version>
<version>
2.7.2
</version>
</dependency>
<dependency>
<groupId>
com.google.code.gson
</groupId>
<artifactId>
gson
</artifactId>
<version>
2.10.1
</version>
</dependency>
</dependency>
<dependency>
<groupId>
com.sparkjava
</groupId>
<artifactId>
spark-template-freemarker
</artifactId>
<version>
2.7.1
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
src/main/java/com/example/demo/Circuito.java
View file @
ce36df89
...
@@ -62,4 +62,9 @@ public class Circuito
...
@@ -62,4 +62,9 @@ public class Circuito
public
void
setCurvas
(
int
curvas
)
{
public
void
setCurvas
(
int
curvas
)
{
this
.
curvas
=
curvas
;
this
.
curvas
=
curvas
;
}
}
@Override
public
String
toString
()
{
return
getNombre
();
}
}
}
\ No newline at end of file
src/main/java/com/example/demo/CircuitoException.java
0 → 100644
View file @
ce36df89
package
com
.
example
.
demo
;
public
class
CircuitoException
extends
Exception
{
public
CircuitoException
()
{
super
();
}
public
CircuitoException
(
String
message
)
{
super
(
message
);
}
}
src/main/java/com/example/demo/CircuitoService.java
0 → 100644
View file @
ce36df89
package
com
.
example
.
demo
;
import
java.util.Collection
;
public
interface
CircuitoService
{
public
void
addCircuito
(
Circuito
user
);
public
Collection
<
Circuito
>
getCircuitos
();
public
Circuito
getCircuito
(
String
id
);
public
Circuito
editCircuito
(
Circuito
user
)
throws
CircuitoException
;
public
void
deleteCircuito
(
String
id
);
public
boolean
circuitoExist
(
String
id
);
}
src/main/java/com/example/demo/CircuitoServiceMapImpl.java
0 → 100644
View file @
ce36df89
package
com
.
example
.
demo
;
import
java.util.Collection
;
import
java.util.HashMap
;
public
class
CircuitoServiceMapImpl
implements
CircuitoService
{
private
HashMap
<
Integer
,
Circuito
>
circuitoMap
;
public
CircuitoServiceMapImpl
()
{
circuitoMap
=
new
HashMap
<>();
}
@Override
public
void
addCircuito
(
Circuito
circuito
)
{
circuitoMap
.
put
(
circuito
.
getId
(),
circuito
);
}
@Override
public
Collection
<
Circuito
>
getCircuitos
()
{
return
circuitoMap
.
values
();
}
@Override
public
Circuito
getCircuito
(
String
id
)
{
return
circuitoMap
.
get
(
id
);
}
@Override
public
Circuito
editCircuito
(
Circuito
forEdit
)
throws
CircuitoException
{
try
{
int
id
=
forEdit
.
getId
();
if
(
id
<=
0
)
{
throw
new
CircuitoException
(
"Invalid circuit ID"
);
}
Circuito
toEdit
=
circuitoMap
.
get
(
id
);
if
(
toEdit
==
null
)
{
throw
new
CircuitoException
(
"Circuito not found"
);
}
if
(
forEdit
.
getNombre
()
!=
null
&&
!
forEdit
.
getNombre
().
isEmpty
())
{
toEdit
.
setNombre
(
forEdit
.
getNombre
());
}
if
(
forEdit
.
getPais
()
!=
null
&&
!
forEdit
.
getPais
().
isEmpty
())
{
toEdit
.
setPais
(
forEdit
.
getPais
());
}
if
(
forEdit
.
getCiudad
()
!=
null
&&
!
forEdit
.
getCiudad
().
isEmpty
())
{
toEdit
.
setCiudad
(
forEdit
.
getCiudad
());
}
if
(
forEdit
.
getLongitud
()
>
0
)
{
toEdit
.
setLongitud
(
forEdit
.
getLongitud
());
}
if
(
forEdit
.
getCurvas
()
>
0
)
{
toEdit
.
setCurvas
(
forEdit
.
getCurvas
());
}
return
toEdit
;
}
catch
(
Exception
ex
)
{
throw
new
CircuitoException
(
ex
.
getMessage
());
}
}
@Override
public
void
deleteCircuito
(
String
id
)
{
circuitoMap
.
remove
(
id
);
}
@Override
public
boolean
circuitoExist
(
String
id
)
{
return
circuitoMap
.
containsKey
(
id
);
}
}
src/main/java/com/example/demo/SparkRest.java
0 → 100644
View file @
ce36df89
package
com
.
example
.
demo
;
import
static
spark
.
Spark
.
delete
;
import
static
spark
.
Spark
.
get
;
import
static
spark
.
Spark
.
options
;
import
static
spark
.
Spark
.
post
;
import
static
spark
.
Spark
.
put
;
import
com.google.gson.Gson
;
public
class
SparkRest
{
public
static
void
main
(
String
[]
args
)
{
final
CircuitoService
circuitoService
=
new
CircuitoServiceMapImpl
()
{};
post
(
"/circuito"
,
(
request
,
response
)
->
{
response
.
type
(
"application/json"
);
Circuito
circuito
=
new
Gson
().
fromJson
(
request
.
body
(),
Circuito
.
class
);
circuitoService
.
addCircuito
(
circuito
);
return
new
Gson
().
toJson
(
new
StandardResponse
(
StatusResponse
.
SUCCESS
));
});
get
(
"/circuitos"
,
(
request
,
response
)
->
{
response
.
type
(
"application/json"
);
return
new
Gson
().
toJson
(
new
StandardResponse
(
StatusResponse
.
SUCCESS
,
new
Gson
().
toJsonTree
(
circuitoService
.
getCircuitos
())));
});
get
(
"/circuitos/:id"
,
(
request
,
response
)
->
{
response
.
type
(
"application/json"
);
return
new
Gson
().
toJson
(
new
StandardResponse
(
StatusResponse
.
SUCCESS
,
new
Gson
().
toJsonTree
(
circuitoService
.
getCircuito
(
request
.
params
(
":id"
)))));
});
put
(
"/circuitos/:id"
,
(
request
,
response
)
->
{
response
.
type
(
"application/json"
);
Circuito
toEdit
=
new
Gson
().
fromJson
(
request
.
body
(),
Circuito
.
class
);
Circuito
editedCircuito
=
circuitoService
.
editCircuito
(
toEdit
);
if
(
editedCircuito
!=
null
)
{
return
new
Gson
().
toJson
(
new
StandardResponse
(
StatusResponse
.
SUCCESS
,
new
Gson
().
toJsonTree
(
editedCircuito
)));
}
else
{
return
new
Gson
().
toJson
(
new
StandardResponse
(
StatusResponse
.
ERROR
,
new
Gson
().
toJson
(
"Circuito not found or error in edit"
)));
}
});
delete
(
"/circuitos/:id"
,
(
request
,
response
)
->
{
response
.
type
(
"application/json"
);
circuitoService
.
deleteCircuito
(
request
.
params
(
":id"
));
return
new
Gson
().
toJson
(
new
StandardResponse
(
StatusResponse
.
SUCCESS
,
"user deleted"
));
});
options
(
"/circuitos/:id"
,
(
request
,
response
)
->
{
response
.
type
(
"application/json"
);
return
new
Gson
().
toJson
(
new
StandardResponse
(
StatusResponse
.
SUCCESS
,
(
circuitoService
.
circuitoExist
(
request
.
params
(
":id"
)))
?
"Circuito exists"
:
"Circuito does not exists"
));
});
}
}
src/main/java/com/example/demo/StandardResponse.java
0 → 100644
View file @
ce36df89
package
com
.
example
.
demo
;
import
com.google.gson.JsonElement
;
public
class
StandardResponse
{
private
StatusResponse
status
;
private
String
message
;
private
JsonElement
data
;
public
StandardResponse
(
StatusResponse
status
)
{
this
.
status
=
status
;
}
public
StandardResponse
(
StatusResponse
status
,
String
message
)
{
this
.
status
=
status
;
this
.
message
=
message
;
}
public
StandardResponse
(
StatusResponse
status
,
JsonElement
data
)
{
this
.
status
=
status
;
this
.
data
=
data
;
}
public
StatusResponse
getStatus
()
{
return
status
;
}
public
void
setStatus
(
StatusResponse
status
)
{
this
.
status
=
status
;
}
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
public
JsonElement
getData
()
{
return
data
;
}
public
void
setData
(
JsonElement
data
)
{
this
.
data
=
data
;
}
}
src/main/java/com/example/demo/StatusResponse.java
0 → 100644
View file @
ce36df89
package
com
.
example
.
demo
;
public
enum
StatusResponse
{
SUCCESS
(
"Success"
),
ERROR
(
"Error"
);
final
private
String
status
;
StatusResponse
(
String
status
)
{
this
.
status
=
status
;
}
public
String
getStatus
()
{
return
status
;
}
}
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