init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,134 @@
|
|||
//***************************************************************************//
|
||||
// Megjegyzés? //
|
||||
// //
|
||||
// VALÓSZÍNŰLEG MÁR ELAVULT, ÉS NEM HASZNÁLT! //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllEntityAssociationsIDToEntityState(MClass as ENTITY, COUNTERNAME, ENTITYSTATENAME, READERNAME)
|
||||
// [GetEntityName([ENTITY])] asszociációi
|
||||
[loop (ENTITY -> Role as STARTROLE -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as PARTNER where (([STARTROLE.id] != [ENDROLE.id]) and GetStereoType([PARTNER]) == "Entity"))]
|
||||
[if ([ENDROLE.multiplicity] == "1" or [ENDROLE.multiplicity] == "0..1")]
|
||||
[if (HasAssociationClass([CURRENTASSOCIATION]) == "")]
|
||||
[ENTITYSTATENAME].[ConvertNameToEntityStateAttributeName(GetRoleName([ENDROLE]))].[ConvertNameToEntityStateAttributeName("ID")] = [READERNAME].GetValue([COUNTERNAME]++);
|
||||
[else]
|
||||
// XXX [GetRoleName([ENDROLE])] ez az asszociáció asszociációs osztállyal rendelkezik, és még nincs megvalósítva, lásd GenerateLoadAllAttributesAndEntityAssociationsIDToEntityState
|
||||
[end if]
|
||||
[end if]
|
||||
[end loop]
|
||||
[loop (ENTITY -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as STARTROLE -> MClass as STARTCLASS where (GetStereoType([STARTCLASS]) == "Entity"))]
|
||||
[loop (CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as ENDCLASS where([STARTROLE.id] < [ENDROLE.id] and GetStereoType([ENDCLASS]) == "Entity"))]
|
||||
[ENTITYSTATENAME].[ConvertNameToEntityStateAttributeName(GetRoleName([STARTROLE]))].[ConvertNameToEntityStateAttributeName("ID")] = [READERNAME].GetValue([COUNTERNAME]++);
|
||||
[ENTITYSTATENAME].[ConvertNameToEntityStateAttributeName(GetRoleName([ENDROLE]))].[ConvertNameToEntityStateAttributeName("ID")] = [READERNAME].GetValue([COUNTERNAME]++);
|
||||
[end loop]
|
||||
[end loop]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAttributesAndEntityAssociationsIDToEntityState([BASECLASS], [COUNTERNAME], [ENTITYSTATENAME], [READERNAME])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL parancsot, ami felhozza az adatbázisból egy adott //
|
||||
// entitás összes asszociációs partnerének azonosítóját. //
|
||||
// //
|
||||
// VALÓSZÍNŰLEG MÁR ELAVULT, ÉS NEM HASZNÁLT! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAssociationIDCommand(MClass as ENTITY)
|
||||
select
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].ID,
|
||||
[GenerateLoadAllAssociationIDCommandColumns([ENTITY])]
|
||||
[GenerateSerialColumn([ENTITY])]
|
||||
from
|
||||
[GenerateLoadAllAttributesCommandTables([ENTITY])]
|
||||
[GenerateLoadAllAssociationIDCommandJoin([ENTITY])]
|
||||
where
|
||||
[if (IsMasterEntity([ENTITY]) == "true")]
|
||||
([ConvertNameToSQLTableName([ENTITY.name])].SERIAL >= 0)
|
||||
[else]
|
||||
[GenerateLoadAllAttributesCommandWhere([ENTITY])]
|
||||
[end if]
|
||||
and (rownum < 1000)
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja az asszociációs partnerek tábláinak join-jait. (SQL töredék) //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAssociationIDCommandJoin(MClass as ENTITY)
|
||||
[GenerateLoadAllAssociationIDCommandJoinCore([ENTITY], [ENTITY])]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja az asszociációs partnerek tábláinak join-jait. (SQL töredék) //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAssociationIDCommandJoinCore(MClass as ENTITY, MClass as MASTER)
|
||||
[loop (ENTITY -> Role as STARTROLE -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as PARTNER where (([STARTROLE.id] != [ENDROLE.id]) and GetStereoType([PARTNER]) == "Entity"))]
|
||||
[if (HasAssociationClass([CURRENTASSOCIATION]) == "")]
|
||||
[if ([ENDROLE.multiplicity] == "0..1")]
|
||||
[if (([STARTROLE.multiplicity] == "1..*") or ([STARTROLE.multiplicity] == "*") or ([STARTROLE.multiplicity] == "0..*"))]
|
||||
[else]
|
||||
[if ([STARTROLE.multiplicity] == "1")]
|
||||
left join [ConvertNameToSQLTableName([PARTNER.name])] on [ConvertNameToSQLTableName([PARTNER.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))] = [ConvertNameToSQLTableName([MASTER.name])].ID -- a masik tablaban van a kapcsolomezo
|
||||
[else]
|
||||
left join [ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE],[STARTROLE]))] on [ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE],[STARTROLE]))].[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))] = [ConvertNameToSQLTableName([MASTER.name])].ID -- kapcsolotabla van
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end loop]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAssociationIDCommandJoinCore([BASECLASS], [MASTER])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja az asszociációs partnerek azonosító oszlopait (SQL töredék) //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAssociationIDCommandColumns(MClass as ENTITY)
|
||||
-- [GetEntityName([ENTITY])] asszociációi
|
||||
[loop (ENTITY -> Role as STARTROLE -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as PARTNER where (([STARTROLE.id] != [ENDROLE.id]) and GetStereoType([PARTNER]) == "Entity"))]
|
||||
[if (HasAssociationClass([CURRENTASSOCIATION]) == "")]
|
||||
[if ([ENDROLE.multiplicity] == "1")]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))], -- Kötelező asszociációs kapcsolómező
|
||||
[else]
|
||||
[if ([ENDROLE.multiplicity] == "0..1")]
|
||||
[if (([STARTROLE.multiplicity] == "1..*") or ([STARTROLE.multiplicity] == "*") or ([STARTROLE.multiplicity] == "0..*"))]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))], -- Opcionális asszociációs kapcsolómező
|
||||
[else]
|
||||
[if ([STARTROLE.multiplicity] == "1")]
|
||||
[ConvertNameToSQLTableName([PARTNER.name])].ID as [ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))], -- a masik tablaban van a kapcsolomezo
|
||||
[else]
|
||||
[ConvertNameToSQLTableName(ConvertAssociationRolesToSwitchTableName([ENDROLE],[STARTROLE]))].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))], -- kapcsolotabla van
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[else]
|
||||
[if ([ENDROLE.multiplicity] == "1" or [ENDROLE.multiplicity] == "0..1")]
|
||||
-- XXX [GetRoleName([ENDROLE])] ez az asszociáció asszociációs osztállyal rendelkezik, és még nincs megvalósítva, lásd GenerateLoadAllAttributesAndEntityAssociationsIDToEntityState
|
||||
[end if]
|
||||
[end if]
|
||||
[end loop]
|
||||
[loop (ENTITY -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as STARTROLE -> MClass as STARTCLASS where (GetStereoType([STARTCLASS]) == "Entity"))]
|
||||
[loop (CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as ENDCLASS where([STARTROLE.id] < [ENDROLE.id] and GetStereoType([ENDCLASS]) == "Entity"))]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([STARTROLE]))], -- Asszociációs mező
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([ENDROLE]))], -- Asszociációs mező
|
||||
[end loop]
|
||||
[end loop]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAssociationIDCommandColumns([BASECLASS])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
|
@ -0,0 +1,124 @@
|
|||
/* A fájlban lévő sablonokat szinkronban kell tartani a szelekt generáló sablonokkal! */
|
||||
/* Később kell egy kis refaktoring is! */
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt a ciklusmagot, amely egy DataReader-ből kiszippantja //
|
||||
// az entitás összes attribútumát. //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesToEntityState(MClass as ENTITY, COUNTERNAME, ENTITYSTATENAME, READERNAME)
|
||||
// [GetEntityName([ENTITY])] attribútumai
|
||||
[loop (ENTITY -> MAttribute as ATTRIBUTE)]
|
||||
[ENTITYSTATENAME].[ConvertNameToEntityStateAttributeName(GetAttributeName([ATTRIBUTE]))] = [READERNAME].GetValue([COUNTERNAME]++);
|
||||
[end loop]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAttributesToEntityState([BASECLASS], [COUNTERNAME], [ENTITYSTATENAME], [READERNAME])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL parancsot helyőrzőkkel, ami felhozza az //
|
||||
// adatbázisból egy entitás összes attribútumát. //
|
||||
// //
|
||||
// VALÓSZÍNŰLEG MÁR ELAVULT, ÉS NEM HASZNÁLT! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesCommand(MClass as ENTITY)
|
||||
select
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].ID,
|
||||
[GenerateLoadAllAttributesCommandColumns([ENTITY])]
|
||||
[GenerateSerialColumn([ENTITY])]
|
||||
from
|
||||
[GenerateLoadAllAttributesCommandTables([ENTITY])]
|
||||
{0}
|
||||
where
|
||||
[GenerateLoadAllAttributesCommandWhere([ENTITY])]
|
||||
{1}
|
||||
end template
|
||||
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja a SERIAL rendszeroszlop minősített nevét //
|
||||
//***************************************************************************//
|
||||
template GenerateSerialColumn(MClass as ENTITY)
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateSerialColumn([BASECLASS])][break]
|
||||
[end loop]
|
||||
[else]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].SERIAL
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL töredéket, ami egy entitás összes attribútumát //
|
||||
// tartalmazza. (a rendszerattribútumokat nem generálja le!) //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesCommandColumns(MClass as ENTITY)
|
||||
[loop (ENTITY -> MAttribute as ATTRIBUTE)]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].[ConvertNameToSQLColumnName([ATTRIBUTE.name])],
|
||||
[end loop]
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAttributesCommandColumns([BASECLASS])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL töredéket, ami egy entitás lekérdezéséhez //
|
||||
// felsorolja annak tábláit. (join-ok nélkül!) //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesCommandTables(MClass as ENTITY)
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAttributesCommandTablesCore([BASECLASS])]
|
||||
[end loop]
|
||||
[end if]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL töredéket, ami egy entitás lekérdezéséhez //
|
||||
// felsorolja annak tábláit. (join-ok nélkül!) //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesCommandTablesCore(MClass as ENTITY)
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
[GenerateLoadAllAttributesCommandTablesCore([BASECLASS])]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])],[break]
|
||||
[end loop]
|
||||
[else]
|
||||
[ConvertNameToSQLTableName([ENTITY.name])],
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL töredéket, ami egy entitás tábláit összekapcsolja. //
|
||||
// //
|
||||
// REKURZÍV! //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesCommandWhere(MClass as ENTITY)
|
||||
[if (IsMasterEntity([ENTITY]) == "false")]
|
||||
([ConvertNameToSQLTableName(GetBaseClassName([ENTITY], "qqq"))].ID = [ConvertNameToSQLTableName([ENTITY.name])].ID)
|
||||
[if (GetBaseBaseClassName([ENTITY], "") != "")]
|
||||
[loop (ENTITY -> SuperClass as BASECLASS)]
|
||||
and
|
||||
[GenerateLoadAllAttributesCommandWhere([BASECLASS])][break]
|
||||
[end loop]
|
||||
[end if]
|
||||
[end if]
|
||||
end template
|
|
@ -0,0 +1,31 @@
|
|||
//***************************************************************************//
|
||||
// Legenerálja azt a ciklusmagot, amely egy DataReader-ből kiszippantja //
|
||||
// az entitás összes attribútumát és entitás típusú asszociációjának az //
|
||||
// azonosítóját. //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesAndEntityAssociationsIDToEntityState(MClass as ENTITY, COUNTERNAME, ENTITYSTATENAME, READERNAME)
|
||||
[GenerateLoadAllAttributesToEntityState([ENTITY], [COUNTERNAME], [ENTITYSTATENAME], [READERNAME])]
|
||||
[GenerateLoadAllEntityAssociationsIDToEntityState([ENTITY], [COUNTERNAME], [ENTITYSTATENAME], [READERNAME])]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja azt az SQL parancsot, ami lekérdez egy entitás alaphalmazás. //
|
||||
//***************************************************************************//
|
||||
template GenerateLoadAllAttributesAndEntityAssociationsIDCommand(MClass as ENTITY)
|
||||
select
|
||||
[ConvertNameToSQLTableName([ENTITY.name])].ID,
|
||||
[GenerateLoadAllAttributesCommandColumns([ENTITY])]
|
||||
[GenerateLoadAllAssociationIDCommandColumns([ENTITY])]
|
||||
[GenerateSerialColumn([ENTITY])]
|
||||
from
|
||||
[GenerateLoadAllAttributesCommandTables([ENTITY])]
|
||||
[GenerateLoadAllAssociationIDCommandJoin([ENTITY])]
|
||||
where
|
||||
[if (IsMasterEntity([ENTITY]) == "true")]
|
||||
([ConvertNameToSQLTableName([ENTITY.name])].SERIAL >= 0)
|
||||
[else]
|
||||
[GenerateLoadAllAttributesCommandWhere([ENTITY])]
|
||||
[end if]
|
||||
and (rownum < 1000)
|
||||
end template
|
Loading…
Add table
Add a link
Reference in a new issue