souzaricardode / infra Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/infra
Automatically exported from code.google.com/p/infra
Diagramas
Original issue reported on code.google.com by marcelofernandes.mga
on 9 Jan 2009 at 8:59
Podemos montar instruções sql mais dinâmicas algo como por exemplo:
"Select campo1, campo2 from #Macro1 where ..."
Hoje a classe que faz parse de parametros já está pronta para isto, mas a
carga não.
Uma macro é como um parâmetro qualquer, logo pode-se usar a propriedade
SQLCommand.Params definir o valor a ser substituido.
Durante o PersistenceEngine.Load/Execute, antes de o passar o sql para o
Statement podemos fazer a macro-substituição.
Original issue reported on code.google.com by marcelofernandes.mga
on 9 Jan 2009 at 9:03
Vide Java.
Original issue reported on code.google.com by marcelofernandes.mga
on 9 Jan 2009 at 9:00
Converter o parse de parametros atual para usar expressao regulares
Possíveis Expressoes regulares para achar os parametros:
Remover: (\/\*(.*)\*\/|--(.*)|##\w+|#:\w+|:#\w+|::\w+)
Obter para FParams: \#\w+
Obter para FMacroParams: \:\w+
Original issue reported on code.google.com by marcelofernandes.mga
on 9 Jan 2009 at 9:26
What steps will reproduce the problem?
1.
2.
3.
What is the expected output? What do you see instead?
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 24 Mar 2007 at 5:05
Descrição detalhada do requisito:
Idéias com solução(ões) para o requisito acima:
Original issue reported on code.google.com by [email protected]
on 7 Jan 2009 at 3:22
O arquivo poderia ser um .ini, .xml, .conf ou outro qualquer q houvesse
suporte para tal
Original issue reported on code.google.com by marcelofernandes.mga
on 9 Jan 2009 at 9:29
Gerar diagramas de Uml
Original issue reported on code.google.com by marcelofernandes.mga
on 8 Jan 2009 at 2:08
Descrição detalhada do requisito:
Idéias com solução(ões) para o requisito acima:
Original issue reported on code.google.com by marcelofernandes.mga
on 8 Jan 2009 at 1:59
Isso pode ser feito baseado em anotações;
Podemos verificar se a class tem uma determina anotacao presente sendo e
gerar as sql baseada nas anotacao da classe
Caso encontre esta anotacao utiliza-se o TemplateReader específico de
anotações que vai gerar a sql dinamicamente.
Caso contrário pode ir ao configuration ver se tem um outro
TemplateReader a ser utilizado.
Original issue reported on code.google.com by marcelofernandes.mga
on 8 Jan 2009 at 2:06
Criar compartibilidade com o freepascal.
Original issue reported on code.google.com by marcelofernandes.mga
on 8 Jan 2009 at 2:05
O PersistenceEngine está com muita responsabilidade. Podemos criar uma
classe chamado: TObjectLoader, TObjectFiller, TEntityLoader ou outro;
Este objeto seria responsável por preencher os atributos do objeto a
partir de um resultset passado para o mesmo.
para ficar Dividir o persistence engine para que o preenchimento do
objeto fique separada da carga
Isso vai melhorar a qualidade facilitar dos testes unitários tambem.
Original issue reported on code.google.com by marcelofernandes.mga
on 9 Jan 2009 at 9:15
Boa tarde pessoal, gostaria de saber se tem alguma versão estável para
download.
Muito obrigado.
Original issue reported on code.google.com by [email protected]
on 13 May 2010 at 8:37
EInfraError,
EPersistenceError
EPersistenceTemplateError
EPersistenceConnectionProviderError
EPersistenceTemplatePersistenceEngineError
Somente classes base deveria ter Infra como prefixo ou o nome das units
principais.
Original issue reported on code.google.com by marcelofernandes.mga
on 9 Jan 2009 at 9:22
Existe no TypeService um método chamado AddRelation, que registra a
relação entre duas classes, a cardinalidade e os typeinfo do destino, seja
este destino uma classe ou uma lista.
Pela cardinalidade podemos determinar o tipo de relação 1-1, 1-n, n-1
Com isso a reflexão nos proporciona os requisitos necessário para que
durante a carga dos atributos dos objetos verificarmos se suporta
infraobject ou infralist e então efetuar a carga.
Por padrão a carga será OnDemand (lazy) e podemos usar AOP para isso,
podemos criar um aspecto que intercepte o método getter do atributo (o
objeto ou a lista), isso quer dizer que quando o método for executado o
aspecto será disparado e então fazemos a carga lazy do mesmo.
Uma anotação pode ser criada para determinar se a carga será direta,
então quando acontecer a carga do objeto a carga estiver tudo que estiver
anotado com isso será carregado na hora;
Quando o atributo for carregado devemos remover a interceptação
(jointpoint) do método para que a carga nao acontece na proxima vez que
acessarmos o mesmo atributo.
Geração de SQL apenas com o q foi alterado
Original issue reported on code.google.com by marcelofernandes.mga
on 9 Jan 2009 at 9:02
O ConnectionProvider deve servir como um Pool de conexões;
E deve ser Thread-Safe, eu criei um pool deste tipo para o DynamicTier
(outro framework de minha autoria).
Ele usa semáforos e foi baseado nos artigos de Cary Jensen:
http://dn.codegear.com/article/29908
http://dn.codegear.com/article/30027
Podemos usar até os artigos dele para extrair a documentação necessária
para nosso ConnectionProvider.
Minha implementação está amarrada ao DBExpress mas pode ser facilmente
convertida para o ZEOS.
Pela característica do Pool, talvez ele devesse estar em uma unit separada.
Original issue reported on code.google.com by marcelofernandes.mga
on 9 Jan 2009 at 9:19
Hoje está testado com Delphi7;
Original issue reported on code.google.com by marcelofernandes.mga
on 8 Jan 2009 at 2:03
Adicionar no AddType da reflexão o tipo de lista para a classe que está
sendo registrada, por padrao nil ou nullguid;
Isso vai evitar na maioria dos cassos ter de passar o tipo de lista para
o Session.Load.
Original issue reported on code.google.com by marcelofernandes.mga
on 8 Jan 2009 at 2:09
Assim os templates não será preciso ficar sendo carregados de arquivo a
cada load.
Ao carregar um objeto pela primeira vez, um objeto de cache seria criado
e preenchido inicialmente com a SQL, Tipos de Lista e de classe;
Ver a necessidade e possibilidade de um garbage para este cache;
Original issue reported on code.google.com by marcelofernandes.mga
on 8 Jan 2009 at 2:18
Descrição detalhada do requisito:
Com este serializador poderemos ler e gravar objetos remotos flex;
Existe uma especificação clara deste formato no site da adobe;
Original issue reported on code.google.com by marcelofernandes.mga
on 8 Jan 2009 at 1:56
testeeeeeeeeeeee
Original issue reported on code.google.com by marcelofernandes.mga
on 31 Dec 2008 at 5:01
Podemos usar os componentes synapse, ics, indy ou outras tecnologias como
datasnap, rembojects, etc...;
O foco principal deve ser nos primeiros por serem opensource e já dar ter
suporte para freepascal;
Original issue reported on code.google.com by marcelofernandes.mga
on 8 Jan 2009 at 1:58
Descrição detalhada do requisito:
Idéias com solução(ões) para o requisito acima:
Eu estou tentando dá uma olhadinha nesse framework a níveis acadêmicos e
não estou conseguindo rodar por faltar os arquivos da pasta GUIGenerator.
Obrigado antecipadamente!
Original issue reported on code.google.com by [email protected]
on 25 Jun 2010 at 5:37
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.