Commit c2e3528d authored by Isaac Pereira's avatar Isaac Pereira

Commit inicial

Previamente controlado via CVS
parents
# Uncomment these types if you want even more clean repository. But be careful.
# It can make harm to an existing project source. Read explanations below.
#
# Resource files are binaries containing manifest, project icon and version info.
# They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files.
#*.res
#
# Type library file (binary). In old Delphi versions it should be stored.
# Since Delphi 2009 it is produced from .ridl file and can safely be ignored.
#*.tlb
#
# Diagram Portfolio file. Used by the diagram editor up to Delphi 7.
# Uncomment this if you are not using diagrams or use newer Delphi version.
#*.ddp
#
# Visual LiveBindings file. Added in Delphi XE2.
# Uncomment this if you are not using LiveBindings Designer.
#*.vlb
#
# Deployment Manager configuration file for your project. Added in Delphi XE2.
# Uncomment this if it is not mobile development and you do not use remote debug feature.
#*.deployproj
#
# Delphi compiler-generated binaries (safe to delete)
*.exe
*.dll
*.bpl
*.bpi
*.dcp
*.so
*.apk
*.drc
*.map
*.dres
*.rsm
*.tds
*.dcu
*.lib
*.dproj
*.bdsproj
*.bak
CVS/
# Delphi autogenerated files (duplicated info)
*.cfg
*Resource.rc
# Delphi local files (user-specific info)
*.local
*.identcache
*.projdata
*.tvsconfig
*.dsk
# Delphi history and backups
__history/
*.~*
# Castalia statistics file
*.stat
Copyright (C) Evológica 2017
staruml-evologica-plugin
<?xml version="1.0" encoding="UTF-8"?>
<ADDINMENU addInID="StarUML.ConexoAddIn">
<HEADER>
<NAME>Conexo Add-In</NAME>
<VERSION>1.0</VERSION>
<DESCRIPTION>Add-in responsavel por gerar RelationsAll e RegisterMapping.</DESCRIPTION>
<COMPANY>Conexo</COMPANY>
<COPYRIGHT>Copyright (C) 2008 Conexo Software, Inc. All rights reserved.</COPYRIGHT>
</HEADER>
<BODY>
<MAINMENU>
<MAINITEM index="6" base="NEW_TOP" caption="Evológica" beginGroup="TRUE">
<MAINITEM caption="Generate RegisterModelMappings" actionId="1" />
<MAINITEM caption="Code Generator" actionId="6" beginGroup="TRUE"/>
<MAINITEM caption="Quick OQL" actionId="18" beginGroup="TRUE"/>
<MAINITEM caption="OQL Studio" actionId="19" />
<MAINITEM caption="Element documentation" actionId="12" beginGroup="TRUE"/>
<MAINITEM caption="Convert ALL XSDs to Usecase XSD" actionId="14" beginGroup="TRUE"/>
</MAINITEM>
<MAINITEM index="7" base="NEW_TOP" caption="Model" beginGroup="TRUE" availableWhen="MODEL_SELECTED">
<MAINITEM caption="Associations" beginGroup="TRUE">
<MAINITEM caption="Association code preview..." actionId="2" />
</MAINITEM>
<MAINITEM caption="Classes" beginGroup="TRUE">
<MAINITEM caption="Insert class..." actionId="9" />
<MAINITEM caption="Edit selected class..." actionId="10"/>
<MAINITEM caption="Class code preview..." actionId="2" beginGroup="TRUE" />
</MAINITEM>
<!-- <MAINITEM caption="Transitions" >
<MAINITEM caption="XSD Editor..." actionId="7" />
</MAINITEM>-->
<MAINITEM caption="Usecases" beginGroup="TRUE">
<MAINITEM caption="Insert usecase..." actionId="8" />
<MAINITEM caption="Edit selected usecase..." actionId="11"/>
<MAINITEM caption="XSDs Editor..." actionId="13" beginGroup="TRUE" />
</MAINITEM>
</MAINITEM>
</MAINMENU>
<POPUPMENU>
<POPUPITEM caption="Evológica" beginGroup="TRUE">
<POPUPITEM caption="Generate RegisterModelMappings" actionId="1" />
<POPUPITEM caption="Code Generator" actionId="6" beginGroup="TRUE"/>
<POPUPITEM caption="OQL Executor" actionId="4" beginGroup="TRUE"/>
<POPUPITEM caption="OQL Manager" actionId="5" />
<POPUPITEM caption="Element documentation..." actionId="12" beginGroup="TRUE"/>
</POPUPITEM>
<POPUPITEM caption="Associations" >
<POPUPITEM caption="Association code preview..." actionId="2" />
</POPUPITEM>
<POPUPITEM caption="Classes" >
<POPUPITEM caption="Class code preview..." actionId="2" />
<POPUPITEM caption="Insert class..." actionId="9" beginGroup="TRUE" />
<POPUPITEM caption="Edit selected class..." actionId="10"/>
</POPUPITEM>
<!-- <POPUPITEM caption="Transitions" >
<POPUPITEM caption="XSD Editor..." actionId="7" />
</POPUPITEM>-->
<POPUPITEM caption="Usecases" >
<POPUPITEM caption="Insert usecase..." actionId="8" />
<POPUPITEM caption="Edit selected usecase..." actionId="11"/>
<POPUPITEM caption="XSDs Editor..." actionId="13" beginGroup="TRUE" />
</POPUPITEM>
</POPUPMENU>
</BODY>
</ADDINMENU>
<?xml version="1.0" encoding="UTF-8" ?>
<OPTIONSCHEMA id="StarUML.Conexo">
<HEADER>
<CAPTION>Conexo</CAPTION>
<DESCRIPTION>Conexo options</DESCRIPTION>
</HEADER>
<BODY>
<OPTIONCATEGORY>
<CAPTION>General</CAPTION>
<DESCRIPTION>General options</DESCRIPTION>
<OPTIONCLASSIFICATION>
<CAPTION>General</CAPTION>
<DESCRIPTION/>
<OPTIONITEM-FILENAME key="EXTERNAL_XSD_EDITOR">
<CAPTION>External XSD Editor</CAPTION>
<DESCRIPTION>External XSD Editor.</DESCRIPTION>
</OPTIONITEM-FILENAME>
</OPTIONCLASSIFICATION>
</OPTIONCATEGORY>
<!--
<OPTIONCATEGORY>
<CAPTION>ModelMappings Generation</CAPTION>
<DESCRIPTION>Contains options for generating ModelMappings.</DESCRIPTION>
<OPTIONCLASSIFICATION>
<CAPTION>General</CAPTION>
<DESCRIPTION/>
<OPTIONITEM-BOOLEAN key="MODELMAPPINGS_ASK_FOR_OUTPUT_DIRECTORY">
<CAPTION>Ask for output directory</CAPTION>
<DESCRIPTION>If checked, the user must indicate an output directory before generation. The option "Output directory" and "Output file name" will be ignored.</DESCRIPTION>
<DEFAULTVALUE>True</DEFAULTVALUE>
</OPTIONITEM-BOOLEAN>
<OPTIONITEM-PATHNAME key="MODELMAPPINGS_OUTPUT_DIRECTORY">
<CAPTION>Output directory</CAPTION>
<DESCRIPTION>Define the directory where the ModelMappings will be saved.</DESCRIPTION>
<DEFAULTVALUE></DEFAULTVALUE>
</OPTIONITEM-PATHNAME>
<OPTIONITEM-STRING key="MODELMAPPINGS_FILENAME">
<CAPTION>Output file name</CAPTION>
<DESCRIPTION>Define the ModelMappings's file name.</DESCRIPTION>
<DEFAULTVALUE>acuRegisterModelMappings.pas</DEFAULTVALUE>
</OPTIONITEM-STRING>
</OPTIONCLASSIFICATION>
</OPTIONCATEGORY>
<OPTIONCATEGORY>
<CAPTION>Database connection</CAPTION>
<DESCRIPTION>OQL Database connection parameters .</DESCRIPTION>
<OPTIONCLASSIFICATION>
<CAPTION>General</CAPTION>
<DESCRIPTION/>
<OPTIONITEM-STRING key="DBCONNECTION_DATABASE_SERVER">
<CAPTION>Database Server</CAPTION>
<DESCRIPTION></DESCRIPTION>
<DEFAULTVALUE></DEFAULTVALUE>
</OPTIONITEM-STRING>
<OPTIONITEM-STRING key="DBCONNECTION_DATABASE_NAME">
<CAPTION>Database Name</CAPTION>
<DESCRIPTION></DESCRIPTION>
<DEFAULTVALUE></DEFAULTVALUE>
</OPTIONITEM-STRING>
<OPTIONITEM-BOOLEAN key="DBCONNECTION_WINDOWS_AUTHENTICATION">
<CAPTION>Use Windows Authentication</CAPTION>
<DESCRIPTION>If checked, it will use the user account authenticated by windows. The parameters Login Name and Password will be ignored.</DESCRIPTION>
<DEFAULTVALUE>True</DEFAULTVALUE>
</OPTIONITEM-BOOLEAN>
<OPTIONITEM-STRING key="DBCONNECTION_LOGIN_NAME">
<CAPTION>Login Name</CAPTION>
<DESCRIPTION></DESCRIPTION>
<DEFAULTVALUE></DEFAULTVALUE>
</OPTIONITEM-STRING>
<OPTIONITEM-STRING key="DBCONNECTION_DATABASE_PASSWORD">
<CAPTION>Password</CAPTION>
<DESCRIPTION></DESCRIPTION>
<DEFAULTVALUE></DEFAULTVALUE>
</OPTIONITEM-STRING>
</OPTIONCLASSIFICATION>
</OPTIONCATEGORY>
-->
</BODY>
</OPTIONSCHEMA>
<?xml version="1.0" encoding="UTF-8"?>
<ADDIN>
<NAME>Conexo AddIn</NAME>
<DISPLAYNAME>Conexo AddIn</DISPLAYNAME>
<COMOBJ>DelphiAddIn.DelphiAddInObj</COMOBJ>
<FILENAME>DelphiAddIn.dll</FILENAME>
<COMPANY>Conexo, Inc.</COMPANY>
<COPYRIGHT>Copyright 2008 Conexo Software, Inc. All rights reserved.</COPYRIGHT>
<ICONFILE>Conexo.ico</ICONFILE>
<ISACTIVE>True</ISACTIVE>
<MENUFILE>Conexo.mnu</MENUFILE>
<VERSION>1.0</VERSION>
</ADDIN>
<?xml version="1.0" encoding="UTF-8" ?>
<APPROACH version="1.0">
<HEADER>
<NAME>Default</NAME>
<DISPLAYNAME>Conexo Approach</DISPLAYNAME>
<DESCRIPTION>Conexo Apporach for StarUML</DESCRIPTION>
</HEADER>
<BODY>
<IMPORTPROFILES>
<PROFILE>DBMappings</PROFILE>
<PROFILE>UserDisplayNames</PROFILE>
</IMPORTPROFILES>
<MODELSTRUCTURE>
<MODEL name="AppModel">
<IMPORTFRAMEWORK name="Conexo"/>
<MODEL name="ProjectModel">
<DIAGRAM type="Class" name="Main" defaultDiagram="True"/>
</MODEL>
</MODEL>
</MODELSTRUCTURE>
</BODY>
</APPROACH>
<?xml version="1.0" encoding="UTF-8" ?>
<FRAMEWORK version="1.0">
<HEADER>
<NAME>Conexo</NAME>
<DISPLAYNAME>Conexo Framework</DISPLAYNAME>
<DESCRIPTION>Conexo Framework</DESCRIPTION>
</HEADER>
<BODY>
<FRAMEWORKMODELS>
<UNIT>FrameworkModel.unt</UNIT>
</FRAMEWORKMODELS>
</BODY>
</FRAMEWORK>
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8" ?>
<PROFILE version="1.0">
<HEADER>
<NAME>Conexo</NAME>
<DISPLAYNAME>Conexo Profile</DISPLAYNAME>
<DESCRIPTION>Conexo Profile</DESCRIPTION>
<AUTOINCLUDE>True</AUTOINCLUDE>
</HEADER>
<BODY>
<TAGDEFINITIONSETLIST>
</TAGDEFINITIONSETLIST>
</BODY>
</PROFILE>
<?xml version="1.0" encoding="UTF-8" ?>
<PROFILE version="1.0">
<HEADER>
<NAME>DBMappings</NAME>
<DISPLAYNAME>DBMappings</DISPLAYNAME>
<DESCRIPTION>Conexo Profile</DESCRIPTION>
<AUTOINCLUDE>True</AUTOINCLUDE>
</HEADER>
<BODY>
<STEREOTYPELIST>
<STEREOTYPE>
<NAME>Transient</NAME>
<DESCRIPTION>Identifica se atributo e unicamente de negocio (TRANSIENT).</DESCRIPTION>
<BASECLASSES>
<BASECLASS>UMLAttribute</BASECLASS>
</BASECLASSES>
</STEREOTYPE>
<STEREOTYPE>
<NAME>Persistent</NAME>
<DESCRIPTION>Identifica se atributo representa mapeamento de BD (PERSISTENT).</DESCRIPTION>
<BASECLASSES>
<BASECLASS>UMLAttribute</BASECLASS>
</BASECLASSES>
</STEREOTYPE>
<STEREOTYPE>
<NAME>Derived</NAME>
<DESCRIPTION>Identifica se atributo e campo derivado (DERIVED).</DESCRIPTION>
<BASECLASSES>
<BASECLASS>UMLAttribute</BASECLASS>
</BASECLASSES>
</STEREOTYPE>
</STEREOTYPELIST>
<TAGDEFINITIONSETLIST>
<TAGDEFINITIONSET>
<NAME>DBClassMap</NAME>
<BASECLASSES>
<BASECLASS>UMLClass</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>Table</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>DBIDO</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>Cod</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>Type</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>AuditDescription</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>IDX</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
<TAGDEFINITIONSET>
<NAME>DBAttributeMap</NAME>
<BASECLASSES>
<BASECLASS>UMLAttribute</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>Name</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>Type</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>FSize</NAME>
<TAGTYPE>Integer</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>VSize</NAME>
<TAGTYPE>Integer</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>Mand</NAME>
<TAGTYPE>Boolean</TAGTYPE>
<DEFAULTDATAVALUE>False</DEFAULTDATAVALUE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>IsAuditable</NAME>
<TAGTYPE>Boolean</TAGTYPE>
<DEFAULTDATAVALUE>False</DEFAULTDATAVALUE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
<TAGDEFINITIONSET>
<NAME>DBAssociationMap</NAME>
<BASECLASSES>
<BASECLASS>UMLAssociation</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>Ind</NAME>
<TAGTYPE>Boolean</TAGTYPE>
<DEFAULTDATAVALUE>False</DEFAULTDATAVALUE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>FKA</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>FKB</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>ATbName</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>IsAuditable</NAME>
<TAGTYPE>Boolean</TAGTYPE>
<DEFAULTDATAVALUE>False</DEFAULTDATAVALUE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
<TAGDEFINITIONSET>
<NAME>DBOperationMap</NAME>
<BASECLASSES>
<BASECLASS>UMLOperation</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>IsPolymorphic</NAME>
<TAGTYPE>Boolean</TAGTYPE>
<DEFAULTDATAVALUE>False</DEFAULTDATAVALUE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>Override</NAME>
<TAGTYPE>Boolean</TAGTYPE>
<DEFAULTDATAVALUE>False</DEFAULTDATAVALUE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
<TAGDEFINITIONSET>
<NAME>DBUseCaseMap</NAME>
<BASECLASSES>
<BASECLASS>UMLUseCase</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>Code</NAME>
<TAGTYPE>Integer</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>IsAuditable</NAME>
<TAGTYPE>Boolean</TAGTYPE>
<DEFAULTDATAVALUE>True</DEFAULTDATAVALUE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
<TAGDEFINITIONSET>
<NAME>DBSignalEventMap</NAME>
<BASECLASSES>
<BASECLASS>UMLSignalEvent</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>Code</NAME>
<TAGTYPE>Integer</TAGTYPE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
<TAGDEFINITIONSET>
<NAME>TransitionMap</NAME>
<BASECLASSES>
<BASECLASS>UMLTransition</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>XSD In</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>XSD Out</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>Operations Codes</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
<TAGDEFINITIONSET>
<NAME>UseCaseMap</NAME>
<BASECLASSES>
<BASECLASS>UMLUseCase</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>XSDs</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
<TAGDEFINITIONSET>
<NAME>ProjectMap</NAME>
<BASECLASSES>
<BASECLASS>UMLProject</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>SystemCode</NAME>
<TAGTYPE>Integer</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>PortNumber</NAME>
<TAGTYPE>Integer</TAGTYPE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
</TAGDEFINITIONSETLIST>
<DATATYPELIST>
<DATATYPE>
<NAME>acBlob</NAME>
</DATATYPE>
<DATATYPE>
<NAME>acDateTime</NAME>
</DATATYPE>
<DATATYPE>
<NAME>acString</NAME>
</DATATYPE>
<DATATYPE>
<NAME>acGraphic</NAME>
</DATATYPE>
<DATATYPE>
<NAME>acInt</NAME>
</DATATYPE>
<DATATYPE>
<NAME>acText</NAME>
</DATATYPE>
<DATATYPE>
<NAME>acFloat</NAME>
</DATATYPE>
<DATATYPE>
<NAME>acDouble</NAME>
</DATATYPE>
<DATATYPE>
<NAME>acBoolean</NAME>
</DATATYPE>
<DATATYPE>
<NAME>acReal</NAME>
</DATATYPE>
<DATATYPE>
<NAME>acCurrency</NAME>
</DATATYPE>
<DATATYPE>
<NAME>acXMLString</NAME>
</DATATYPE>
<DATATYPE>
<NAME>acXMLText</NAME>
</DATATYPE>
</DATATYPELIST>
</BODY>
</PROFILE>
<?xml version="1.0" encoding="UTF-8" ?>
<PROFILE version="1.0">
<HEADER>
<NAME>SecurityMappings</NAME>
<DISPLAYNAME>SecurityMappings</DISPLAYNAME>
<DESCRIPTION>Security Mappings</DESCRIPTION>
<AUTOINCLUDE>True</AUTOINCLUDE>
</HEADER>
<BODY>
<STEREOTYPELIST>
</STEREOTYPELIST>
<TAGDEFINITIONSETLIST>
<TAGDEFINITIONSET>
<NAME>TransitionSecurityMap</NAME>
<BASECLASSES>
<BASECLASS>UMLTransition</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>Operations</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
</TAGDEFINITIONSETLIST>
</BODY>
</PROFILE>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<PROFILE version="1.0">
<HEADER>
<NAME>UserDisplayNames</NAME>
<DISPLAYNAME>UserDisplayNames</DISPLAYNAME>
<DESCRIPTION>User display names</DESCRIPTION>
<AUTOINCLUDE>True</AUTOINCLUDE>
</HEADER>
<BODY>
<STEREOTYPELIST>
</STEREOTYPELIST>
<TAGDEFINITIONSETLIST>
<TAGDEFINITIONSET>
<NAME>ClassDisplayNames</NAME>
<BASECLASSES>
<BASECLASS>UMLClass</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>DN</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
<TAGDEFINITIONSET>
<NAME>AttributeDisplayNames</NAME>
<BASECLASSES>
<BASECLASS>UMLAttribute</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>DN</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
<TAGDEFINITIONSET>
<NAME>AssociationDisplayNames</NAME>
<BASECLASSES>
<BASECLASS>UMLAssociation</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
<TAGDEFINITION lock="False">
<NAME>DN</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>DNA</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>DNB</NAME>
<TAGTYPE>String</TAGTYPE>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
</TAGDEFINITIONSETLIST>
</BODY>
</PROFILE>
regsvr32 DelphiAddIn.dll
This diff is collapsed.
This diff is collapsed.
regsvr32 /u DelphiAddIn.dll
\ No newline at end of file
library DelphiAddIn;
{******************************************************************************}
{ }
{ StarUML - The Open Source UML/MDA Platform. }
{ }
{ Copyright (C) 2002-2005 - Plastic Software, Inc. }
{ }
{ }
{ This program is free software; you can redistribute it and/or modify it }
{ under the terms of the GNU General Public License as published by the Free }
{ Software Foundation; either version 2 of the License, or (at your option) }
{ any later version. }
{ }
{ This program is distributed in the hope that it will be useful, but WITHOUT }
{ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or }
{ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for }
{ more details. }
{ }
{ You should have received a copy of the GNU General Public License along with }
{ this program; if not, write to the Free Software Foundation, Inc., 51 }
{ Franklin St, Fifth Floor, Boston, MA 02110-1301 USA }
{ }
{ Linking StarUML statically or dynamically with other modules is making a }
{ combined work based on StarUML. Thus, the terms and conditions of the GNU }
{ General Public License cover the whole combination. }
{ }
{ In addition, as a special exception, Plastic Software give you permission to }
{ combine StarUML program with free software programs or libraries that are }
{ released under the GNU LGPL/Mozilla/Apache/BSD and with code included in the }
{ standard release of ExpressBar, ExpressNavBar, ExpressInspector, }
{ ExpressPageControl, ProGrammar, NextGrid under the commercial license (or }
{ modified versions of such code, with unchanged license). You may copy and }
{ distribute such a system following the terms of the GNU GPL for StarUML and }
{ the licenses of the other code concerned, provided that you include the }
{ source code of that other code when and as the GNU GPL requires distribution }
{ of source code. Plastic Software also give you permission to combine StarUML }
{ program with dynamically linking plug-in (or add-in) programs that are }
{ released under the GPL-incompatible and proprietary license. }
{ }
{ Note that people who make modified versions of StarUML are not obligated to }
{ grant this special exception for their modified versions; it is their choice }
{ whether to do so. The GNU General Public License gives permission to release }
{ a modified version without this exception; this exception also makes it }
{ possible to release a modified version which carries forward this exception. }
{******************************************************************************}
uses
acuSQLDialectManager,
acuSQLDialectOracle,
acuSQLDialectDB2,
acuSQLDialectSQLServer,
ComServ,
DelphiAddInObj in 'DelphiAddInObj.pas',
formMemo in 'formMemo.pas' {PreviewClassCode},
IntegracaoDelphiSUML in 'IntegracaoDelphiSUML.pas',
acuObjectExplorer {ObjectExplorer: TFrame},
ituExplorer in 'ituExplorer.pas' {Explorer},
ituDataBaseLogin in 'ituDataBaseLogin.pas' {DataBaseLogin},
utuMessage,
utuFactory,
acuObject,
utuStateMachine,
cxuSession,
ituCadastroBasicoV4,
utuLinkSock,
fCodeGen in 'fCodeGen.pas' {CodeGen},
uDBAttributeParameters in 'uDBAttributeParameters.pas' {fDBAttributeParameters},
NGUAuditEventData,
NGUAuditEvent,
fModelMappingsGenerationOptions in 'fModelMappingsGenerationOptions.pas' {ModelMappingsGenerationOptions},
StarUML_TLB in 'TLB\StarUML_TLB.pas',
InstantClasses in 'InstantCode\InstantClasses.pas',
InstantCode in 'InstantCode\InstantCode.pas',
InstantTextFiler in 'InstantCode\InstantTextFiler.pas',
fXSDEditor in 'fXSDEditor.pas' {XSDEdit},
acuQuerySQLADO,
acuRepositorySQL,
acuOQL,
ituOQLExplorer in 'ituOQLExplorer.pas' {OQLExplorer},
utuOQL in 'utuOQL.pas',
ituOQLParams in 'ituOQLParams.pas' {Form2},
utuMessageQueue,
utuFields,
utuLinksManager,
utuLink,
utuWinMessagesHook,
mxuCommCenter,
mxuInterfaceCommCenter,
ituInterfaceFactory,
utuField,
mxuConnectionClient,
acOQL,
cxuCadastroCasoDeUso in 'cxu\cxuCadastroCasoDeUso.pas',
cxuUseCase in '..\..\Framework\src\Client\cxuUseCase.pas',
uCadastroCasoDeUso in 'itu\uCadastroCasoDeUso.pas' {CadastroCasoDeUso},
uCadastroCasoDeUsoIcones in 'itu\uCadastroCasoDeUsoIcones.pas' {CadastroCasoDeUsoIcones},
DelphiAddIn_TLB in 'DelphiAddIn_TLB.pas',
cxuCadastroClasse in 'cxu\cxuCadastroClasse.pas',
uCadastroClasse in 'itu\uCadastroClasse.pas' {CadastroClasse},
ituServiceParameters in 'ituServiceParameters.pas' {itServiceParameters},
uRTFEditor in 'uRTFEditor.pas' {RTFEditor},
utuXSD in 'utuXSD.pas',
ituXSDExplorer in 'ituXSDExplorer.pas' {XSDExplorer},
blcksock,
synafpc,
synautil,
synacode,
synaip,
synsock,
MetamodelManager in 'MetamodelManager.pas',
ituExportUnits in 'ituExportUnits.pas' {ExportUnits},
ituExplorerV2 in 'ituExplorerV2.pas' {ExplorerV2},
ituOQLExplorerV2 in 'ituOQLExplorerV2.pas' {OQLExplorerV2},
Utility in 'Utility.pas',
Mostra_Processamento in 'itu\Mostra_Processamento.pas' {FMostra_Processamento};
exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer;
//{$R *.TLB}
{$R *.RES}
begin
end.
\ No newline at end of file
This diff is collapsed.
unit DelphiAddIn_TLB;
// ************************************************************************ //
// WARNING
// -------
// The types declared in this file were generated from data read from a
// Type Library. If this type library is explicitly or indirectly (via
// another type library referring to this type library) re-imported, or the
// 'Refresh' command of the Type Library Editor activated while editing the
// Type Library, the contents of this file will be regenerated and all
// manual modifications will be lost.
// ************************************************************************ //
// $Rev: 8291 $
// File generated on 25/08/2016 09:41:46 from Type Library described below.
// ************************************************************************ //
// Type Lib: C:\Users\sandrosantana\Documents\cvsroot\br1-0-7-8Portal\staruml\src\DelphiAddIn.tlb (1)
// LIBID: {D243EF96-A737-438A-9715-8689CDB2CF92}
// LCID: 0
// Helpfile:
// HelpString: XMIAddIn Library
// DepndLst:
// (1) v2.0 stdole, (C:\Windows\SysWOW64\stdole2.tlb)
// ************************************************************************ //
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
interface
uses Windows, ActiveX, Classes, Graphics, StdVCL, Variants;
// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:
// Type Libraries : LIBID_xxxx
// CoClasses : CLASS_xxxx
// DISPInterfaces : DIID_xxxx
// Non-DISP interfaces: IID_xxxx
// *********************************************************************//
const
// TypeLibrary Major and minor versions
DelphiAddInMajorVersion = 1;
DelphiAddInMinorVersion = 0;
LIBID_DelphiAddIn: TGUID = '{D243EF96-A737-438A-9715-8689CDB2CF92}';
implementation
uses ComObj;
end.
This diff is collapsed.
This diff is collapsed.
{$IFDEF VER130}
{$DEFINE MSWINDOWS}
{$DEFINE D5}
{$DEFINE D5+}
{$ENDIF}
{$IFDEF VER140}
{$DEFINE D5+}
{$DEFINE D6}
{$DEFINE D6+}
{$ENDIF}
{$IFDEF VER150}
{$DEFINE D5+}
{$DEFINE D6+}
{$DEFINE D7}
{$DEFINE D7+}
{$ENDIF}
{$IFDEF VER170}
{$DEFINE D5+}
{$DEFINE D6+}
{$DEFINE D7+}
{$DEFINE D9}
{$DEFINE D9+}
{$ENDIF}
{$IFDEF VER180}
{$DEFINE D5+}
{$DEFINE D6+}
{$DEFINE D7+}
{$DEFINE D9+}
{$DEFINE D10}
{$DEFINE D10+}
{$ENDIF}
{$IFDEF FPC}
{$DEFINE D5+}
{$DEFINE D6+}
{$DEFINE D7+}
{$DEFINE SUPPORTS_WIDESTRING}
{$DEFINE SUPPORTS_INTERFACE}
{$DEFINE SUPPORTS_INT64}
{$DEFINE SUPPORTS_DYNAMICARRAYS}
{$DEFINE SUPPORTS_DEFAULTPARAMS}
{$DEFINE SUPPORTS_OVERLOAD}
{$ASMMODE Intel}
{$MODE DELPHI}
{$UNDEF UseRegAsm}
{$ENDIF}
{$IFDEF D5}
{$A+}
{$ELSE}
{$A8}
{$ENDIF}
{$B-,C+,D+,E-,F-,G+,H+,I+,J-,K-,L+,M-,N+,O+,P+,Q-,R-,S-,T+,U-,V+,W-,X+,Y+,Z1}
{$MINSTACKSIZE $00004000}
{$MAXSTACKSIZE $00100000}
{$IMAGEBASE $00400000}
{$IFDEF D6+}
{$WARN SYMBOL_DEPRECATED ON}
{$WARN SYMBOL_LIBRARY ON}
{$WARN SYMBOL_PLATFORM ON}
{$WARN UNIT_LIBRARY ON}
{$WARN UNIT_PLATFORM ON}
{$WARN UNIT_DEPRECATED ON}
{$ENDIF}
{$IFDEF D7+}
{$WARN HRESULT_COMPAT ON}
{$WARN HIDING_MEMBER ON}
{$WARN HIDDEN_VIRTUAL ON}
{$WARN GARBAGE ON}
{$WARN BOUNDS_ERROR ON}
{$WARN ZERO_NIL_COMPAT ON}
{$WARN STRING_CONST_TRUNCED ON}
{$WARN FOR_LOOP_VAR_VARPAR ON}
{$WARN TYPED_CONST_VARPAR ON}
{$WARN ASG_TO_TYPED_CONST ON}
{$WARN CASE_LABEL_RANGE ON}
{$WARN FOR_VARIABLE ON}
{$WARN CONSTRUCTING_ABSTRACT ON}
{$WARN COMPARISON_FALSE ON}
{$WARN COMPARISON_TRUE ON}
{$WARN COMPARING_SIGNED_UNSIGNED ON}
{$WARN COMBINING_SIGNED_UNSIGNED ON}
{$WARN UNSUPPORTED_CONSTRUCT ON}
{$WARN FILE_OPEN ON}
{$WARN FILE_OPEN_UNITSRC ON}
{$WARN BAD_GLOBAL_SYMBOL ON}
{$WARN DUPLICATE_CTOR_DTOR ON}
{$WARN INVALID_DIRECTIVE ON}
{$WARN PACKAGE_NO_LINK ON}
{$WARN PACKAGED_THREADVAR ON}
{$WARN IMPLICIT_IMPORT ON}
{$WARN HPPEMIT_IGNORED ON}
{$WARN NO_RETVAL ON}
{$WARN USE_BEFORE_DEF ON}
{$WARN FOR_LOOP_VAR_UNDEF ON}
{$WARN UNIT_NAME_MISMATCH ON}
{$WARN NO_CFG_FILE_FOUND ON}
{$WARN MESSAGE_DIRECTIVE ON}
{$WARN IMPLICIT_VARIANTS ON}
{$WARN UNICODE_TO_LOCALE ON}
{$WARN LOCALE_TO_UNICODE ON}
{$WARN IMAGEBASE_MULTIPLE ON}
{$WARN SUSPICIOUS_TYPECAST ON}
{$WARN PRIVATE_PROPACCESSOR ON}
{$WARN UNSAFE_TYPE OFF}
{$WARN UNSAFE_CODE OFF}
{$WARN UNSAFE_CAST OFF}
{$ENDIF}
This diff is collapsed.
This diff is collapsed.
unit MetamodelManager;
interface
uses
InstantCode, StarUML_TLB, acuObject, acuframework, acuRepositorySQL, SysUtils,
Classes, DBTables, Mostra_Processamento, acuContainers, utuStateMachine, variants, OleServer;//, dbuDataModule;
const MODELO = '::AppModel';
const cBASE_PERSISTENT_OBJECT_CLASS = 'acPersistentObject';
const cBASE_PERSISTENT_OBJECT_CLASS_FULL_PATH = MODELO + '::FrameworkModel::acuFrameworkPackage::' + cBASE_PERSISTENT_OBJECT_CLASS;
type
TMetamodelManager = class(TObject)
private
fMetaModel: acMetaModel;
function IsGeneralization(piClass: IUMLClass; const Pathname: string): Boolean;
procedure UpdateClassElement(piClass: IUMLClass);
//procedure UpdateUseCaseElement(piUseCase: IUMLUseCase);
public
constructor Create;
procedure InitializeMetamodel;
procedure UpdateModel(piModel: IModel);
end;
function GetInstance: TMetamodelManager;
implementation
var Manager: TMetamodelManager;
function GetInstance: TMetamodelManager;
begin
if not Assigned(Manager) then
begin
Manager := TMetamodelManager.Create;
end;
Result := Manager;
end;
{ TMetamodelManager }
constructor TMetamodelManager.Create;
begin
end;
procedure TMetamodelManager.InitializeMetamodel;
begin
fMetaModel := acMetaModel.Create;
fMetaModel.DefaultMetaModelPersistenceMap := acMetaModelPersistenceMapSQL.Create(fMetaModel);
end;
function TMetamodelManager.IsGeneralization(piClass: IUMLClass; const Pathname: string): Boolean;
var
I: integer;
lClass: IUMLClass;
begin
Result := False;
for I := 0 to piClass.GetGeneralizationCount - 1 do
begin
lClass := piClass.GetGeneralizationAt(I).Parent as IUMLClass;
Result := SameText(lClass.Pathname, Pathname) or IsGeneralization(lClass, Pathname);
if Result
then Break;
end;
end;
procedure TMetamodelManager.UpdateClassElement(piClass: IUMLClass);
begin
end;
procedure TMetamodelManager.UpdateModel(piModel: IModel);
var
lClass: IUMLClass;
//lUseCase: IUMLUseCase;
begin
if piModel.QueryInterface(IUMLClass, lClass) = S_OK then
begin
if IsGeneralization(lClass, cBASE_PERSISTENT_OBJECT_CLASS_FULL_PATH)
then UpdateClassElement(lClass);
end;
end;
{procedure TMetamodelManager.UpdateUseCaseElement(piUseCase: IUMLUseCase);
begin
end; }
initialization
finalization
if Assigned(Manager) then Manager.Free;
end.
This diff is collapsed.
unit UseCaseController;
interface
uses ituVCLUIController, utuMessage, mxuConnectionClient, ituInterfaceFactory;
const
cGUIID_CadastroCasoDeUso = 2;
cUSECASEID_CadastroCasoDeUso = 441;
type
itMainInterface = class;
TUseCaseController = class
private
fServerName: string;
fPortNumber: integer;
fSystemCode: integer;
fUserName: string;
fPassword: string;
fConnectionClient: mxConnectionClient;
fMainInterface: itMainInterface;
public
Constructor Create(piServerName: string; piPortNumber, piSystemCode: integer; piUserName, piPassword: String);
Destructor Destroy; override;
procedure ExecuteUseCase(piGUIID, piUseCaseID: integer); overload;
procedure ExecuteUseCase(piGUIID, piUseCaseID, piObjectID: integer); overload;
end;
itMainInterface = class(itInterface)
private
fSessionID: integer;
public
procedure ProcessMessage(piMessage: mxMessage; poMessage: mxMessage; var poProcessed: boolean); override;
procedure OpenSession(piSystemCode: integer; piLogin, piPassword: string; piAuditContext: string);
procedure Initialize; override;
procedure Finalize; override;
procedure ExecuteUseCase(piGUIID, piUseCaseID: integer); overload;
procedure ExecuteUseCase(piGUIID, piUseCaseID, piObjectID: integer); overload;
end;
implementation
uses SysUtils;
{ itMainInterface }
procedure itMainInterface.Finalize;
begin
inherited;
end;
procedure itMainInterface.Initialize;
begin
inherited;
end;
procedure itMainInterface.OpenSession(piSystemCode: integer; piLogin, piPassword, piAuditContext: string);
var
lRequest: mxRequestMessage;
begin
lRequest := Self.NewRequest(RM_OPEN_SESSION);
lRequest.Fields.AddField('SYSTEM_CODE').AsInteger := piSystemCode;
lRequest.Fields.AddField('AUDIT_CONTEXT').AsString := piAuditContext;
lRequest.Fields.AddField('LOGIN').AsString := piLogin;
lRequest.Fields.AddField('PASSWORD').AsString := piPassword;
Self.PostMessage(lRequest);
end;
procedure itMainInterface.ProcessMessage(piMessage, poMessage: mxMessage; var poProcessed: boolean);
var lInterface: itInterface;
begin
case piMessage.Id of
AM_USECASE_RUNNING:
begin
if not piMessage.Fields.HasField('OBJECTID') then
lInterface := itInterface(self.Connection.CreateGUIController(piMessage.Fields['GUIID'].AsInteger,
piMessage.Fields['UCID'].AsInteger))
else
lInterface := itInterface(self.Connection.CreateGUIController(piMessage.Fields['GUIID'].AsInteger,
piMessage.Fields['UCID'].AsInteger,
piMessage.Fields['OBJECTID'].AsString));
lInterface.Initialize;
lInterface.Run;
poProcessed := True;
end;
AM_SESSION_OPENED:
begin
fSessionID := piMessage.Fields['UCID'].AsInteger;
poProcessed := True;
end;
end;
inherited;
end;
procedure itMainInterface.ExecuteUseCase(piGUIID, piUseCaseID: integer);
var lMessage: mxRequestMessage;
begin
lMessage := self.NewRequest(RM_EXE_USECASE);
lMessage.Fields.AddField('GUIID').AsInteger := piGUIID;
lMessage.Fields.AddField('USECASEID').AsInteger := piUseCaseID;
self.PostMessage(lMessage);
end;
procedure itMainInterface.ExecuteUseCase(piGUIID, piUseCaseID, piObjectID: integer);
var lMessage: mxRequestMessage;
begin
lMessage := self.NewRequest(RM_EXE_USECASE_WITH_PARAM);
lMessage.Fields.AddField('GUIID').AsInteger := piGUIID;
lMessage.Fields.AddField('USECASEID').AsInteger := piUseCaseID;
lMessage.Fields.AddField('OBJECTID').AsInteger := piObjectID;
self.PostMessage(lMessage);
end;
{ TUseCaseController }
constructor TUseCaseController.Create(piServerName: string; piPortNumber, piSystemCode: integer;
piUserName, piPassword: String);
var lConnString: string;
begin
fServerName := piServerName;
fPortNumber := piPortNumber;
fSystemCode := piSystemCode;
fUserName := piUserName;
fPassword := piPassword;
lConnString := 'ServerName=' + piServerName + ';' +
'PortNumber=' + inttostr(piPortNumber) + ';' +
'SystemCode=' + inttostr(piSystemCode) + ';' +
'UserName=' + piUserName + ';' +
'Password=' + piPassword + ';';
fConnectionClient := mxConnectionClient.Create;
fConnectionClient.Connect(lConnString);
// fConnectionClient.RunGUIController(0);
fMainInterface := itMainInterface(gInterfaceFactory.Instantiate(999999));
if not assigned(fMainInterface) then raise Exception.Create('Interface no implementada: 0');
fMainInterface.Connection := fConnectionClient;
fMainInterface.UseCaseAddress := 0;
fMainInterface.Initialize;
fMainInterface.Run;
fMainInterface.OpenSession(fSystemCode, fUserName, fPassword, '');
end;
destructor TUseCaseController.Destroy;
begin
fConnectionClient.Free;
inherited;
end;
procedure TUseCaseController.ExecuteUseCase(piGUIID, piUseCaseID: integer);
begin
fMainInterface.ExecuteUseCase(piGUIID, piUseCaseID);
end;
procedure TUseCaseController.ExecuteUseCase(piGUIID, piUseCaseID, piObjectID: integer);
begin
fMainInterface.ExecuteUseCase(piGUIID, piUseCaseID, piObjectID);
end;
initialization
gInterfaceFactory.RegisterClass(999999, itMainInterface);
end.
unit Utility;
{******************************************************************************}
{ }
{ StarUML - The Open Source UML/MDA Platform. }
{ }
{ Copyright (C) 2002-2005 - Plastic Software, Inc. }
{ }
{ }
{ This program is free software; you can redistribute it and/or modify it }
{ under the terms of the GNU General Public License as published by the Free }
{ Software Foundation; either version 2 of the License, or (at your option) }
{ any later version. }
{ }
{ This program is distributed in the hope that it will be useful, but WITHOUT }
{ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or }
{ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for }
{ more details. }
{ }
{ You should have received a copy of the GNU General Public License along with }
{ this program; if not, write to the Free Software Foundation, Inc., 51 }
{ Franklin St, Fifth Floor, Boston, MA 02110-1301 USA }
{ }
{ Linking StarUML statically or dynamically with other modules is making a }
{ combined work based on StarUML. Thus, the terms and conditions of the GNU }
{ General Public License cover the whole combination. }
{ }
{ In addition, as a special exception, Plastic Software give you permission to }
{ combine StarUML program with free software programs or libraries that are }
{ released under the GNU LGPL/Mozilla/Apache/BSD and with code included in the }
{ standard release of ExpressBar, ExpressNavBar, ExpressInspector, }
{ ExpressPageControl, ProGrammar, NextGrid under the commercial license (or }
{ modified versions of such code, with unchanged license). You may copy and }
{ distribute such a system following the terms of the GNU GPL for StarUML and }
{ the licenses of the other code concerned, provided that you include the }
{ source code of that other code when and as the GNU GPL requires distribution }
{ of source code. Plastic Software also give you permission to combine StarUML }
{ program with dynamically linking plug-in (or add-in) programs that are }
{ released under the GPL-incompatible and proprietary license. }
{ }
{ Note that people who make modified versions of StarUML are not obligated to }
{ grant this special exception for their modified versions; it is their choice }
{ whether to do so. The GNU General Public License gives permission to release }
{ a modified version without this exception; this exception also makes it }
{ possible to release a modified version which carries forward this exception. }
{******************************************************************************}
interface
uses
StarUML_TLB,
StdCtrls, Classes;
function GetDllDirectory: string;
type
// PStringWriter
PStringWriter = class
private
Buffer: TStringList;
OnCurLine: Boolean;
FTabToSpace: Boolean;
FSpaceCnt: Integer;
FIndentationCount: Integer;
FHeader: string;
FFooter: string;
function GetIntentationStr: string;
public
constructor Create;
destructor Destroy; override;
procedure Indent(Count: Integer); overload;
procedure Outdent(Count: Integer); overload;
procedure Indent; overload;
procedure Outdent; overload;
procedure Clear;
procedure WriteLine(const S: string); overload;
procedure WriteLine(const FormatStr: string; const Args: array of const); overload;
procedure WriteLine; overload;
procedure Write(const S: string); overload;
procedure Write(const FormatStr: string; const Args: array of const); overload;
procedure Append(Writer: PStringWriter);
procedure SaveToFile(FileName: string; DirectoryCreation: Boolean = True);
function AsString(): String;
property IndentationCount: Integer read FIndentationCount write FIndentationCount;
property TabToSpace: Boolean read FTabToSpace write FTabToSpace ;
property SpaceCnt: Integer read FSpaceCnt write FSpaceCnt;
property Header: string read FHeader write FHeader;
property Footer: string read FFooter write FFooter;
end;
implementation
uses
Symbols,
Windows, SysUtils,Forms;
////////////////////////////////////////////////////////////////////////////////
// PStringWriter
constructor PStringWriter.Create;
begin
inherited;
Buffer := TStringList.Create;
FSpaceCnt := 4;
FIndentationCount := 0;
end;
destructor PStringWriter.Destroy;
begin
Buffer.Free;
Buffer := nil;
inherited;
end;
procedure PStringWriter.Indent(Count: Integer);
begin
FIndentationCount := FIndentationCount + Count;
if FIndentationCount < 0 then
FIndentationCount := 0;
end;
procedure PStringWriter.Outdent(Count: Integer);
begin
FIndentationCount := FIndentationCount - Count;
if FIndentationCount < 0 then
FIndentationCount := 0;
end;
procedure PStringWriter.Indent;
begin
Indent(1);
end;
procedure PStringWriter.Outdent;
begin
Outdent(1);
end;
function PStringWriter.AsString: String;
begin
Result := Buffer.Text;
end;
procedure PStringWriter.Clear;
begin
Buffer.Clear;
OnCurLine := False;
FSpaceCnt := 4;
FIndentationCount := 0;
end;
procedure PStringWriter.WriteLine(const S: string);
begin
if OnCurLine then
Buffer[Buffer.Count - 1] := Buffer[Buffer.Count - 1] + S
else
Buffer.Add(GetIntentationStr + S);
OnCurLine := False;
end;
function PStringWriter.GetIntentationStr: string;
begin
if FTabToSpace then
Result := StringOfChar(#32, FSpaceCnt * FIndentationCount)
else
Result := StringOfChar(#9, FIndentationCount);
end;
procedure PStringWriter.WriteLine(const FormatStr: string; const Args: array of const);
var
S : string;
begin
S := TrimLeft(Format(FormatStr, Args));
while S <> StringReplace(S, ' ', ' ', [rfReplaceAll]) do
S := StringReplace(S, ' ', ' ', [rfReplaceAll]);
WriteLine(S);
end;
procedure PStringWriter.WriteLine;
begin
WriteLine('');
end;
procedure PStringWriter.Write(const S: string);
begin
if not OnCurLine then
Buffer.Add(GetIntentationStr + S)
else begin
Buffer[Buffer.Count - 1] := Buffer[Buffer.Count - 1] + S;
end;
OnCurLine := True;
end;
procedure PStringWriter.Write(const FormatStr: string; const Args: array of const);
var
S : string;
begin
S := TrimLeft(Format(FormatStr, Args));
while S <> StringReplace(S, ' ', ' ', [rfReplaceAll]) do
S := StringReplace(S, ' ', ' ', [rfReplaceAll]);
Write(S);
end;
procedure PStringWriter.Append(Writer: PStringWriter);
var
I: Integer;
begin
for I := 0 to Writer.Buffer.Count - 1 do
WriteLine(Writer.Buffer[I]);
end;
procedure PStringWriter.SaveToFile(FileName: string; DirectoryCreation: Boolean = True);
var
Dir: string;
begin
Dir := ExtractFilePath(FileName);
if DirectoryCreation and not DirectoryExists(Dir) then
if not ForceDirectories(Dir) then
raise Exception.Create('Directory Create Error');
Buffer.SaveToFile(FileName);
end;
// PStringWriter
////////////////////////////////////////////////////////////////////////////////
function GetDllDirectory: string;
var
ModuleName : array[0..1023] of char;
Path: string;
begin
FillChar(ModuleName, Sizeof(ModuleName), #10);
GetModuleFileName(HInstance, ModuleName, Sizeof(ModuleName));
Path := ExtractFileDir(ModuleName);
Result := Path;
end;
end.
unit cxuCadastroCasoDeUso;
interface
uses cxuUseCase, utuMessage;
type
cxCadatroCasoDeUso = class(cxUseCase)
private
protected
function GetUseCaseCode: String; override;
public
procedure rmObtemContexto(piField: utField; const piResponseField: utField = nil);
procedure rmIncluiObjeto(piField: utField; const piResponseField: utField = nil);
procedure rmExcluiObjeto(piField: utField; const piResponseField: utField = nil);
procedure rmEditaObjeto(piField: utField; const piResponseField: utField = nil);
procedure rmSalvaObjeto(piField: utField; const piResponseField: utField = nil);
procedure rmConsultaObjeto(piField: utField; const piResponseField: utField = nil);
end;
implementation
{ cxCadatroCasoDeUso }
procedure cxCadatroCasoDeUso.rmObtemContexto(piField: utField; const piResponseField: utField);
var lRequestMessage: mxRequestMessage;
lResponseMessage: mxAnswerMessage;
begin
lRequestMessage := self.NewRequest('RM_OBTEM_CONTEXTO', piField);
try
lResponseMessage := self.Session.SendRequest(lRequestMessage);
try
if assigned(piResponseField) then piResponseField.Assign(lResponseMessage.RootField);
finally
lResponseMessage.free;
end;
finally
lRequestMessage.Free;
end;
end;
procedure cxCadatroCasoDeUso.rmSalvaObjeto(piField: utField; const piResponseField: utField);
var lRequestMessage: mxRequestMessage;
lResponseMessage: mxAnswerMessage;
begin
lRequestMessage := self.NewRequest('RM_SALVA_OBJETO', piField);
try
lResponseMessage := self.Session.SendRequest(lRequestMessage);
try
if assigned(piResponseField) then piResponseField.Assign(lResponseMessage.RootField);
finally
lResponseMessage.free;
end;
finally
lRequestMessage.Free;
end;
end;
procedure cxCadatroCasoDeUso.rmExcluiObjeto(piField: utField; const piResponseField: utField);
var lRequestMessage: mxRequestMessage;
lResponseMessage: mxAnswerMessage;
begin
lRequestMessage := self.NewRequest('RM_EXCLUI_OBJETO', piField);
try
lResponseMessage := self.Session.SendRequest(lRequestMessage);
try
if assigned(piResponseField) then piResponseField.Assign(lResponseMessage.RootField);
finally
lResponseMessage.free;
end;
finally
lRequestMessage.Free;
end;
end;
procedure cxCadatroCasoDeUso.rmIncluiObjeto(piField: utField; const piResponseField: utField);
var lRequestMessage: mxRequestMessage;
lResponseMessage: mxAnswerMessage;
begin
lRequestMessage := self.NewRequest('RM_INCLUI_OBJETO', piField);
try
lResponseMessage := self.Session.SendRequest(lRequestMessage);
try
if assigned(piResponseField) then piResponseField.Assign(lResponseMessage.RootField);
finally
lResponseMessage.free;
end;
finally
lRequestMessage.Free;
end;
end;
procedure cxCadatroCasoDeUso.rmConsultaObjeto(piField: utField; const piResponseField: utField);
var lRequestMessage: mxRequestMessage;
lResponseMessage: mxAnswerMessage;
begin
lRequestMessage := self.NewRequest('RM_CONSULTA_OBJETO', piField);
try
lResponseMessage := self.Session.SendRequest(lRequestMessage);
try
if assigned(piResponseField) then piResponseField.Assign(lResponseMessage.RootField);
finally
lResponseMessage.free;
end;
finally
lRequestMessage.Free;
end;
end;
procedure cxCadatroCasoDeUso.rmEditaObjeto(piField: utField; const piResponseField: utField);
var lRequestMessage: mxRequestMessage;
lResponseMessage: mxAnswerMessage;
begin
lRequestMessage := self.NewRequest('RM_EDITA_OBJETO', piField);
try
lResponseMessage := self.Session.SendRequest(lRequestMessage);
try
if assigned(piResponseField) then piResponseField.Assign(lResponseMessage.RootField);
finally
lResponseMessage.free;
end;
finally
lRequestMessage.Free;
end;
end;
function cxCadatroCasoDeUso.GetUseCaseCode: String;
begin
result := '441';
end;
end.
unit cxuCadastroClasse;
interface
uses cxuUseCase, utuMessage;
type
cxCadastroClasse = class(cxUseCase)
protected
function GetUseCaseCode: String; override;
public
procedure rmObtemContexto(piField: utField; const piResponseField: utField = nil);
procedure rmIncluiObjeto(piField: utField; const piResponseField: utField = nil);
procedure rmExcluiObjeto(piField: utField; const piResponseField: utField = nil);
procedure rmEditaObjeto(piField: utField; const piResponseField: utField = nil);
procedure rmSalvaObjeto(piField: utField; const piResponseField: utField = nil);
procedure rmConsultaObjeto(piField: utField; const piResponseField: utField = nil);
end;
implementation
{ cxCadastroClasse }
procedure cxCadastroClasse.rmObtemContexto(piField: utField; const piResponseField: utField);
var lRequestMessage: mxRequestMessage;
lResponseMessage: mxAnswerMessage;
begin
lRequestMessage := self.NewRequest('RM_OBTEM_CONTEXTO', piField);
try
lResponseMessage := self.Session.SendRequest(lRequestMessage);
try
if assigned(piResponseField) then piResponseField.Assign(lResponseMessage.RootField);
finally
lResponseMessage.free;
end;
finally
lRequestMessage.Free;
end;
end;
procedure cxCadastroClasse.rmSalvaObjeto(piField: utField; const piResponseField: utField);
var lRequestMessage: mxRequestMessage;
lResponseMessage: mxAnswerMessage;
begin
lRequestMessage := self.NewRequest('RM_SALVA_OBJETO', piField);
try
lResponseMessage := self.Session.SendRequest(lRequestMessage);
try
if assigned(piResponseField) then piResponseField.Assign(lResponseMessage.RootField);
finally
lResponseMessage.free;
end;
finally
lRequestMessage.Free;
end;
end;
procedure cxCadastroClasse.rmExcluiObjeto(piField: utField; const piResponseField: utField);
var lRequestMessage: mxRequestMessage;
lResponseMessage: mxAnswerMessage;
begin
lRequestMessage := self.NewRequest('RM_EXCLUI_OBJETO', piField);
try
lResponseMessage := self.Session.SendRequest(lRequestMessage);
try
if assigned(piResponseField) then piResponseField.Assign(lResponseMessage.RootField);
finally
lResponseMessage.free;
end;
finally
lRequestMessage.Free;
end;
end;
procedure cxCadastroClasse.rmIncluiObjeto(piField: utField; const piResponseField: utField);
var lRequestMessage: mxRequestMessage;
lResponseMessage: mxAnswerMessage;
begin
lRequestMessage := self.NewRequest('RM_INCLUI_OBJETO', piField);
try
lResponseMessage := self.Session.SendRequest(lRequestMessage);
try
if assigned(piResponseField) then piResponseField.Assign(lResponseMessage.RootField);
finally
lResponseMessage.free;
end;
finally
lRequestMessage.Free;
end;
end;
procedure cxCadastroClasse.rmConsultaObjeto(piField: utField; const piResponseField: utField);
var lRequestMessage: mxRequestMessage;
lResponseMessage: mxAnswerMessage;
begin
lRequestMessage := self.NewRequest('RM_CONSULTA_OBJETO', piField);
try
lResponseMessage := self.Session.SendRequest(lRequestMessage);
try
if assigned(piResponseField) then piResponseField.Assign(lResponseMessage.RootField);
finally
lResponseMessage.free;
end;
finally
lRequestMessage.Free;
end;
end;
procedure cxCadastroClasse.rmEditaObjeto(piField: utField; const piResponseField: utField);
var lRequestMessage: mxRequestMessage;
lResponseMessage: mxAnswerMessage;
begin
lRequestMessage := self.NewRequest('RM_EDITA_OBJETO', piField);
try
lResponseMessage := self.Session.SendRequest(lRequestMessage);
try
if assigned(piResponseField) then piResponseField.Assign(lResponseMessage.RootField);
finally
lResponseMessage.free;
end;
finally
lRequestMessage.Free;
end;
end;
function cxCadastroClasse.GetUseCaseCode: String;
begin
result := '1080';
end;
end.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
unit fModelMappingsGenerationOptions;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, JvExStdCtrls, JvCombobox, JvDriveCtrls, JvListBox, StarUML_TLB,
Buttons, Registry, IntegracaoDelphiSUML;
const cPROJECT_SAVE_OPTIONS_PATH = 'Software\StarUML\Options\' + cOPTIONSCHEMAID + '\Projects\';
type
TModelMappingsGenerationOptions = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
dlbDirectory: TJvDirectoryListBox;
dcbDrive: TJvDriveCombo;
Label1: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
GroupBox1: TGroupBox;
edtFileName: TEdit;
GroupBox2: TGroupBox;
ckbIgnoreXSD: TCheckBox;
lblFileExists: TLabel;
BitBtn3: TBitBtn;
SpeedButton1: TSpeedButton;
OpenDialog1: TOpenDialog;
ckbDefault: TCheckBox;
GroupBox3: TGroupBox;
rdObjectPascal: TRadioButton;
rdCSharp: TRadioButton;
rdJava: TRadioButton;
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure edtFileNameChange(Sender: TObject);
procedure dlbDirectoryClick(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
FStarUMLApp: IStarUMLApplication;
procedure SetStarUMLApp(const Value: IStarUMLApplication);
procedure CheckFile;
procedure GetParameters;
{ Private declarations }
public
{ Public declarations }
property StarUMLApp: IStarUMLApplication read FStarUMLApp write SetStarUMLApp;
end;
var
ModelMappingsGenerationOptions: TModelMappingsGenerationOptions;
implementation
{$R *.dfm}
{ TModelMappingsGenerationOptions }
procedure TModelMappingsGenerationOptions.BitBtn1Click(Sender: TObject);
var lReg: TRegistry;
begin
ModalResult := mrnone;
if edtFileName.Text = '' then
Application.MessageBox('Model mappings file name must be specified.', 'Attention', MB_ICONINFORMATION)
else
begin
if ckbDefault.Checked then
begin
lReg := TRegistry.Create;
try
lReg.RootKey := HKEY_CURRENT_USER;
lReg.OpenKey(cPROJECT_SAVE_OPTIONS_PATH + ExtractFileName(StarUMLApp.ProjectManager.FileName), true);
lReg.WriteString('MODELMAPPINGS_IGNORE_XSD_SCHEMA', BoolToStr(ckbIgnoreXSD.Checked, true));
lReg.WriteString('MODELMAPPINGS_OUTPUT_DIRECTORY', dlbDirectory.Directory);
lReg.WriteString('MODELMAPPINGS_FILENAME', edtFileName.Text);
if rdObjectPascal.Checked then
begin
lReg.WriteString('MODELMAPPINGS_TARGET_LANGUAGE', 'O');
end
else if rdCSharp.Checked then
begin
lReg.WriteString('MODELMAPPINGS_TARGET_LANGUAGE', 'C');
end
else
begin
lReg.WriteString('MODELMAPPINGS_TARGET_LANGUAGE', 'J');
end;
finally
lReg.free;
end;
end;
ModalResult := mrOk;
end;
end;
procedure TModelMappingsGenerationOptions.BitBtn3Click(Sender: TObject);
begin
GetParameters;
end;
procedure TModelMappingsGenerationOptions.CheckFile;
begin
lblFileExists.Visible := FileExists(IncludeTrailingPathDelimiter(dlbDirectory.Directory) + edtFileName.Text);
end;
procedure TModelMappingsGenerationOptions.dlbDirectoryClick(Sender: TObject);
begin
CheckFile;
end;
procedure TModelMappingsGenerationOptions.edtFileNameChange(Sender: TObject);
begin
CheckFile;
end;
procedure TModelMappingsGenerationOptions.FormDestroy(Sender: TObject);
begin
FStarUMLApp := nil;
end;
procedure TModelMappingsGenerationOptions.FormShow(Sender: TObject);
begin
GetParameters;
end;
procedure TModelMappingsGenerationOptions.GetParameters;
var lReg: TRegistry;
begin
lReg := TRegistry.Create;
try
lReg.RootKey := HKEY_CURRENT_USER;
lReg.OpenKey(cPROJECT_SAVE_OPTIONS_PATH + ExtractFileName(StarUMLApp.ProjectManager.FileName), true);
ckbIgnoreXSD.Checked := StrToBoolDef(lReg.ReadString('MODELMAPPINGS_IGNORE_XSD_SCHEMA'), false);
if lReg.ReadString('MODELMAPPINGS_OUTPUT_DIRECTORY') <> '' then
dlbDirectory.Directory := lReg.ReadString('MODELMAPPINGS_OUTPUT_DIRECTORY')
else
dlbDirectory.Directory := ExtractFilePath(StarUMLApp.ProjectManager.FileName);
if lReg.ReadString('MODELMAPPINGS_FILENAME') <> '' then
edtFileName.Text := lReg.ReadString('MODELMAPPINGS_FILENAME')
else
edtFileName.Text := 'acuRegisterModelMappings.pas';
if lReg.ReadString('MODELMAPPINGS_TARGET_LANGUAGE') <> '' then
begin
if lReg.ReadString('MODELMAPPINGS_TARGET_LANGUAGE') = 'O' then
rdObjectPascal.Checked := True
else if lReg.ReadString('MODELMAPPINGS_TARGET_LANGUAGE') = 'C' then
rdCSharp.Checked := True
else
rdJava.Checked := True;
end
else
rdObjectPascal.Checked := True;
finally
lReg.free;
end;
CheckFile;
end;
procedure TModelMappingsGenerationOptions.SetStarUMLApp(
const Value: IStarUMLApplication);
begin
FStarUMLApp := Value;
end;
procedure TModelMappingsGenerationOptions.SpeedButton1Click(Sender: TObject);
begin
OpenDialog1.InitialDir := dlbDirectory.Directory;
if OpenDialog1.Execute then
begin
dlbDirectory.Directory := ExtractFilePath(OpenDialog1.FileName);
edtFileName.Text := ExtractFileName(OpenDialog1.FileName);
CheckFile;
end;
end;
end.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
object FMostra_Processamento: TFMostra_Processamento
Left = 220
Top = 220
BorderStyle = bsDialog
ClientHeight = 65
ClientWidth = 548
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = True
Position = poScreenCenter
PixelsPerInch = 96
TextHeight = 13
object pnlMensagem: TPanel
Left = 0
Top = 38
Width = 548
Height = 27
Align = alBottom
BevelInner = bvLowered
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
TabOrder = 0
ExplicitTop = 54
end
object Panel2: TPanel
Left = 0
Top = 0
Width = 548
Height = 38
Align = alClient
BevelInner = bvLowered
TabOrder = 1
ExplicitHeight = 68
object pgbBarraDeProgresso: TProgressBar
Left = 9
Top = 10
Width = 533
Height = 18
Smooth = True
TabOrder = 0
end
end
end
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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