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
90c8807f
Commit
90c8807f
authored
Aug 10, 2020
by
Erika Segatto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[WIP] Inclui geração de classe hibernate JPA
parent
365f5316
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
189 additions
and
63 deletions
+189
-63
CurioAddIn.lpi
EvoUMLPlugin/src/CurioAddIn.lpi
+3
-0
IntegracaoDelphiSUML.pas
EvoUMLPlugin/src/IntegracaoDelphiSUML.pas
+184
-61
formMemo.dfm
EvoUMLPlugin/src/formMemo.dfm
+2
-2
No files found.
EvoUMLPlugin/src/CurioAddIn.lpi
View file @
90c8807f
...
...
@@ -151,6 +151,9 @@
</Options>
</Linking>
<Other>
<CompilerMessages>
<IgnoredMessages
idx4105=
"True"
idx4104=
"True"
/>
</CompilerMessages>
<CustomOptions
Value=
"-dUseCThreads"
/>
<OtherDefines
Count=
"1"
>
<Define0
Value=
"FullDebugMode"
/>
...
...
EvoUMLPlugin/src/IntegracaoDelphiSUML.pas
View file @
90c8807f
...
...
@@ -5085,30 +5085,25 @@ function TUtil.GerarClassPreview_JavaHibernate(piClass: IUMLClass): string;
else
if
piTipoCurio
=
'acInt'
then
Result
:=
'Integer'
else
if
piTipoCurio
=
'acCurrency'
then
Result
:=
'BigDecimal'
else
if
piTipoCurio
=
'acDouble'
then
Result
:=
'BigDecimal'
else
if
piTipoCurio
=
'acBoolean'
then
Result
:=
'boolean'
else
Result
:=
piTipoCurio
;
end
;
procedure
EscreveAtributoClasse
(
const
piCodigoClasse
:
PStringWriter
;
piNomeAtributo
,
piTipoAtributo
,
piNomeColuna
:
String
);
begin
piCodigoClasse
.
WriteLine
(
'@Column(name = "'
+
piNomeColuna
+
'")'
);
piCodigoClasse
.
WriteLine
(
'private '
+
piTipoAtributo
+
' '
+
piNomeAtributo
+
';'
);
end
;
procedure
EscreveGetterSetterClasse
(
const
piCodigoClasse
:
PStringWriter
;
piNomeAtributo
,
piTipoAtributo
:
String
;
piApenasGetter
:
Boolean
=
False
);
begin
//Escreve getter and setter
piCodigoClasse
.
WriteLine
(
'public '
+
piTipoAtributo
+
' get'
+
piNomeAtributo
+
'() { return '
+
' f'
+
piNomeAtributo
+
'; }'
);
piCodigoClasse
.
WriteLine
(
'public '
+
piTipoAtributo
+
' get'
+
piNomeAtributo
+
'() { return '
+
piNomeAtributo
+
'; }'
);
if
not
piApenasGetter
then
piCodigoClasse
.
WriteLine
(
'public void set'
+
piNomeAtributo
+
'('
+
piTipoAtributo
+
' pi'
+
piNomeAtributo
+
') {
f
'
+
piNomeAtributo
+
' = pi'
+
piNomeAtributo
+
'; }'
);
piCodigoClasse
.
WriteLine
(
'public void set'
+
piNomeAtributo
+
'('
+
piTipoAtributo
+
' pi'
+
piNomeAtributo
+
') { '
+
piNomeAtributo
+
' = pi'
+
piNomeAtributo
+
'; }'
);
piCodigoClasse
.
WriteLine
(
''
);
end
;
const
_TipoId
=
'Long'
;
_NomeId
=
'Id'
;
_DBTipoId
=
'Long'
;
var
lsNomeClasse
,
lsNomeTabela
,
lsNomeGeneratorId
,
lsAtributo
,
lsTipoAttribute
:
string
;
index
:
integer
;
...
...
@@ -5120,12 +5115,16 @@ var
lCodigoClasse
:
PStringWriter
;
lParamsConstrutor
:
string
;
lRelation
:
acRelationTicket
;
lRelationPersistenceMapTicket
:
acRelationSQLPersistenceMapTicket
;
lColumnTicket
:
acDBColumnMapTicket
;
lHasImport
:
array
[
0..2
]
of
Boolean
;
lEhClasseHerdada
:
Boolean
;
begin
Result
:=
''
;
lParamsConstrutor
:=
''
;
lsNomeClasse
:=
piClass
.
Name
;
lClassTicket
:=
MetaModel
.
GetClassTicketByName
(
lsNomeClasse
);
lEhClasseHerdada
:=
Assigned
(
lClassTicket
.
ParentClassTicket
);
for
index
:=
0
to
2
do
lHasImport
[
index
]
:=
False
;
...
...
@@ -5134,8 +5133,9 @@ begin
lCodigoClasse
.
WriteLine
(
'package adapters.persistence.entities;'
);
lCodigoClasse
.
WriteLine
(
''
);
lCodigoClasse
.
WriteLine
(
'import javax.persistence.*;'
);
lCodigoClasse
.
WriteLine
(
'import java.util.List;'
);
// Imports de tipos
if
_TipoId
=
'Long'
then
if
_
DB
TipoId
=
'Long'
then
begin
lCodigoClasse
.
WriteLine
(
'import java.lang.Long;'
);
lHasImport
[
1
]
:=
True
;
...
...
@@ -5166,94 +5166,218 @@ begin
lMetaModelPersistenceMapSQL
:=
fMetaModelPersistenceMap
as
acMetaModelPersistenceMapSQL
;
lClassToDBMapTicket
:=
lMetaModelPersistenceMapSQL
.
GetClassToDBMapTicket
(
lClassTicket
);
// Incio da classe
if
Copy
(
lsNomeClasse
,
1
,
2
)
=
'ng'
then
lsNomeClasse
:=
RightStr
(
lsNomeClasse
,
Length
(
lsNomeClasse
)-
2
);
lsNomeGeneratorId
:=
'gen'
+
RightStr
(
lsNomeClasse
,
Length
(
lsNomeClasse
)-
2
);
lsNomeTabela
:=
lClassToDBMapTicket
.
TableName
;
lsNomeClasse
:=
lsNomeClasse
+
'Entity'
;
lCodigoClasse
.
WriteLine
(
'@Entity'
);
lCodigoClasse
.
WriteLine
(
'@TableGenerator(name = "'
+
lsNome
Classe
+
'", table = "SISBTNUMER", valueColumnName = "SISBNONUME",'
);
lCodigoClasse
.
WriteLine
(
'@TableGenerator(name = "'
+
lsNome
GeneratorId
+
'", table = "SISBTNUMER", valueColumnName = "SISBNONUME",'
);
lCodigoClasse
.
WriteLine
(
' pkColumnName = "SISBDSNUME", pkColumnValue = "'
+
lsNomeTabela
+
'", allocationSize = 1)'
);
if
lClassToDBMapTicket
.
TypeColumnName
<>
''
then
begin
lCodigoClasse
.
WriteLine
(
'@Inheritance(strategy = InheritanceType.JOINED)'
);
lCodigoClasse
.
WriteLine
(
'@DiscriminatorColumn(name = "CX_TYPE")'
);
lCodigoClasse
.
WriteLine
(
'@DiscriminatorColumn(name = "'
+
lClassToDBMapTicket
.
TypeColumnName
+
'")'
);
end
else
if
lEhClasseHerdada
then
begin
lCodigoClasse
.
WriteLine
(
'@DiscriminatorValue("'
+
lClassToDBMapTicket
.
DBClassMapCode
+
'")'
);
lCodigoClasse
.
WriteLine
(
'@PrimaryKeyJoinColumn(name = "'
+
lClassToDBMapTicket
.
IdoDBMapTicket
.
GetIDOColumns
+
'")'
);
end
;
lCodigoClasse
.
WriteLine
(
'@Table(name = "'
+
lsNomeTabela
+
'")'
);
lCodigoClasse
.
WriteLine
(
'public abstract class '
+
lsNomeClasse
+
' {'
);
if
lEhClasseHerdada
then
lCodigoClasse
.
WriteLine
(
'public abstract class '
+
lsNomeClasse
+
' extends '
+
lClassTicket
.
ParentClassTicket
.
DisplayName
+
'Entity {'
)
else
lCodigoClasse
.
WriteLine
(
'public abstract class '
+
lsNomeClasse
+
' {'
);
lCodigoClasse
.
WriteLine
(
''
);
lCodigoClasse
.
Indent
();
// Escreve atributo id
EscreveAtributoClasse
(
lCodigoClasse
,
_NomeId
,
_TipoId
,
'TODO'
);
if
not
lEhClasseHerdada
then
begin
lCodigoClasse
.
WriteLine
(
'@Id'
);
lCodigoClasse
.
WriteLine
(
'@Column(name = "'
+
lClassToDBMapTicket
.
IdoDBMapTicket
.
GetIDOColumns
+
'")'
);
lCodigoClasse
.
WriteLine
(
'@GeneratedValue(generator = "'
+
lsNomeGeneratorId
+
'")'
);
lCodigoClasse
.
WriteLine
(
'private '
+
_DBTipoId
+
' id;'
);
end
;
// Obtem parametros da classe pai
if
lEhClasseHerdada
then
begin
for
index
:=
0
to
lClassTicket
.
ParentClassTicket
.
Attributes
.
Count
-
1
do
begin
lAttributeTicket
:=
lClassTicket
.
Attributes
.
Objects
[
index
]
as
acAttributeTicket
;
lsAtributo
:=
lClassTicket
.
Attributes
.
Strings
[
index
];
lsTipoAttribute
:=
ObterTipoAtributo
(
lAttributeTicket
.
AttributeType
);
lParamsConstrutor
:=
lParamsConstrutor
+
lsTipoAttribute
+
' pi'
+
lsAtributo
+
', '
;
end
;
for
index
:=
0
to
lClassTicket
.
RelationTicketsIn
.
Count
-
1
do
begin
lRelation
:=
(
lClassTicket
.
RelationTicketsIn
.
Objects
[
index
]
as
acRelationTicket
);
if
(
lRelation
.
DestinationPropertyName
<>
''
)
then
begin
lsAtributo
:=
lRelation
.
DestinationPropertyName
;
if
lRelation
.
DestinationMaxMultiplicity
>
1
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
OriginClassTicket
.
DisplayName
+
'Entity>'
else
lsTipoAttribute
:=
lRelation
.
OriginClassTicket
.
DisplayName
+
'Entity'
;
lParamsConstrutor
:=
lParamsConstrutor
+
lsTipoAttribute
+
' pi'
+
lsAtributo
+
', '
;
end
;
end
;
end
;
// DECLARAO ATRIBUTOS: Percorre atributos da classe
for
index
:=
0
to
lClassTicket
.
Attributes
.
Count
-
1
do
begin
lAttributeTicket
:=
lClassTicket
.
Attributes
.
Objects
[
index
]
as
acAttributeTicket
;
lsAtributo
:=
lClassTicket
.
Attributes
.
Strings
[
index
];
lsTipoAttribute
:=
ObterTipoAtributo
(
lAttributeTicket
.
AttributeType
);
lParamsConstrutor
:=
lParamsConstrutor
+
lsTipoAttribute
+
' pi'
+
lsAtributo
+
', '
;
EscreveAtributoClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
,
''
);
lColumnTicket
:=
acDBColumnMapTicket
(
lClassToDBMapTicket
.
Columns
.
ValueOf
(
UpCase
(
lsAtributo
)));
if
lAttributeTicket
.
DBType
=
'VARCHAR'
then
lCodigoClasse
.
WriteLine
(
'@Column(name = "'
+
lColumnTicket
.
ColumnName
+
'", length = '
+
IntToStr
(
lAttributeTicket
.
VarSize
)
+
')'
)
else
lCodigoClasse
.
WriteLine
(
'@Column(name = "'
+
lColumnTicket
.
ColumnName
+
'")'
);
lCodigoClasse
.
WriteLine
(
'private '
+
lsTipoAttribute
+
' '
+
lsAtributo
+
';'
);
end
;
//
Escrever RelationsPartnerShip
s
//
DECLARAO ATRIBUTOS: Percorre relacionamento
s
for
index
:=
0
to
lClassTicket
.
RelationTicketsIn
.
Count
-
1
do
begin
lRelation
:=
(
lClassTicket
.
RelationTicketsIn
.
Objects
[
index
]
as
acRelationTicket
);
lRelationPersistenceMapTicket
:=
lMetaModelPersistenceMapSQL
.
GetRelationsSQLPersistenceMapTicket
(
lRelation
);
if
(
lRelation
.
DestinationPropertyName
<>
''
)
then
begin
//Escreve atributo
lsAtributo
:=
lRelation
.
DestinationPropertyName
;
if
lRelation
.
DestinationMaxMultiplicity
>
1
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
OriginClassTicket
.
DisplayName
+
'>'
else
lsTipoAttribute
:=
lRelation
.
OriginClassTicket
.
DisplayName
;
EscreveAtributoClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
,
''
);
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
OriginClassTicket
.
DisplayName
+
'Entity>'
else
lsTipoAttribute
:=
lRelation
.
OriginClassTicket
.
DisplayName
+
'Entity'
;
lParamsConstrutor
:=
lParamsConstrutor
+
lsTipoAttribute
+
' pi'
+
lsAtributo
+
', '
;
if
lRelation
.
DestinationMaxMultiplicity
=
1
then
begin
if
lRelation
.
OriginMaxMultiplicity
=
1
then
lCodigoClasse
.
WriteLine
(
'@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)'
)
else
lCodigoClasse
.
WriteLine
(
'@OneToMany(cascade = CascadeType.ALL)'
);
end
else
begin
if
lRelation
.
OriginMaxMultiplicity
=
1
then
lCodigoClasse
.
WriteLine
(
'@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)'
)
else
lCodigoClasse
.
WriteLine
(
'@ManyToMany(cascade = CascadeType.ALL)'
);
end
;
if
lRelationPersistenceMapTicket
is
acDirectDBRelationMapTicket
then
lCodigoClasse
.
WriteLine
(
'@JoinColumn(name = "'
+
acDirectDBRelationMapTicket
(
lRelationPersistenceMapTicket
).
FKColumnName
+
'")'
);
lCodigoClasse
.
WriteLine
(
'private '
+
lsTipoAttribute
+
' '
+
lsAtributo
+
';'
);
end
;
end
;
for
index
:=
0
to
lClassTicket
.
RelationTicketsOut
.
Count
-
1
do
begin
lRelation
:=
(
lClassTicket
.
RelationTicketsOut
.
Objects
[
index
]
as
acRelationTicket
);
lRelationPersistenceMapTicket
:=
lMetaModelPersistenceMapSQL
.
GetRelationsSQLPersistenceMapTicket
(
lRelation
);
if
(
lRelation
.
OriginPropertyName
<>
''
)
then
begin
//Escreve atributo
lsAtributo
:=
lRelation
.
OriginPropertyName
;
if
lRelation
.
OriginMaxMultiplicity
>
1
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
DestinationClassTicket
.
DisplayName
+
'>'
else
lsTipoAttribute
:=
lRelation
.
DestinationClassTicket
.
DisplayName
;
EscreveAtributoClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
,
''
);
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
DestinationClassTicket
.
DisplayName
+
'Entity>'
else
lsTipoAttribute
:=
lRelation
.
DestinationClassTicket
.
DisplayName
+
'Entity'
;
if
lRelation
.
OriginMaxMultiplicity
=
1
then
begin
if
lRelation
.
DestinationMaxMultiplicity
=
1
then
lCodigoClasse
.
Write
(
'@OneToOne(cascade = CascadeType.ALL'
)
else
lCodigoClasse
.
Write
(
'@OneToMany(cascade = CascadeType.ALL'
);
end
else
begin
if
lRelation
.
DestinationMaxMultiplicity
=
1
then
lCodigoClasse
.
Write
(
'@ManyToOne(cascade = CascadeType.ALL'
)
else
lCodigoClasse
.
Write
(
'@ManyToMany(cascade = CascadeType.ALL'
);
end
;
if
lRelation
.
DestinationPropertyName
<>
''
then
lCodigoClasse
.
WriteLine
(
', mappedby = "'
+
lRelation
.
DestinationPropertyName
+
'")'
)
else
lCodigoClasse
.
WriteLine
(
')'
);
if
(
lRelationPersistenceMapTicket
is
acDirectDBRelationMapTicket
)
and
(
acDirectDBRelationMapTicket
(
lRelationPersistenceMapTicket
).
FKColumnName
<>
''
)
then
lCodigoClasse
.
WriteLine
(
'@JoinColumn(name = "'
+
acDirectDBRelationMapTicket
(
lRelationPersistenceMapTicket
).
FKColumnName
+
'")'
);
lCodigoClasse
.
WriteLine
(
'private '
+
lsTipoAttribute
+
' '
+
lsAtributo
+
';'
);
end
;
end
;
lCodigoClasse
.
WriteLine
(
''
);
//Escrever mtodos
//Escreve construtor com id
lCodigoClasse
.
WriteLine
(
''
);
lCodigoClasse
.
WriteLine
(
'public '
+
lsNomeClasse
+
'('
+
_TipoId
+
' piId, '
+
strutils
.
LeftStr
(
lParamsConstrutor
,
Length
(
lParamsConstrutor
)-
2
)+
') {'
);
lCodigoClasse
.
Indent
();
lCodigoClasse
.
WriteLine
(
'id = piId;'
);
// GETTER/SETTER: Percorre atributos da classe
for
index
:=
0
to
lClassTicket
.
Attributes
.
Count
-
1
do
begin
lAttributeTicket
:=
lClassTicket
.
Attributes
.
Objects
[
index
]
as
acAttributeTicket
;
lsAtributo
:=
lClassTicket
.
Attributes
.
Strings
[
index
];
lCodigoClasse
.
WriteLine
(
'f'
+
lsAtributo
+
' = pi'
+
lsAtributo
+
';'
);
lsTipoAttribute
:=
ObterTipoAtributo
(
lAttributeTicket
.
AttributeType
);
EscreveGetterSetterClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
);
end
;
lCodigoClasse
.
Outdent
();
lCodigoClasse
.
WriteLine
(
'}'
);
//Escreve construtor sem id
// GETTER/SETTER: Percorre relacionamentos
for
index
:=
0
to
lClassTicket
.
RelationTicketsIn
.
Count
-
1
do
begin
lRelation
:=
(
lClassTicket
.
RelationTicketsIn
.
Objects
[
index
]
as
acRelationTicket
);
if
(
lRelation
.
DestinationPropertyName
<>
''
)
then
begin
lsAtributo
:=
lRelation
.
DestinationPropertyName
;
if
lRelation
.
DestinationMaxMultiplicity
>
1
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
OriginClassTicket
.
DisplayName
+
'Entity>'
else
lsTipoAttribute
:=
lRelation
.
OriginClassTicket
.
DisplayName
+
'Entity'
;
if
lRelation
.
DestinationMaxMultiplicity
=
1
then
begin
EscreveGetterSetterClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
);
end
;
end
;
end
;
for
index
:=
0
to
lClassTicket
.
RelationTicketsOut
.
Count
-
1
do
begin
lRelation
:=
(
lClassTicket
.
RelationTicketsOut
.
Objects
[
index
]
as
acRelationTicket
);
if
(
lRelation
.
OriginPropertyName
<>
''
)
then
begin
lsAtributo
:=
lRelation
.
OriginPropertyName
;
if
lRelation
.
OriginMaxMultiplicity
>
1
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
DestinationClassTicket
.
DisplayName
+
'Entity>'
else
lsTipoAttribute
:=
lRelation
.
DestinationClassTicket
.
DisplayName
+
'Entity'
;
if
lRelation
.
OriginMaxMultiplicity
=
1
then
begin
EscreveGetterSetterClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
);
end
;
end
;
end
;
// Escrever mtodos
// Escrever construtor vazio
lCodigoClasse
.
WriteLine
(
''
);
lCodigoClasse
.
WriteLine
(
'public '
+
lsNomeClasse
+
'() { }'
);
// Escrever construtor sem id com relacionamentos
lCodigoClasse
.
WriteLine
(
''
);
lCodigoClasse
.
WriteLine
(
'public '
+
lsNomeClasse
+
'('
+
strutils
.
LeftStr
(
lParamsConstrutor
,
Length
(
lParamsConstrutor
)-
2
)+
') {'
);
lCodigoClasse
.
Indent
();
for
index
:=
0
to
lClassTicket
.
Attributes
.
Count
-
1
do
begin
lsAtributo
:=
lClassTicket
.
Attributes
.
Strings
[
index
];
lCodigoClasse
.
WriteLine
(
'f'
+
lsAtributo
+
' = pi'
+
lsAtributo
+
';'
);
lCodigoClasse
.
WriteLine
(
lsAtributo
+
' = pi'
+
lsAtributo
+
';'
);
end
;
for
index
:=
0
to
lClassTicket
.
RelationTicketsIn
.
Count
-
1
do
begin
lRelation
:=
(
lClassTicket
.
RelationTicketsIn
.
Objects
[
index
]
as
acRelationTicket
);
if
(
lRelation
.
DestinationPropertyName
<>
''
)
then
begin
lsAtributo
:=
lRelation
.
DestinationPropertyName
;
if
lRelation
.
DestinationMaxMultiplicity
=
1
then
begin
lCodigoClasse
.
WriteLine
(
lsAtributo
+
' = pi'
+
lsAtributo
+
';'
);
end
;
end
;
end
;
lCodigoClasse
.
Outdent
();
lCodigoClasse
.
WriteLine
(
'}'
);
//Escrever mtodo ToString
//
Escrever mtodo ToString
lCodigoClasse
.
WriteLine
(
''
);
lCodigoClasse
.
WriteLine
(
'@Override'
);
lCodigoClasse
.
WriteLine
(
'public String toString() {'
);
lCodigoClasse
.
Indent
();
lCodigoClasse
.
WriteLine
(
'return "'
+
lsNomeClasse
+
'{ " +'
);
if
not
lEhClasseHerdada
then
lCodigoClasse
.
WriteLine
(
'"id="+ id +'
);
for
index
:=
0
to
lClassTicket
.
Attributes
.
Count
-
1
do
begin
lsAtributo
:=
lClassTicket
.
Attributes
.
Strings
[
index
];
lCodigoClasse
.
WriteLine
(
'"'
+
lsAtributo
+
'="+ '
+
lsAtributo
+
' +'
);
lCodigoClasse
.
WriteLine
(
'"
'
+
lsAtributo
+
'="+ '
+
lsAtributo
+
' +'
);
end
;
lCodigoClasse
.
WriteLine
(
'"}";'
);
lCodigoClasse
.
Outdent
();
...
...
@@ -5283,6 +5407,7 @@ function TUtil.GerarClassPreview_JavaDomain(piClass: IUMLClass): string;
else
if
piTipoCurio
=
'acInt'
then
Result
:=
'Integer'
else
if
piTipoCurio
=
'acCurrency'
then
Result
:=
'BigDecimal'
else
if
piTipoCurio
=
'acDouble'
then
Result
:=
'BigDecimal'
else
if
piTipoCurio
=
'acBoolean'
then
Result
:=
'boolean'
else
Result
:=
piTipoCurio
;
end
;
...
...
@@ -5334,6 +5459,7 @@ begin
try
lCodigoClasse
.
WriteLine
(
'package domain;'
);
lCodigoClasse
.
WriteLine
(
''
);
lCodigoClasse
.
WriteLine
(
'import java.util.List;'
);
// Imports de tipos
if
_TipoId
=
'Long'
then
begin
...
...
@@ -5377,13 +5503,12 @@ begin
EscreveAtributoClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
,
lAttributeTicket
.
Visibility
);
end
;
//
Escrever RelationsPartnerShip
s
//
DECLARAO ATRIBUTOS: Percorre relacionamento
s
for
index
:=
0
to
lClassTicket
.
RelationTicketsIn
.
Count
-
1
do
begin
lRelation
:=
(
lClassTicket
.
RelationTicketsIn
.
Objects
[
index
]
as
acRelationTicket
);
if
(
lRelation
.
DestinationPropertyName
<>
''
)
then
begin
//Escreve atributo
lsAtributo
:=
lRelation
.
DestinationPropertyName
;
if
lRelation
.
DestinationMaxMultiplicity
>
1
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
OriginClassTicket
.
DisplayName
+
'>'
...
...
@@ -5396,7 +5521,6 @@ begin
lRelation
:=
(
lClassTicket
.
RelationTicketsOut
.
Objects
[
index
]
as
acRelationTicket
);
if
(
lRelation
.
OriginPropertyName
<>
''
)
then
begin
//Escreve atributo
lsAtributo
:=
lRelation
.
OriginPropertyName
;
if
lRelation
.
OriginMaxMultiplicity
>
1
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
DestinationClassTicket
.
DisplayName
+
'>'
...
...
@@ -5406,7 +5530,7 @@ begin
end
;
lCodigoClasse
.
WriteLine
(
''
);
// GETTER/SETTER: Percorre
atributos da classe
// GETTER/SETTER: Percorre
relacionamentos
EscreveGetterSetterClasse
(
lCodigoClasse
,
_NomeId
,
_TipoId
,
True
);
for
index
:=
0
to
lClassTicket
.
Attributes
.
Count
-
1
do
begin
...
...
@@ -5417,13 +5541,12 @@ begin
EscreveGetterSetterClasse
(
lCodigoClasse
,
lsAtributo
,
lsTipoAttribute
);
end
;
//Escrever RelationsPartnerShips
//
GETTER/SETTER:
Escrever RelationsPartnerShips
for
index
:=
0
to
lClassTicket
.
RelationTicketsIn
.
Count
-
1
do
begin
lRelation
:=
(
lClassTicket
.
RelationTicketsIn
.
Objects
[
index
]
as
acRelationTicket
);
if
(
lRelation
.
DestinationPropertyName
<>
''
)
then
begin
//Escreve atributo
lsAtributo
:=
lRelation
.
DestinationPropertyName
;
if
lRelation
.
DestinationMaxMultiplicity
>
1
then
lsTipoAttribute
:=
'List<'
+
lRelation
.
OriginClassTicket
.
DisplayName
+
'>'
...
...
EvoUMLPlugin/src/formMemo.dfm
View file @
90c8807f
...
...
@@ -61,9 +61,9 @@ object PreviewClassCode: TPreviewClassCode
Height = 530
Top = 0
Width = 793
ActivePage = tbJava
Domain
ActivePage = tbJava
Hibernate
Align = alClient
TabIndex =
5
TabIndex =
4
TabOrder = 0
object tbObjPascal: TTabSheet
Caption = 'ObjPascal'
...
...
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