Systems to remove object relational mappings from a software project
AssigneeLevel Communications, LLC
InventorJohn C. Madison
Life of this patent
Estimating the term…
Abstract
Systems and methods for automatically replacing an ORM code in an object-oriented source code with static and parameterized SQL statements. A source codebase, written in an object-oriented programming language is analyzed to find any ORM interactions. The ORM interactions are executed to obtain SQL statements, which are integrated into a new source code to replace the ORM interactions.
Claims19
A method for removing a programming abstraction layer from a code, the method comprising:
- receiving, from a repository, a first source code comprising an abstraction code over a relational database;
- identifying, by a processor, a portion of the abstraction code interacting with an object-relational mapping (ORM) code;
- executing, utilizing the processor, the portion of the abstraction code to generate an abstracted instruction for accessing the relational database;
- intercepting, by the processor, the abstracted instruction during transmission of the abstracted instruction from the executed portion of the abstraction code to the relational database;
- generating, by the processor, a second source code using the intercepted abstracted instruction, wherein the second source code is independent of the portion of the abstraction code, and wherein the second source code is used for accessing the relational database without interacting with the ORM code;
- and
- removing, by the processor, the identified portion of the abstraction code interacting with the ORM code.
A system for removing a programming abstraction layer from a code, the system comprising:
- a processor;
- and
- a memory storing instructions, the instructions comprising:
- receiving, from a repository, a first source code comprising an abstraction code over a relational database;
- identifying a portion of the abstraction code interacting with an object-relational mapping (ORM) code;
- executing the portion of the abstraction code to generate an abstracted instruction for accessing the relational database;
- intercepting the abstracted instruction during transmission of the abstracted instruction from the executed portion of the abstraction code to the relational database;
- generating a second source code using the intercepted abstracted instruction, wherein the second source code is independent of the portion of the abstraction code, and wherein the second source code is used for accessing-the relational database without interacting with the ORM code;
- transmitting the second source code to the repository:
- and
- removing the identified portion of the abstraction code interacting with the ORM code.
A non-transitory computer-readable medium storing a computer program that, when executed on a computer system configured to receive and transmit source code, causes the computer system to perform instructions for removing a programming abstraction layer over a relational database, the instructions comprising:
- receiving a first source code from a repository, the first source code comprising an abstraction code over a relational database;
- identifying a portion of the abstraction code interacting with an object-relational mapping (ORM) code;
- executing the portion of the abstraction code to generate an abstracted instruction for accessing the relational database, the abstracted instruction comprising a SQL statement;
- intercepting the abstracted instruction during transmission of the abstracted instruction from the executed portion of the abstraction code to the relational database;
- generating a second source code using the intercepted abstracted instruction, wherein the second source code is independent of the portion of the abstraction code, and wherein the second source code is used for accessing-the relational database without interacting with the ORM code;
- transmitting the second source code to the repository;
- and
- removing the identified portion of the abstraction code interacting with the ORM code.
Dependencies are inferred from the claim text.