Commit 1280df8b authored by Erika Segatto's avatar Erika Segatto

Inclui tag DBIDOType no modelo e altera código para ler o tipo do oid dessa tag

parent 40559b6f
...@@ -1619,7 +1619,7 @@ var index, index2, lFixSize, lVarSize: integer; ...@@ -1619,7 +1619,7 @@ var index, index2, lFixSize, lVarSize: integer;
lbMandatory: boolean; lbMandatory: boolean;
lClassChild: IUMLClass; lClassChild: IUMLClass;
lUMLAttribute: IUMLAttribute; lUMLAttribute: IUMLAttribute;
lsNomeClasse, lsAtributo, lsAtributoType, lsIDO, lsClassCode, lsTabela, lsTypeColumnName, lsColumnName, lsResult, lsColumnDBType: String; lsNomeClasse, lsAtributo, lsAtributoType, lsIDO, lsIDOType, lsClassCode, lsTabela, lsTypeColumnName, lsColumnName, lsResult, lsColumnDBType: String;
lDBIntIdoMapTicket: acDBIdoMapTicket; lDBIntIdoMapTicket: acDBIdoMapTicket;
lClassMapTicket: acClassTicket; lClassMapTicket: acClassTicket;
lClassToDBMapTicket: acClassToDBMapTicket; lClassToDBMapTicket: acClassToDBMapTicket;
...@@ -1633,6 +1633,7 @@ var index, index2, lFixSize, lVarSize: integer; ...@@ -1633,6 +1633,7 @@ var index, index2, lFixSize, lVarSize: integer;
lDbAttributeError: string; lDbAttributeError: string;
lClassDisplayName, lAttributeDisplayName: string; lClassDisplayName, lAttributeDisplayName: string;
lClassErrors: TStringList; lClassErrors: TStringList;
lIDOTypeClass: string;
begin begin
if (poClasseRaiz.GetSpecializationCount > 0) then if (poClasseRaiz.GetSpecializationCount > 0) then
...@@ -1653,6 +1654,7 @@ begin ...@@ -1653,6 +1654,7 @@ begin
lClassDisplayName := lClassChild.GetTaggedValueAsString('UserDisplayNames', 'ClassDisplayNames', 'DN'); lClassDisplayName := lClassChild.GetTaggedValueAsString('UserDisplayNames', 'ClassDisplayNames', 'DN');
lsIDO := lClassChild.GetTaggedValueAsString('DBMappings', 'DBClassMap', 'DBIDO'); lsIDO := lClassChild.GetTaggedValueAsString('DBMappings', 'DBClassMap', 'DBIDO');
lsIDOType := UpperCase(lClassChild.GetTaggedValueAsString('DBMappings', 'DBClassMap', 'DBIDOType'));
lsTabela := lClassChild.GetTaggedValueAsString('DBMappings', 'DBClassMap', 'Table'); lsTabela := lClassChild.GetTaggedValueAsString('DBMappings', 'DBClassMap', 'Table');
lsClassCode := lClassChild.GetTaggedValueAsString('DBMappings', 'DBClassMap', 'Cod'); lsClassCode := lClassChild.GetTaggedValueAsString('DBMappings', 'DBClassMap', 'Cod');
lsTypeColumnName := lClassChild.GetTaggedValueAsString('DBMappings', 'DBClassMap', 'Type'); lsTypeColumnName := lClassChild.GetTaggedValueAsString('DBMappings', 'DBClassMap', 'Type');
...@@ -1702,14 +1704,26 @@ begin ...@@ -1702,14 +1704,26 @@ begin
raise Exception.Create(Format('Need to define tagged value "Cod" for class "%s" in DBClassMap Tag Definition Set (DBMappings Profiler).',[lClassChild.Pathname])); raise Exception.Create(Format('Need to define tagged value "Cod" for class "%s" in DBClassMap Tag Definition Set (DBMappings Profiler).',[lClassChild.Pathname]));
end; end;
lClassMapTicket := poMetaModel.NewClassRegisterTicket(lsClassCode, lsNomeClasse, poClasseRaiz.Name, 0); if (lsIDOType = 'VARCHAR') or (lsIDOType = 'NVARCHAR') or (lsIDOType = 'CHAR') then
begin
lIDOTypeClass := 'acOIDString';
lDBIntIdoMapTicket := acDBStringIdoMapTicket.Create(lsIDO);
end
else if (lsIDOType = 'INT') or (lsIDOType = 'INTEGER') then
begin
lIDOTypeClass := 'acOIDInt';
lDBIntIdoMapTicket := acDBIntIdoMapTicket.Create(lsIDO);
end
else
raise Exception.Create(Format('Invalid DBIDOType for class "%s" in DBClassMap Tag Definition Set (DBMappings Profiler).',[lClassChild.Pathname])); ;
lClassMapTicket := poMetaModel.NewClassRegisterTicket(lsClassCode, lsNomeClasse, lIDOTypeClass, poClasseRaiz.Name, 0);
lClassMapTicket.AuditDescription := lAuditDescription; lClassMapTicket.AuditDescription := lAuditDescription;
lClassMapTicket.DisplayName := lClassDisplayName; lClassMapTicket.DisplayName := lClassDisplayName;
lClassMapTicket.DBIndexes := lIndexes; lClassMapTicket.DBIndexes := lIndexes;
lMetaModelPersistenceMap := fMetaModelPersistenceMap; lMetaModelPersistenceMap := fMetaModelPersistenceMap;
lDBIntIdoMapTicket := acDBIntIdoMapTicket.Create(lsIDO);
lClassToDBMapTicket := (lMetaModelPersistenceMap as acMetaModelPersistenceMapSql).NewClassToDBMapRegisterTicket(lsClassCode, lClassMapTicket, lDBIntIdoMapTicket); lClassToDBMapTicket := (lMetaModelPersistenceMap as acMetaModelPersistenceMapSql).NewClassToDBMapRegisterTicket(lsClassCode, lClassMapTicket, lDBIntIdoMapTicket);
lClassToDBMapTicket.TableName := lsTabela; lClassToDBMapTicket.TableName := lsTabela;
......
...@@ -48,7 +48,12 @@ ...@@ -48,7 +48,12 @@
<TAGDEFINITION lock="False"> <TAGDEFINITION lock="False">
<NAME>DBIDO</NAME> <NAME>DBIDO</NAME>
<TAGTYPE>String</TAGTYPE> <TAGTYPE>String</TAGTYPE>
</TAGDEFINITION> </TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>DBIDOType</NAME>
<TAGTYPE>String</TAGTYPE>
<DEFAULTDATAVALUE>Int</DEFAULTDATAVALUE>
</TAGDEFINITION>
<TAGDEFINITION lock="False"> <TAGDEFINITION lock="False">
<NAME>Cod</NAME> <NAME>Cod</NAME>
<TAGTYPE>String</TAGTYPE> <TAGTYPE>String</TAGTYPE>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment