Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
StarUML Evológica Plugin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
3
Merge Requests
3
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
evologica
StarUML Evológica Plugin
Commits
becd55ca
Commit
becd55ca
authored
Aug 24, 2020
by
Erika Segatto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Altera geração para exportar uma única classe java + melhorias na mesma
parent
37fa2646
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
78 additions
and
49 deletions
+78
-49
IntegracaoDelphiSUML.pas
EvoUMLPlugin/src/IntegracaoDelphiSUML.pas
+76
-49
formMemo.dfm
EvoUMLPlugin/src/formMemo.dfm
+2
-0
No files found.
EvoUMLPlugin/src/IntegracaoDelphiSUML.pas
View file @
becd55ca
...
@@ -5126,21 +5126,23 @@ function TUtil.GerarClassPreview_JavaHibernate(piClass: IUMLClass): string;
...
@@ -5126,21 +5126,23 @@ function TUtil.GerarClassPreview_JavaHibernate(piClass: IUMLClass): string;
procedure
IncluirImports
(
const
piCodigoClasse
:
PStringWriter
;
piClassTicket
:
acClassTicket
;
const
piTipoId
:
string
);
procedure
IncluirImports
(
const
piCodigoClasse
:
PStringWriter
;
piClassTicket
:
acClassTicket
;
const
piTipoId
:
string
);
var
var
lAttributeTicket
:
acAttributeTicket
;
lAttributeTicket
:
acAttributeTicket
;
lHasImport
:
array
[
0..
3
]
of
Boolean
;
lHasImport
:
array
[
0..
4
]
of
Boolean
;
index
:
integer
;
index
:
integer
;
lsTipoAttribute
:
string
;
lsTipoAttribute
:
string
;
lClassTicketPai
:
acClassTicket
;
lClassTicketPai
:
acClassTicket
;
lDone
:
Boolean
;
begin
begin
piCodigoClasse
.
WriteLine
(
'import javax.persistence.*;'
);
piCodigoClasse
.
WriteLine
(
'import javax.persistence.*;'
);
piCodigoClasse
.
WriteLine
(
'import java.util.List;'
);
piCodigoClasse
.
WriteLine
(
'import java.util.List;'
);
piCodigoClasse
.
WriteLine
(
'import java.util.ArrayList;'
);
piCodigoClasse
.
WriteLine
(
'import java.util.ArrayList;'
);
for
index
:=
0
to
3
do
for
index
:=
0
to
4
do
lHasImport
[
index
]
:=
False
;
lHasImport
[
index
]
:=
False
;
if
piTipoId
=
'Long'
then
if
piTipoId
=
'Long'
then
begin
begin
piCodigoClasse
.
WriteLine
(
'import java.lang.Long;'
);
piCodigoClasse
.
WriteLine
(
'import java.lang.Long;'
);
lHasImport
[
1
]
:=
True
;
lHasImport
[
1
]
:=
True
;
end
;
end
;
lDone
:=
False
;
lClassTicketPai
:=
piClassTicket
;
lClassTicketPai
:=
piClassTicket
;
while
Assigned
(
lClassTicketPai
)
do
while
Assigned
(
lClassTicketPai
)
do
begin
begin
...
@@ -5166,10 +5168,37 @@ function TUtil.GerarClassPreview_JavaHibernate(piClass: IUMLClass): string;
...
@@ -5166,10 +5168,37 @@ function TUtil.GerarClassPreview_JavaHibernate(piClass: IUMLClass): string;
else
if
(
lsTipoAttribute
=
'Boolean'
)
and
(
not
lHasImport
[
3
])
then
else
if
(
lsTipoAttribute
=
'Boolean'
)
and
(
not
lHasImport
[
3
])
then
begin
begin
piCodigoClasse
.
WriteLine
(
'import java.lang.Boolean;'
);
piCodigoClasse
.
WriteLine
(
'import java.lang.Boolean;'
);
lHasImport
[
2
]
:=
True
;
lHasImport
[
3
]
:=
True
;
end
else
if
((
not
lDone
)
and
lAttributeTicket
.
Mandatory
)
and
(
not
lHasImport
[
4
])
then
begin
piCodigoClasse
.
WriteLine
(
'import javax.validation.constraints.NotNull;'
);
lHasImport
[
4
]
:=
True
;
end
;
end
;
end
;
end
;
lClassTicketPai
:=
lClassTicketPai
.
ParentClassTicket
;
lClassTicketPai
:=
lClassTicketPai
.
ParentClassTicket
;
lDone
:=
True
;
end
;
end
;
function
ObterTipoHeranca
(
const
piClassTicket
:
acClassTicket
;
const
piNomeTabela
:
string
):
string
;
var
lMetaModelPersistenceMapSQL
:
acMetaModelPersistenceMapSQL
;
lPossuiUmFilhoJoined
:
Boolean
;
index
:
Integer
;
begin
lMetaModelPersistenceMapSQL
:=
fMetaModelPersistenceMap
as
acMetaModelPersistenceMapSQL
;
lPossuiUmFilhoJoined
:=
False
;
Result
:=
'InheritanceType.JOINED'
;
for
index
:=
0
to
piClassTicket
.
DirectDescendants
.
Count
-
1
do
begin
if
lMetaModelPersistenceMapSQL
.
GetClassToDBMapTicket
(
piClassTicket
.
DirectDescendants
[
index
]
as
acClassTicket
).
TableName
=
piNomeTabela
then
Result
:=
'InheritanceType.SINGLE_TABLE'
else
lPossuiUmFilhoJoined
:=
True
;
end
;
if
lPossuiUmFilhoJoined
and
(
Result
=
'InheritanceType.SINGLE_TABLE'
)
then
begin
Result
:=
'Nao e possivel determinar o tipo de heranca da classe (InheritanceType.SINGLE_TABLE ou InheritanceType.JOINED).'
;
end
;
end
;
end
;
end
;
...
@@ -5186,7 +5215,6 @@ var
...
@@ -5186,7 +5215,6 @@ var
lInheritanceType
,
lInheritanceType
,
lPackageRef
:
string
;
lPackageRef
:
string
;
index
:
integer
;
index
:
integer
;
lPossuiUmFilhoJoined
:
Boolean
;
lClassTicket
,
lClassTicket
,
lClassTicketPai
:
acClassTicket
;
lClassTicketPai
:
acClassTicket
;
lAttributeTicket
:
acAttributeTicket
;
lAttributeTicket
:
acAttributeTicket
;
...
@@ -5202,6 +5230,7 @@ var
...
@@ -5202,6 +5230,7 @@ var
lRelationPersistenceMapTicket
:
acRelationSQLPersistenceMapTicket
;
lRelationPersistenceMapTicket
:
acRelationSQLPersistenceMapTicket
;
lColumnTicket
:
acDBColumnMapTicket
;
lColumnTicket
:
acDBColumnMapTicket
;
lEhClasseHerdada
:
Boolean
;
lEhClasseHerdada
:
Boolean
;
lListaChamadaConstr
,
lListaChamadaSuper
,
lListaChamadaSuper
,
lListaChamadaSuperSemRelOut
:
TStringList
;
lListaChamadaSuperSemRelOut
:
TStringList
;
begin
begin
...
@@ -5211,20 +5240,21 @@ begin
...
@@ -5211,20 +5240,21 @@ begin
lsNomeClasseDominio
:=
piClass
.
Name
;
lsNomeClasseDominio
:=
piClass
.
Name
;
lClassTicket
:=
MetaModel
.
GetClassTicketByName
(
lsNomeClasseDominio
);
lClassTicket
:=
MetaModel
.
GetClassTicketByName
(
lsNomeClasseDominio
);
lEhClasseHerdada
:=
Assigned
(
lClassTicket
.
ParentClassTicket
);
lEhClasseHerdada
:=
Assigned
(
lClassTicket
.
ParentClassTicket
);
lsNomeClasseDB
:=
lsNomeClasseDominio
+
'Entity'
;
lsNomeClasseDB
:=
lsNomeClasseDominio
;
lPackageRef
:=
StarUMLApp
.
ProjectManager
.
Project
.
Documentation
;
lPackageRef
:=
StarUMLApp
.
ProjectManager
.
Project
.
Documentation
;
if
lPackageRef
<>
''
then
lPackageRef
:=
lPackageRef
+
'.'
;
if
lPackageRef
<>
''
then
lPackageRef
:=
lPackageRef
+
'.'
;
// Obter ticket do banco
// Obter ticket do banco
lMetaModelPersistenceMapSQL
:=
fMetaModelPersistenceMap
as
acMetaModelPersistenceMapSQL
;
lMetaModelPersistenceMapSQL
:=
fMetaModelPersistenceMap
as
acMetaModelPersistenceMapSQL
;
lClassToDBMapTicket
:=
lMetaModelPersistenceMapSQL
.
GetClassToDBMapTicket
(
lClassTicket
);
lClassToDBMapTicket
:=
lMetaModelPersistenceMapSQL
.
GetClassToDBMapTicket
(
lClassTicket
);
lListaChamadaConstr
:=
TStringList
.
Create
;
lListaChamadaSuper
:=
TStringList
.
Create
;
lListaChamadaSuper
:=
TStringList
.
Create
;
lListaChamadaSuperSemRelOut
:=
TStringList
.
Create
;
lListaChamadaSuperSemRelOut
:=
TStringList
.
Create
;
lCodigoConstrutor
:=
PStringWriter
.
Create
;
lCodigoConstrutor
:=
PStringWriter
.
Create
;
lCodigoConstrutorSemRelOut
:=
PStringWriter
.
Create
;
lCodigoConstrutorSemRelOut
:=
PStringWriter
.
Create
;
lCodigoClasse
:=
PStringWriter
.
Create
;
lCodigoClasse
:=
PStringWriter
.
Create
;
try
try
lCodigoClasse
.
WriteLine
(
'package '
+
lPackageRef
+
'
adapters.persistence.entities
;'
);
lCodigoClasse
.
WriteLine
(
'package '
+
lPackageRef
+
'
domain
;'
);
lCodigoClasse
.
WriteLine
(
''
);
lCodigoClasse
.
WriteLine
(
''
);
// Imports de tipos
// Imports de tipos
IncluirImports
(
lCodigoClasse
,
lClassTicket
,
_DBTipoId
);
IncluirImports
(
lCodigoClasse
,
lClassTicket
,
_DBTipoId
);
...
@@ -5237,19 +5267,7 @@ begin
...
@@ -5237,19 +5267,7 @@ begin
lCodigoClasse
.
WriteLine
(
' pkColumnName = "SISBDSNUME", pkColumnValue = "'
+
lsNomeTabela
+
'", allocationSize = 1)'
);
lCodigoClasse
.
WriteLine
(
' pkColumnName = "SISBDSNUME", pkColumnValue = "'
+
lsNomeTabela
+
'", allocationSize = 1)'
);
if
lClassToDBMapTicket
.
TypeColumnName
<>
''
then
if
lClassToDBMapTicket
.
TypeColumnName
<>
''
then
begin
begin
lPossuiUmFilhoJoined
:=
False
;
lInheritanceType
:=
ObterTipoHeranca
(
lClassTicket
,
lsNomeTabela
);
lInheritanceType
:=
'InheritanceType.JOINED'
;
for
index
:=
0
to
lClassTicket
.
DirectDescendants
.
Count
-
1
do
begin
if
lMetaModelPersistenceMapSQL
.
GetClassToDBMapTicket
(
lClassTicket
.
DirectDescendants
[
index
]
as
acClassTicket
).
TableName
=
lsNomeTabela
then
lInheritanceType
:=
'InheritanceType.SINGLE_TABLE'
else
lPossuiUmFilhoJoined
:=
True
;
end
;
if
lPossuiUmFilhoJoined
and
(
lInheritanceType
=
'InheritanceType.SINGLE_TABLE'
)
then
begin
Result
:=
'Nao e possivel determinar o tipo de heranca da classe (SINGLE_TABLE ou JOINED).'
;
Exit
;
end
;
lCodigoClasse
.
WriteLine
(
'@Inheritance(strategy = '
+
lInheritanceType
+
')'
);
lCodigoClasse
.
WriteLine
(
'@Inheritance(strategy = '
+
lInheritanceType
+
')'
);
lCodigoClasse
.
WriteLine
(
'@DiscriminatorColumn(name = "'
+
lClassToDBMapTicket
.
TypeColumnName
+
'")'
);
lCodigoClasse
.
WriteLine
(
'@DiscriminatorColumn(name = "'
+
lClassToDBMapTicket
.
TypeColumnName
+
'")'
);
end
end
...
@@ -5265,7 +5283,7 @@ begin
...
@@ -5265,7 +5283,7 @@ begin
else
lCodigoClasse
.
Write
(
'public final '
);
else
lCodigoClasse
.
Write
(
'public final '
);
lCodigoClasse
.
Write
(
'class '
+
lsNomeClasseDB
);
lCodigoClasse
.
Write
(
'class '
+
lsNomeClasseDB
);
if
lEhClasseHerdada
if
lEhClasseHerdada
then
lCodigoClasse
.
WriteLine
(
' extends '
+
lClassTicket
.
ParentClassTicket
.
DisplayName
+
'
Entity
{'
)
then
lCodigoClasse
.
WriteLine
(
' extends '
+
lClassTicket
.
ParentClassTicket
.
DisplayName
+
' {'
)
else
lCodigoClasse
.
WriteLine
(
' {'
);
else
lCodigoClasse
.
WriteLine
(
' {'
);
lCodigoClasse
.
WriteLine
(
''
);
lCodigoClasse
.
WriteLine
(
''
);
lCodigoClasse
.
Indent
();
lCodigoClasse
.
Indent
();
...
@@ -5290,6 +5308,8 @@ begin
...
@@ -5290,6 +5308,8 @@ begin
if
lAttributeTicket
.
DBType
=
'VARCHAR'
if
lAttributeTicket
.
DBType
=
'VARCHAR'
then
lCodigoClasse
.
WriteLine
(
'@Column(name = "'
+
lColumnTicket
.
ColumnName
+
'", length = '
+
IntToStr
(
lAttributeTicket
.
VarSize
)
+
')'
)
then
lCodigoClasse
.
WriteLine
(
'@Column(name = "'
+
lColumnTicket
.
ColumnName
+
'", length = '
+
IntToStr
(
lAttributeTicket
.
VarSize
)
+
')'
)
else
lCodigoClasse
.
WriteLine
(
'@Column(name = "'
+
lColumnTicket
.
ColumnName
+
'")'
);
else
lCodigoClasse
.
WriteLine
(
'@Column(name = "'
+
lColumnTicket
.
ColumnName
+
'")'
);
if
lAttributeTicket
.
Mandatory
then
lCodigoClasse
.
WriteLine
(
'@NotNull'
);
EscreverDeclaracaoAtributo
(
lCodigoClasse
,
lsTipoAttribute
,
lsAtributo
,
lClassTicket
.
HasDescendants
);
EscreverDeclaracaoAtributo
(
lCodigoClasse
,
lsTipoAttribute
,
lsAtributo
,
lClassTicket
.
HasDescendants
);
end
;
end
;
// DECLARAO ATRIBUTOS: Percorre relacionamentos
// DECLARAO ATRIBUTOS: Percorre relacionamentos
...
@@ -5300,20 +5320,23 @@ begin
...
@@ -5300,20 +5320,23 @@ begin
if
(
lRelation
.
DestinationPropertyName
<>
''
)
then
if
(
lRelation
.
DestinationPropertyName
<>
''
)
then
begin
begin
lsAtributo
:=
lRelation
.
DestinationPropertyName
;
lsAtributo
:=
lRelation
.
DestinationPropertyName
;
lsTipoAttribute
:=
lRelation
.
OriginClassTicket
.
DisplayName
+
'Entity'
;
lsTipoAttribute
:=
lRelation
.
OriginClassTicket
.
DisplayName
;
if
lRelation
.
DestinationMaxMultiplicity
=
1
then
if
lRelation
.
DestinationMaxMultiplicity
=
1
then
begin
begin
if
lRelation
.
OriginMaxMultiplicity
=
1
if
lRelation
.
OriginMaxMultiplicity
=
1
then
lCodigoClasse
.
Write
Line
(
'@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
'
)
then
lCodigoClasse
.
Write
(
'@OneToOne(fetch = FetchType.EAGER
'
)
else
lCodigoClasse
.
Write
Line
(
'@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
'
);
else
lCodigoClasse
.
Write
(
'@ManyToOne(fetch = FetchType.EAGER
'
);
end
end
else
else
begin
begin
lsTipoAttribute
:=
'final List<'
+
lsTipoAttribute
+
'>'
;
lsTipoAttribute
:=
'final List<'
+
lsTipoAttribute
+
'>'
;
if
lRelation
.
OriginMaxMultiplicity
=
1
if
lRelation
.
OriginMaxMultiplicity
=
1
then
lCodigoClasse
.
Write
Line
(
'@OneToMany(cascade = CascadeType.ALL)
'
)
then
lCodigoClasse
.
Write
(
'@OneToMany(fetch = FetchType.LAZY
'
)
else
lCodigoClasse
.
Write
Line
(
'@ManyToMany(cascade = CascadeType.ALL)
'
);
else
lCodigoClasse
.
Write
(
'@ManyToMany(fetch = FetchType.LAZY
'
);
end
;
end
;
if
lRelation
.
DestinationAggregation
=
acPropertyAggregation
.
pvComposite
then
lCodigoClasse
.
WriteLine
(
', cascade = CascadeType.ALL)'
)
else
lCodigoClasse
.
WriteLine
(
', cascade = CascadeType.DETACH)'
);
if
lRelationPersistenceMapTicket
is
acDirectDBRelationMapTicket
if
lRelationPersistenceMapTicket
is
acDirectDBRelationMapTicket
then
lCodigoClasse
.
WriteLine
(
'@JoinColumn(name = "'
+
acDirectDBRelationMapTicket
(
lRelationPersistenceMapTicket
).
FKColumnName
+
'")'
)
then
lCodigoClasse
.
WriteLine
(
'@JoinColumn(name = "'
+
acDirectDBRelationMapTicket
(
lRelationPersistenceMapTicket
).
FKColumnName
+
'")'
)
else
lCodigoClasse
.
WriteLine
(
'@JoinTable(name = "'
+
acIndirectDBRelationMapTicket
(
lRelationPersistenceMapTicket
).
TableName
+
'"'
+
else
lCodigoClasse
.
WriteLine
(
'@JoinTable(name = "'
+
acIndirectDBRelationMapTicket
(
lRelationPersistenceMapTicket
).
TableName
+
'"'
+
...
@@ -5330,22 +5353,25 @@ begin
...
@@ -5330,22 +5353,25 @@ begin
if
(
lRelation
.
OriginPropertyName
<>
''
)
then
if
(
lRelation
.
OriginPropertyName
<>
''
)
then
begin
begin
lsAtributo
:=
lRelation
.
OriginPropertyName
;
lsAtributo
:=
lRelation
.
OriginPropertyName
;
lsTipoAttribute
:=
lRelation
.
DestinationClassTicket
.
DisplayName
+
'Entity'
;
lsTipoAttribute
:=
lRelation
.
DestinationClassTicket
.
DisplayName
;
if
lRelation
.
OriginMaxMultiplicity
=
1
then
if
lRelation
.
OriginMaxMultiplicity
=
1
then
begin
begin
if
lRelation
.
DestinationMaxMultiplicity
=
1
if
lRelation
.
DestinationMaxMultiplicity
=
1
then
lCodigoClasse
.
Write
(
'@OneToOne(
cascade = CascadeType.ALL
'
)
then
lCodigoClasse
.
Write
(
'@OneToOne(
fetch = FetchType.LAZY
'
)
else
lCodigoClasse
.
Write
(
'@ManyToOne(
cascade = CascadeType.ALL
'
);
else
lCodigoClasse
.
Write
(
'@ManyToOne(
fetch = FetchType.LAZY
'
);
end
end
else
else
begin
begin
lsTipoAttribute
:=
'final List<'
+
lsTipoAttribute
+
'>'
;
lsTipoAttribute
:=
'final List<'
+
lsTipoAttribute
+
'>'
;
if
lRelation
.
DestinationMaxMultiplicity
=
1
if
lRelation
.
DestinationMaxMultiplicity
=
1
then
lCodigoClasse
.
Write
(
'@OneToMany(
cascade = CascadeType.ALL
'
)
then
lCodigoClasse
.
Write
(
'@OneToMany(
fetch = FetchType.LAZY
'
)
else
lCodigoClasse
.
Write
(
'@ManyToMany(
cascade = CascadeType.ALL
'
);
else
lCodigoClasse
.
Write
(
'@ManyToMany(
fetch = FetchType.LAZY
'
);
end
;
end
;
if
lRelation
.
OriginAggregation
=
acPropertyAggregation
.
pvComposite
then
lCodigoClasse
.
Write
(
', cascade = CascadeType.ALL'
)
else
lCodigoClasse
.
Write
(
', cascade = CascadeType.DETACH'
);
if
lRelation
.
DestinationPropertyName
<>
''
if
lRelation
.
DestinationPropertyName
<>
''
then
lCodigoClasse
.
WriteLine
(
', mappedBy = "'
+
lRelation
.
DestinationPropertyName
+
'")'
)
then
lCodigoClasse
.
WriteLine
(
', mappedBy = "'
+
FirstLetterLowerCase
(
lRelation
.
DestinationPropertyName
)
+
'")'
)
else
else
begin
begin
lCodigoClasse
.
WriteLine
(
')'
);
lCodigoClasse
.
WriteLine
(
')'
);
...
@@ -5379,7 +5405,7 @@ begin
...
@@ -5379,7 +5405,7 @@ begin
lsAtributo
:=
lRelation
.
DestinationPropertyName
;
lsAtributo
:=
lRelation
.
DestinationPropertyName
;
if
(
lsAtributo
<>
''
)
then
if
(
lsAtributo
<>
''
)
then
begin
begin
lsTipoAttribute
:=
lRelation
.
OriginClassTicket
.
DisplayName
+
'Entity'
;
lsTipoAttribute
:=
lRelation
.
OriginClassTicket
.
DisplayName
;
if
lRelation
.
DestinationMaxMultiplicity
=
1
if
lRelation
.
DestinationMaxMultiplicity
=
1
then
EscreveGetterSetterClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
)
then
EscreveGetterSetterClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
)
else
EscreveGetterSetterClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
,
true
,
true
);
else
EscreveGetterSetterClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
,
true
,
true
);
...
@@ -5391,7 +5417,7 @@ begin
...
@@ -5391,7 +5417,7 @@ begin
lsAtributo
:=
lRelation
.
OriginPropertyName
;
lsAtributo
:=
lRelation
.
OriginPropertyName
;
if
(
lsAtributo
<>
''
)
then
if
(
lsAtributo
<>
''
)
then
begin
begin
lsTipoAttribute
:=
lRelation
.
DestinationClassTicket
.
DisplayName
+
'Entity'
;
lsTipoAttribute
:=
lRelation
.
DestinationClassTicket
.
DisplayName
;
if
lRelation
.
OriginMaxMultiplicity
=
1
if
lRelation
.
OriginMaxMultiplicity
=
1
then
EscreveGetterSetterClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
)
then
EscreveGetterSetterClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
)
else
EscreveGetterSetterClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
,
true
,
true
);
else
EscreveGetterSetterClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
,
true
,
true
);
...
@@ -5415,6 +5441,7 @@ begin
...
@@ -5415,6 +5441,7 @@ begin
lListaChamadaSuperSemRelOut
.
Add
(
'pi'
+
lsAtributo
);
lListaChamadaSuperSemRelOut
.
Add
(
'pi'
+
lsAtributo
);
end
end
else
begin
else
begin
lListaChamadaConstr
.
Add
(
'pi'
+
lsAtributo
);
EscreverInicializacaoAtributo
(
lCodigoConstrutor
,
lsAtributo
,
1
);
EscreverInicializacaoAtributo
(
lCodigoConstrutor
,
lsAtributo
,
1
);
EscreverInicializacaoAtributo
(
lCodigoConstrutorSemRelOut
,
lsAtributo
,
1
);
EscreverInicializacaoAtributo
(
lCodigoConstrutorSemRelOut
,
lsAtributo
,
1
);
end
;
end
;
...
@@ -5426,14 +5453,15 @@ begin
...
@@ -5426,14 +5453,15 @@ begin
if
(
lsAtributo
<>
''
)
then
if
(
lsAtributo
<>
''
)
then
begin
begin
if
lRelation
.
DestinationMaxMultiplicity
>
1
if
lRelation
.
DestinationMaxMultiplicity
>
1
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
OriginClassTicket
.
DisplayName
+
'
Entity
>'
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
OriginClassTicket
.
DisplayName
+
'>'
else
lsTipoAttribute
:=
lRelation
.
OriginClassTicket
.
DisplayName
+
'Entity'
;
else
lsTipoAttribute
:=
lRelation
.
OriginClassTicket
.
DisplayName
;
lParamsConstrutor
:=
lParamsConstrutor
+
lsTipoAttribute
+
' pi'
+
lsAtributo
+
', '
;
lParamsConstrutor
:=
lParamsConstrutor
+
lsTipoAttribute
+
' pi'
+
lsAtributo
+
', '
;
if
lClassTicketPai
.
ID
<>
lClassTicket
.
ID
if
lClassTicketPai
.
ID
<>
lClassTicket
.
ID
then
begin
then
begin
lListaChamadaSuper
.
Add
(
'pi'
+
lsAtributo
);
lListaChamadaSuper
.
Add
(
'pi'
+
lsAtributo
);
end
end
else
begin
else
begin
lListaChamadaConstr
.
Add
(
'pi'
+
lsAtributo
);
EscreverInicializacaoAtributo
(
lCodigoConstrutor
,
lRelation
.
DestinationPropertyName
,
lRelation
.
DestinationMaxMultiplicity
);
EscreverInicializacaoAtributo
(
lCodigoConstrutor
,
lRelation
.
DestinationPropertyName
,
lRelation
.
DestinationMaxMultiplicity
);
EscreverCriacaoLista
(
lCodigoConstrutorSemRelOut
,
lRelation
.
DestinationPropertyName
,
lRelation
.
DestinationMaxMultiplicity
);
EscreverCriacaoLista
(
lCodigoConstrutorSemRelOut
,
lRelation
.
DestinationPropertyName
,
lRelation
.
DestinationMaxMultiplicity
);
end
;
end
;
...
@@ -5446,12 +5474,13 @@ begin
...
@@ -5446,12 +5474,13 @@ begin
if
(
lsAtributo
<>
''
)
then
if
(
lsAtributo
<>
''
)
then
begin
begin
if
lRelation
.
OriginMaxMultiplicity
>
1
if
lRelation
.
OriginMaxMultiplicity
>
1
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
DestinationClassTicket
.
DisplayName
+
'
Entity
>'
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
DestinationClassTicket
.
DisplayName
+
'>'
else
lsTipoAttribute
:=
lRelation
.
DestinationClassTicket
.
DisplayName
+
'Entity'
;
else
lsTipoAttribute
:=
lRelation
.
DestinationClassTicket
.
DisplayName
;
lParamsConstrutor
:=
lParamsConstrutor
+
lsTipoAttribute
+
' pi'
+
lsAtributo
+
', '
;
lParamsConstrutor
:=
lParamsConstrutor
+
lsTipoAttribute
+
' pi'
+
lsAtributo
+
', '
;
if
lClassTicketPai
.
ID
<>
lClassTicket
.
ID
if
lClassTicketPai
.
ID
<>
lClassTicket
.
ID
then
lListaChamadaSuper
.
Add
(
'pi'
+
lsAtributo
)
then
lListaChamadaSuper
.
Add
(
'pi'
+
lsAtributo
)
else
begin
else
begin
lListaChamadaConstr
.
Add
(
'pi'
+
lsAtributo
);
EscreverInicializacaoAtributo
(
lCodigoConstrutor
,
lRelation
.
OriginPropertyName
,
lRelation
.
OriginMaxMultiplicity
);
EscreverInicializacaoAtributo
(
lCodigoConstrutor
,
lRelation
.
OriginPropertyName
,
lRelation
.
OriginMaxMultiplicity
);
EscreverCriacaoLista
(
lCodigoConstrutorSemRelOut
,
lRelation
.
OriginPropertyName
,
lRelation
.
OriginMaxMultiplicity
);
EscreverCriacaoLista
(
lCodigoConstrutorSemRelOut
,
lRelation
.
OriginPropertyName
,
lRelation
.
OriginMaxMultiplicity
);
end
;
end
;
...
@@ -5462,7 +5491,10 @@ begin
...
@@ -5462,7 +5491,10 @@ begin
// Escrever mtodos
// Escrever mtodos
// Escrever construtor vazio
// Escrever construtor vazio
lCodigoClasse
.
WriteLine
(
''
);
lCodigoClasse
.
WriteLine
(
''
);
lCodigoClasse
.
WriteLine
(
'public '
+
lsNomeClasseDB
+
'() {'
);
if
lClassTicket
.
HasDescendants
then
lCodigoClasse
.
Write
(
'public '
)
else
lCodigoClasse
.
Write
(
'private '
);
lCodigoClasse
.
WriteLine
(
lsNomeClasseDB
+
'() {'
);
lCodigoClasse
.
Indent
();
lCodigoClasse
.
Indent
();
for
index
:=
0
to
lClassTicket
.
RelationTicketsIn
.
Count
-
1
do
for
index
:=
0
to
lClassTicket
.
RelationTicketsIn
.
Count
-
1
do
begin
begin
...
@@ -5495,14 +5527,8 @@ begin
...
@@ -5495,14 +5527,8 @@ begin
then
lCodigoClasse
.
WriteLine
(
'public '
+
lsNomeClasseDB
+
'('
+
_DBTipoId
+
' piId, '
+
strutils
.
LeftStr
(
lParamsConstrutor
,
Length
(
lParamsConstrutor
)-
2
)+
') {'
)
then
lCodigoClasse
.
WriteLine
(
'public '
+
lsNomeClasseDB
+
'('
+
_DBTipoId
+
' piId, '
+
strutils
.
LeftStr
(
lParamsConstrutor
,
Length
(
lParamsConstrutor
)-
2
)+
') {'
)
else
lCodigoClasse
.
WriteLine
(
'public '
+
lsNomeClasseDB
+
'('
+
_DBTipoId
+
' piId) {'
);
else
lCodigoClasse
.
WriteLine
(
'public '
+
lsNomeClasseDB
+
'('
+
_DBTipoId
+
' piId) {'
);
lCodigoClasse
.
Indent
();
lCodigoClasse
.
Indent
();
if
lEhClasseHerdada
lCodigoClasse
.
WriteLine
(
'this('
+
lListaChamadaConstr
.
CommaText
+
')'
);
then
begin
lCodigoClasse
.
WriteLine
(
FirstLetterLowerCase
(
_NomeId
)+
' = piId;'
);
if
lListaChamadaSuper
.
Count
>
0
then
lCodigoClasse
.
WriteLine
(
'super(piId, '
+
lListaChamadaSuper
.
CommaText
+
');'
)
else
lCodigoClasse
.
WriteLine
(
'super(piId);'
)
end
else
lCodigoClasse
.
WriteLine
(
FirstLetterLowerCase
(
_NomeId
)+
' = piId;'
);
lCodigoClasse
.
Append
(
lCodigoConstrutor
);
lCodigoClasse
.
Outdent
();
lCodigoClasse
.
Outdent
();
lCodigoClasse
.
WriteLine
(
'}'
);
lCodigoClasse
.
WriteLine
(
'}'
);
// Escrever construtor com id sem relacionamentos
// Escrever construtor com id sem relacionamentos
...
@@ -5557,6 +5583,7 @@ begin
...
@@ -5557,6 +5583,7 @@ begin
lListaChamadaSuperSemRelOut
.
Free
;
lListaChamadaSuperSemRelOut
.
Free
;
lCodigoConstrutor
.
Free
;
lCodigoConstrutor
.
Free
;
lCodigoConstrutorSemRelOut
.
Free
;
lCodigoConstrutorSemRelOut
.
Free
;
lListaChamadaConstr
.
Free
;
end
;
end
;
end
;
end
;
...
...
EvoUMLPlugin/src/formMemo.dfm
View file @
becd55ca
...
@@ -3172,6 +3172,7 @@ object PreviewClassCode: TPreviewClassCode
...
@@ -3172,6 +3172,7 @@ object PreviewClassCode: TPreviewClassCode
Caption = 'Java Dominio'
Caption = 'Java Dominio'
ClientHeight = 504
ClientHeight = 504
ClientWidth = 785
ClientWidth = 785
TabVisible = False
inline mem_ClassJavaDomain: TSynEdit
inline mem_ClassJavaDomain: TSynEdit
Left = 0
Left = 0
Height = 504
Height = 504
...
@@ -3686,6 +3687,7 @@ object PreviewClassCode: TPreviewClassCode
...
@@ -3686,6 +3687,7 @@ object PreviewClassCode: TPreviewClassCode
Caption = 'Java Mapper'
Caption = 'Java Mapper'
ClientHeight = 504
ClientHeight = 504
ClientWidth = 785
ClientWidth = 785
TabVisible = False
inline mem_ClassJavaMapper: TSynEdit
inline mem_ClassJavaMapper: TSynEdit
Left = 0
Left = 0
Height = 504
Height = 504
...
...
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