Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Nutritech
nutritechAPI
Commits
65e5f88e
Commit
65e5f88e
authored
6 years ago
by
Felipetto
Browse files
Options
Download
Plain Diff
merge
parents
0ff4f4b1
6be8a80b
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
README.md
+7
-2
README.md
resources/hibernate.cfg.xml
+4
-0
resources/hibernate.cfg.xml
src/br/com/gastronomia/bo/GrupoReceitasBO.java
+6
-3
src/br/com/gastronomia/bo/GrupoReceitasBO.java
src/br/com/gastronomia/bo/ImagemBO.java
+61
-0
src/br/com/gastronomia/bo/ImagemBO.java
src/br/com/gastronomia/controllers/APIController.java
+1
-6
src/br/com/gastronomia/controllers/APIController.java
src/br/com/gastronomia/controllers/GrupoController.java
+2
-1
src/br/com/gastronomia/controllers/GrupoController.java
src/br/com/gastronomia/controllers/ImagemController.java
+105
-0
src/br/com/gastronomia/controllers/ImagemController.java
src/br/com/gastronomia/dao/ImagemDAO.java
+29
-0
src/br/com/gastronomia/dao/ImagemDAO.java
src/br/com/gastronomia/model/Imagem.java
+72
-0
src/br/com/gastronomia/model/Imagem.java
src/br/com/gastronomia/model/Receita.java
+6
-4
src/br/com/gastronomia/model/Receita.java
src/br/com/gastronomia/model/ReceitaImagem.java
+72
-0
src/br/com/gastronomia/model/ReceitaImagem.java
src/br/com/gastronomia/model/ReceitaImagemId.java
+53
-0
src/br/com/gastronomia/model/ReceitaImagemId.java
src/br/com/gastronomia/util/Constantes.java
+5
-2
src/br/com/gastronomia/util/Constantes.java
target/classes/hibernate.cfg.xml
+4
-0
target/classes/hibernate.cfg.xml
with
427 additions
and
18 deletions
+427
-18
README.md
View file @
65e5f88e
Configurar o resources do BD:
# Propriedades Conexao
conexao.url=jdbc:mysql://localhost/gastronomia
conexao.password=senha
conexao.url=jdbc:mysql://localhost/NOME_DO_SCHEMA_DO_SEU_BD
conexao.password=SENHA_DO_SEU_BD
conexao.user= root
\ No newline at end of file
This diff is collapsed.
Click to expand it.
resources/hibernate.cfg.xml
View file @
65e5f88e
...
...
@@ -18,5 +18,9 @@
<mapping
class=
"br.com.gastronomia.model.IngredienteAtributoId"
/>
<mapping
class=
"br.com.gastronomia.model.ReceitaIngrediente"
/>
<mapping
class=
"br.com.gastronomia.model.ReceitaIngredienteId"
/>
<mapping
class=
"br.com.gastronomia.model.Imagem"
/>
<mapping
class=
"br.com.gastronomia.model.ReceitaImagem"
/>
<mapping
class=
"br.com.gastronomia.model.ReceitaImagemId"
/>
</session-factory>
</hibernate-configuration>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/br/com/gastronomia/bo/GrupoReceitasBO.java
View file @
65e5f88e
...
...
@@ -26,10 +26,13 @@ public class GrupoReceitasBO {
public
boolean
createGroup
(
GrupoReceitas
grupo
)
throws
ValidationException
,
NoSuchAlgorithmException
{
if
(
grupo
!=
null
)
{
grupoReceitasDAO
.
save
(
grupo
);
return
true
;
try
{
grupoReceitasDAO
.
save
(
grupo
);
return
true
;
}
catch
(
Exception
e
)
{
throw
new
ValidationException
(
"Grupo já existente."
);
}
}
throw
new
ValidationException
(
"invalido"
);
}
...
...
This diff is collapsed.
Click to expand it.
src/br/com/gastronomia/bo/ImagemBO.java
0 → 100644
View file @
65e5f88e
package
br.com.gastronomia.bo
;
import
br.com.gastronomia.dao.ImagemDAO
;
import
br.com.gastronomia.exception.ValidationException
;
import
br.com.gastronomia.model.Imagem
;
import
java.security.NoSuchAlgorithmException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
//branch demo
public
class
ImagemBO
{
private
ImagemDAO
imagemDAO
;
public
ImagemBO
()
{
imagemDAO
=
new
ImagemDAO
();
}
public
void
setImagemDAO
(
ImagemDAO
imagemDAO
)
{
this
.
imagemDAO
=
imagemDAO
;
}
public
boolean
createImagem
(
Imagem
imagem
)
throws
ValidationException
,
NoSuchAlgorithmException
{
if
(
imagem
!=
null
)
{
imagemDAO
.
save
(
imagem
);
return
true
;
}
throw
new
ValidationException
(
"invalido"
);
}
public
long
updateImagem
(
Imagem
imagem
)
throws
ValidationException
{
if
(
imagem
!=
null
)
{
return
imagemDAO
.
updateImagem
(
imagem
);
}
throw
new
ValidationException
(
"invalido"
);
}
//Mantive este m�todo, mas n�o vejo qual a utilidade dele
public
Imagem
validate
(
Imagem
newAtributo
)
{
return
newAtributo
;
}
public
HashMap
<
String
,
List
<
Imagem
>>
listImagens
()
{
ArrayList
<
Imagem
>
imagens
=
null
;
HashMap
<
String
,
List
<
Imagem
>>
listAtributos
=
new
HashMap
<
String
,
List
<
Imagem
>>();
imagens
=
(
ArrayList
<
Imagem
>)
imagemDAO
.
listAllOrder
(
Imagem
.
class
,
"Ordem"
);
listImagens
().
put
(
"Imagens"
,
imagens
);
return
listImagens
();
}
public
Imagem
getImagemById
(
long
id
)
throws
ValidationException
{
if
(
id
>
0
)
{
return
imagemDAO
.
findImagemByID
(
id
);
}
throw
new
ValidationException
(
"invalido"
);
}
}
This diff is collapsed.
Click to expand it.
src/br/com/gastronomia/controllers/APIController.java
View file @
65e5f88e
...
...
@@ -38,11 +38,6 @@ public class APIController {
}
String
encryptedPassword
=
null
;
try
{
encryptedPassword
=
EncryptUtil
.
encrypt2
(
"Ages2017"
);
}
catch
(
NoSuchAlgorithmException
e
)
{
e
.
printStackTrace
();
}
usuario
=
new
Usuario
();
usuario
.
setNome
(
"Admin"
);
usuario
.
setStatus
(
true
);
...
...
@@ -50,7 +45,7 @@ public class APIController {
usuario
.
setCpf
(
"11111111111"
);
usuario
.
setMatricula
(
"101010"
);
usuario
.
setTipo
(
TipoDeUsuario
.
ADMIN
);
usuario
.
setSenha
(
encryptedPassword
);
usuario
.
setSenha
(
"Ages2017"
);
try
{
UsuarioBO
usuarioBO
=
new
UsuarioBO
();
...
...
This diff is collapsed.
Click to expand it.
src/br/com/gastronomia/controllers/GrupoController.java
View file @
65e5f88e
...
...
@@ -60,12 +60,13 @@ public class GrupoController {
grupoReceitasBO
.
createGroup
(
grupoReceitas
);
}
catch
(
Exception
e
)
{
return
Response
.
ok
().
status
(
Response
.
Status
.
BAD_REQUEST
).
build
();
return
Response
.
ok
().
entity
(
new
StandardResponseDTO
(
true
,
e
.
getMessage
())).
status
(
Response
.
Status
.
BAD_REQUEST
).
build
();
}
return
Response
.
ok
().
entity
(
new
StandardResponseDTO
(
true
,
"Grupo de Receita "
+
grupoReceitas
.
getNome
()+
" criado com sucesso!"
)).
status
(
Response
.
Status
.
ACCEPTED
).
build
();
}
@DELETE
@Path
(
"/{id}"
)
@Produces
(
"application/json; charset=UTF-8"
)
...
...
This diff is collapsed.
Click to expand it.
src/br/com/gastronomia/controllers/ImagemController.java
0 → 100644
View file @
65e5f88e
package
br.com.gastronomia.controllers
;
import
br.com.gastronomia.bo.ImagemBO
;
import
br.com.gastronomia.dao.ImagemDAO
;
import
br.com.gastronomia.dto.StandardResponseDTO
;
import
br.com.gastronomia.exception.PersistenciaException
;
import
br.com.gastronomia.exception.ValidationException
;
import
br.com.gastronomia.model.Imagem
;
import
br.com.gastronomia.util.EncryptUtil
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpSession
;
import
javax.ws.rs.*
;
import
javax.ws.rs.core.Context
;
import
javax.ws.rs.core.Response
;
import
java.sql.SQLException
;
@Path
(
"imagens"
)
public
class
ImagemController
{
private
ImagemBO
imagemBO
=
new
ImagemBO
();
private
ImagemDAO
imagemDAO
=
new
ImagemDAO
();
private
EncryptUtil
encryptUtil
=
new
EncryptUtil
();
@Context
private
HttpServletRequest
request
;
private
HttpSession
session
;
@GET
@Path
(
"/"
)
@Produces
(
"image/jpeg"
)
//@JWTTokenNeeded
public
Response
list
()
throws
PersistenciaException
,
SQLException
{
try
{
return
Response
.
ok
().
entity
(
imagemBO
.
listImagens
()).
status
(
Response
.
Status
.
ACCEPTED
).
build
();
}
catch
(
Exception
e
)
{
return
Response
.
ok
().
status
(
Response
.
Status
.
BAD_REQUEST
).
build
();
}
}
@POST
@Path
(
"/"
)
@Consumes
(
"application/json; charset=UTF-8"
)
@Produces
(
"application/json; charset=UTF-8"
)
//@JWTTokenNeeded
public
Response
create
(
Imagem
imagem
)
throws
PersistenciaException
,
ValidationException
{
System
.
out
.
println
(
"Criando imagem"
);
try
{
imagemBO
.
createImagem
(
imagem
);
}
catch
(
Exception
e
)
{
return
Response
.
ok
().
status
(
Response
.
Status
.
BAD_REQUEST
).
build
();
}
return
Response
.
ok
().
entity
(
new
StandardResponseDTO
(
true
,
"Imagem criada com sucesso!"
)).
status
(
Response
.
Status
.
ACCEPTED
).
build
();
}
@DELETE
@Path
(
"/{id}"
)
@Produces
(
"application/json; charset=UTF-8"
)
//@JWTTokenNeeded
public
Response
remove
(
@PathParam
(
"id"
)
Long
id
)
throws
PersistenciaException
,
ValidationException
{
try
{
return
Response
.
ok
().
entity
(
new
StandardResponseDTO
(
false
,
"Não implementado no backend!"
)).
status
(
Response
.
Status
.
ACCEPTED
).
build
();
}
catch
(
Exception
e
)
{
return
Response
.
ok
().
status
(
Response
.
Status
.
BAD_REQUEST
).
build
();
}
//return Response.ok().entity(new StandardResponseDTO(true, "Atributo desativado com sucesso!")).status(Response.Status.ACCEPTED).build();
}
@GET
@Path
(
"/{id}"
)
@Produces
(
"application/json; charset=UTF-8"
)
//@JWTTokenNeeded
public
Response
searchByID
(
@PathParam
(
"id"
)
Long
id
)
throws
PersistenciaException
,
ValidationException
{
try
{
return
Response
.
ok
().
entity
(
imagemBO
.
getImagemById
(
id
)).
status
(
Response
.
Status
.
ACCEPTED
).
build
();
}
catch
(
Exception
e
)
{
return
Response
.
ok
().
status
(
Response
.
Status
.
BAD_REQUEST
).
build
();
}
}
@PUT
@Path
(
"/update"
)
@Consumes
(
"application/json; charset=UTF-8"
)
@Produces
(
"application/json; charset=UTF-8"
)
//@JWTTokenNeeded
public
Response
update
(
Imagem
imagem
)
throws
PersistenciaException
,
ValidationException
{
try
{
imagemBO
.
updateImagem
(
imagem
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
Response
.
ok
().
status
(
Response
.
Status
.
BAD_REQUEST
).
build
();
}
return
Response
.
ok
().
entity
(
new
StandardResponseDTO
(
true
,
"Imagem atualizada com sucesso!"
)).
status
(
Response
.
Status
.
ACCEPTED
).
build
();
}
}
This diff is collapsed.
Click to expand it.
src/br/com/gastronomia/dao/ImagemDAO.java
0 → 100644
View file @
65e5f88e
package
br.com.gastronomia.dao
;
import
java.util.List
;
import
br.com.gastronomia.model.Imagem
;
import
br.com.gastronomia.exception.ValidationException
;
import
org.hibernate.Session
;
import
br.com.gastronomia.db.GenericHibernateDAO
;
import
br.com.gastronomia.db.HibernateUtil
;
import
br.com.gastronomia.model.Atributo
;
public
class
ImagemDAO
extends
GenericHibernateDAO
<
Imagem
>
{
// list
public
long
removeImagem
(
Imagem
imagem
)
throws
ValidationException
{
return
remove
(
imagem
);
}
public
Imagem
findImagemByID
(
long
id
)
throws
ValidationException
{
return
(
Imagem
)
findId
(
id
,
Imagem
.
class
);
}
public
long
updateImagem
(
Imagem
imagem
)
throws
ValidationException
{
return
merge
(
imagem
);
}
}
This diff is collapsed.
Click to expand it.
src/br/com/gastronomia/model/Imagem.java
0 → 100644
View file @
65e5f88e
package
br.com.gastronomia.model
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotEmpty
;
import
java.io.Serializable
;
import
java.util.Arrays
;
@Entity
@Inheritance
(
strategy
=
InheritanceType
.
JOINED
)
@Table
(
name
=
"Imagem"
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
Imagem
implements
Serializable
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@Column
(
name
=
"Id"
)
private
long
id
;
@NotEmpty
@Column
(
name
=
"Ext"
)
private
String
ext
;
@NotEmpty
@Lob
@Column
(
name
=
"Base64"
)
private
byte
[]
base64
;
/**
* Construtor vazio.
*
**/
public
Imagem
()
{
}
public
long
getId
()
{
return
id
;
}
public
void
setId
(
long
id
)
{
this
.
id
=
id
;
}
public
String
getExt
()
{
return
ext
;
}
public
void
setExt
(
String
ext
)
{
this
.
ext
=
ext
;
}
public
byte
[]
getBase64
()
{
return
base64
;
}
public
void
setBase64
(
byte
[]
base64
)
{
this
.
base64
=
base64
;
}
@Override
public
String
toString
()
{
return
"Imagem{"
+
"id="
+
id
+
", ext='"
+
ext
+
'\''
+
", base64="
+
Arrays
.
toString
(
base64
)
+
'}'
;
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/br/com/gastronomia/model/Receita.java
View file @
65e5f88e
...
...
@@ -8,6 +8,7 @@ import javax.persistence.*;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.awt.*
;
import
java.io.Serializable
;
import
java.time.ZonedDateTime
;
import
java.util.ArrayList
;
...
...
@@ -65,8 +66,9 @@ public class Receita implements Serializable {
@Column
(
name
=
"Peso"
,
nullable
=
false
)
private
double
peso
;
@Column
(
name
=
"Imagem"
,
nullable
=
false
)
private
String
imagem
;
@OneToOne
(
cascade
=
CascadeType
.
ALL
)
@JoinColumn
(
name
=
"Imagem"
,
nullable
=
false
,
foreignKey
=
@ForeignKey
(
name
=
"FK_RECEITA_IMAGEM"
))
private
Imagem
imagem
;
@Column
(
name
=
"Dificuldade"
,
nullable
=
true
)
@Max
(
5
)
...
...
@@ -197,11 +199,11 @@ public class Receita implements Serializable {
this
.
grupoReceita
=
grupoReceita
;
}
public
String
getImagem
()
{
public
Imagem
getImagem
()
{
return
imagem
;
}
public
void
setImagem
(
String
imagem
)
{
public
void
setImagem
(
Imagem
imagem
)
{
this
.
imagem
=
imagem
;
}
...
...
This diff is collapsed.
Click to expand it.
src/br/com/gastronomia/model/ReceitaImagem.java
0 → 100644
View file @
65e5f88e
package
br.com.gastronomia.model
;
import
com.fasterxml.jackson.annotation.JsonBackReference
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
javax.persistence.*
;
import
java.io.Serializable
;
@Entity
@Inheritance
(
strategy
=
InheritanceType
.
JOINED
)
@Table
(
name
=
"ReceitaImagem"
)
@IdClass
(
ReceitaImagemId
.
class
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
ReceitaImagem
implements
Serializable
{
@Id
@ManyToOne
(
fetch
=
FetchType
.
EAGER
)
@JoinColumn
(
name
=
"IdImagem"
)
private
Imagem
imagem
;
@Id
@ManyToOne
(
fetch
=
FetchType
.
LAZY
)
@JoinColumn
(
name
=
"IdReceita"
)
@JsonBackReference
private
Receita
receita
;
public
ReceitaImagem
()
{
}
public
Imagem
getImagem
()
{
return
imagem
;
}
public
void
setImagem
(
Imagem
imagem
)
{
this
.
imagem
=
imagem
;
}
public
Receita
getReceita
()
{
return
receita
;
}
public
void
setReceita
(
Receita
receita
)
{
this
.
receita
=
receita
;
}
@Override
public
String
toString
()
{
return
"ReceitaImagem {"
+
"imagem='"
+
imagem
+
", receita='"
+
receita
+
'}'
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
ReceitaImagem
that
=
(
ReceitaImagem
)
o
;
if
(
imagem
!=
null
?
!
imagem
.
equals
(
that
.
imagem
)
:
that
.
imagem
!=
null
)
return
false
;
return
receita
!=
null
?
receita
.
equals
(
that
.
receita
)
:
that
.
receita
==
null
;
}
@Override
public
int
hashCode
()
{
int
result
=
imagem
!=
null
?
imagem
.
hashCode
()
:
0
;
result
=
31
*
result
+
(
receita
!=
null
?
receita
.
hashCode
()
:
0
);
return
result
;
}
}
This diff is collapsed.
Click to expand it.
src/br/com/gastronomia/model/ReceitaImagemId.java
0 → 100644
View file @
65e5f88e
package
br.com.gastronomia.model
;
import
java.io.Serializable
;
public
class
ReceitaImagemId
implements
Serializable
{
protected
Imagem
imagem
;
protected
Receita
receita
;
public
ReceitaImagemId
()
{
}
public
ReceitaImagemId
(
Imagem
imagem
,
Receita
receita
)
{
this
.
imagem
=
imagem
;
this
.
receita
=
receita
;
}
public
Imagem
getImagem
()
{
return
imagem
;
}
public
void
setImagem
(
Imagem
imagem
)
{
this
.
imagem
=
imagem
;
}
public
Receita
getReceita
()
{
return
receita
;
}
public
void
setAtributo
(
Receita
receita
)
{
this
.
receita
=
receita
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
ReceitaImagemId
that
=
(
ReceitaImagemId
)
o
;
if
(
imagem
!=
null
?
!
imagem
.
equals
(
that
.
imagem
)
:
that
.
imagem
!=
null
)
return
false
;
return
receita
!=
null
?
receita
.
equals
(
that
.
receita
)
:
that
.
receita
==
null
;
}
@Override
public
int
hashCode
()
{
int
result
=
imagem
.
hashCode
();
result
=
31
*
result
+
receita
.
hashCode
();
return
result
;
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/br/com/gastronomia/util/Constantes.java
View file @
65e5f88e
...
...
@@ -7,7 +7,7 @@ package br.com.gastronomia.util;
*/
public
class
Constantes
{
//br.ages.crud.util.config_bd ambiente
public
static
final
String
AMBIENTE_PROPERTIES
=
"ambiente
"
;
public
static
final
String
AMBIENTE_PROPERTIES
=
"
config"
;
//
ambiente
public
static
final
String
CONEXAO_BD_DRIVE
=
"conexao.driver.mysql"
;
public
static
final
String
CONEXAO_BD_URL
=
"conexao.url"
;
public
static
final
String
CONEXAO_BD_USER
=
"conexao.user"
;
...
...
@@ -23,6 +23,9 @@ public class Constantes {
public
static
final
String
ADMINISTRATOR_ROLE
=
"administrator"
;
public
static
final
String
PROFESSOR_ROLE
=
"professor"
;
public
static
final
String
USER_ROLE
=
"usurario"
;
//Imagens
public
static
final
String
PATH_IMAGE
=
"path.image"
;
}
This diff is collapsed.
Click to expand it.
target/classes/hibernate.cfg.xml
View file @
65e5f88e
...
...
@@ -18,5 +18,9 @@
<mapping
class=
"br.com.gastronomia.model.IngredienteAtributoId"
/>
<mapping
class=
"br.com.gastronomia.model.ReceitaIngrediente"
/>
<mapping
class=
"br.com.gastronomia.model.ReceitaIngredienteId"
/>
<mapping
class=
"br.com.gastronomia.model.Imagem"
/>
<mapping
class=
"br.com.gastronomia.model.ReceitaImagem"
/>
<mapping
class=
"br.com.gastronomia.model.ReceitaImagemId"
/>
</session-factory>
</hibernate-configuration>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
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
Menu
Projects
Groups
Snippets
Help