US2022129331A1PendingUtilityA1

Adaptable Data Source Connection Strings

Assignee: NOBLE SYSTEMS CORPPriority: Jun 11, 2019Filed: Jan 7, 2022Published: Apr 28, 2022
Est. expiryJun 11, 2039(~12.9 yrs left)· nominal 20-yr term from priority
Inventors:Michael Goodwin
G06F 9/541G06F 16/22
66
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Various embodiments of the invention provide methods, systems, and computer-program products for converting a connection string configured to use a first API to connect to a data source of a data source type to using a second, different API to connect to the data source. The data source type is identified as being associated with the string and the string is parsed and stored in a keyvalue dictionary. An object is instantiated for a subclass designed for the data source type. This subclass inherits from a base class that includes an abstract version of a method defined for the second API and the subclass includes a non-abstract version of this method. A string is generated by calling the method associated with the object, causing the non-abstract version to be executed, which uses the dictionary to generate the string configured to use the second API to connect to the data source.

Claims

exact text as granted — not AI-modified
1 . A method comprising:
 instantiating an object for a derived subclass associated with a first data source type, the derived subclass comprising a non-abstract version of a method defined for a second application programming interface (API), and inheriting from a base class comprising an abstract version of the method defined for the second API; and   generating a second connection string, based on at least a portion of a connection information found in a first connection string configured to use a first API, by calling the method defined for the second API.   
     
     
         2 . The method of  claim 1 ,
 wherein the non-abstract version of the method is executed in response to calling the method defined for the second API, and   wherein the non-abstract version of the method is configured to use the at least a portion of the connection information, found in the first connection string configured to use the first API, to generate the second connection string.   
     
     
         3 . The method of  claim 2 ,
 wherein the connection information found in the first connection string is stored in a memory, and   wherein the memory comprises a key-value dictionary and the connection information comprises one or more attributes and corresponding values that are stored as key-value pairs in the key-value dictionary.   
     
     
         4 . The method of  claim 3 , wherein the non-abstract version of the method uses the portion of the connection information to generate the second connection string by:
 matching a key portion of a key-value pair stored in the key-value dictionary with an attribute registered by the first data source type and used by the second API to connect to data sources of the first data source type, and   including the attribute registered by the first data source type along with a value portion of the key-value pair stored in the key-value dictionary in the second connection string.   
     
     
         5 . The method of  claim 3  further comprising:
 setting a corresponding value for a particular key-value pair identifying a data source to a new data source of the first data source type; and 
 generating a third connection string by calling the method associated with a second object, 
 wherein the non-abstract version of the method in the derived subclass is executed in response to calling the method and the non-abstract version of the method is configured to use at least a portion of the connection information stored in a key-value dictionary that includes the particular key-value pair with the corresponding value set to the new data source to generate the third connection string configured to use the second API to connect to the new data source of the first data source type. 
 
     
     
         6 . The method of  claim 3  further comprising:
 converting the object for the derived subclass designed for the first data source type to a second object specific to the first data source type; 
 setting a corresponding value for a particular attribute registered by the first data source type and used by the second API to connect to data sources of the first data source type; and 
 generating a third connection string by calling the method associated with the second object, 
 wherein the non-abstract version of the method in the derived subclass is executed in response to calling the method and the non-abstract version of the method is configured to use at least a portion of the connection information stored in the memory along with the particular attribute and corresponding value to generate the third connection string configured to use the second API to connect to a data source of the first data source type. 
 
     
     
         7 . The method of  claim 3 ,
 wherein the base class comprises an abstract version of a second method defined for a third API that is different from the first and second APIs,   wherein the derived subclass designed for the first data source type comprises a non-abstract version of the second method defined for the third API,   wherein the method further comprises generating a third connection string configured to use the third API to connect to a data source of the first data source type by calling the second method associated with the object,   wherein the non-abstract version of the second method in the derived subclass is executed in response to calling the second method, and   wherein the non-abstract version of the second method is configured to use at least a portion of the connection information stored in the memory to generate the third connection string configured to use the third API to connect to a data source of the first data source type.   
     
     
         8 . The method of  claim 3  further comprising:
 instantiating a second object for a second derived subclass designed for a second data source type, the second derived subclass inheriting from the base class and comprising a second non-abstract version of the method defined for the second API; and 
 generating a third connection string by calling the method associated with the second object, 
 wherein the second non-abstract version of the method in the second derived subclass is executed in response to calling the method, and 
 wherein the second non-abstract version of the method is configured to use at least a portion of the connection information stored in the memory to generate the third connection string configured to use the second API to connect to a data source of the second data source type. 
 
     
     
         9 . A non-transitory computer-readable medium comprising instructions that, when executed by at least one computer processor, cause the at least one computer processor to:
 instantiate an object for a derived subclass associated with a first data source type, the derived subclass comprising a non-abstract version of a method defined for a second application programming interface (API), and inheriting from a base class comprising an abstract version of the method defined for the second API; and   generating a second connection string, based on at least a portion of a connection information found in a first connection string configured to use a first API, by calling the method defined for the second API.   
     
     
         10 . The non-transitory computer-readable medium of  claim 9 ,
 wherein the non-abstract version of the method is executed in response to calling the method defined for the second API, and   wherein the non-abstract version of the method is configured to use the at least a portion of the connection information, found in the first connection string configured to use the first API, to generate the second connection string.   
     
     
         11 . The non-transitory computer-readable medium of  claim 10 ,
 wherein the connection information found in the first connection string is stored in a memory, and   wherein the memory comprises a key-value dictionary and the connection information comprises one or more attributes and corresponding values that are stored as key-value pairs in the key-value dictionary.   
     
     
         12 . The non-transitory computer-readable medium of  claim 11 , wherein the non-abstract version of the method uses the portion of the connection information to generate the second connection string by:
 matching a key portion of a key-value pair stored in the key-value dictionary with an attribute registered by the first data source type and used by the second API to connect to data sources of the first data source type, and   including the attribute registered by the first data source type along with a value portion of the key-value pair stored in the key-value dictionary in the second connection string.   
     
     
         13 . The non-transitory computer-readable medium of  claim 11 , wherein the instructions are configured to cause the at least one computer processor to:
 set a corresponding value for a particular key-value pair identifying a data source to a new data source of the first data source type; and   generate a third connection string by calling the method associated with a second object,   wherein the non-abstract version of the method in the derived subclass is executed in response to calling the method and the non-abstract version of the method is configured to use at least a portion of the connection information stored in a key-value dictionary that includes the particular key-value pair with the corresponding value set to the new data source to generate the third connection string configured to use the second API to connect to the new data source of the first data source type.   
     
     
         14 . The non-transitory computer-readable medium of  claim 11 , wherein the instructions are configured to cause the at least one computer processor to:
 convert the object for the derived subclass designed for the first data source type to a second object specific to the first data source type;   set a corresponding value for a particular attribute registered by the first data source type and used by the second API to connect to data sources of the first data source type; and   generate a third connection string by calling the method associated with the second object,   wherein the non-abstract version of the method in the derived subclass is executed in response to calling the method and the non-abstract version of the method is configured to use at least the portion of the connection information stored in the memory along with the particular attribute and corresponding value to generate the third connection string configured to use the second API to connect to a data source of the first data source type.   
     
     
         15 . A system comprising:
 at least one computer processor configured to:
 instantiate an object for a derived subclass associated with a first data source type, the derived subclass comprising a non-abstract version of a method defined for a second application programming interface (API), and inheriting from a base class comprising an abstract version of the method defined for the second API; and 
 generate a second connection string, based on at least a portion of a connection information found in a first connection string configured to use a first API, by calling the method defined for the second API. 
   
     
     
         16 . The system of  claim 15 ,
 wherein the non-abstract version of the method is executed in response to calling the method defined for the second API, and   wherein the non-abstract version of the method is configured to use the at least a portion of the connection information, found in the first connection string configured to use the first API, to generate the second connection string.   
     
     
         17 . The system of  claim 16 ,
 wherein the connection information found in the first connection string is stored in a memory, and   wherein the memory comprises a key-value dictionary and the connection information comprises one or more attributes and corresponding values that are stored as key-value pairs in the key-value dictionary.   
     
     
         18 . The system of  claim 17 , wherein the non-abstract version of the method uses the portion of the connection information to generate the second connection string by:
 matching a key portion of a key-value pair stored in the key-value dictionary with an attribute registered by the first data source type and used by the second API to connect to data sources of the first data source type, and   including the attribute registered by the first data source type along with a value portion of the key-value pair stored in the key-value dictionary in the second connection string.   
     
     
         19 . The system of  claim 17 ,
 wherein the base class comprises an abstract version of a second method defined for a third API that is different from the first and second APIs,   wherein the derived subclass designed for the first data source type comprises a non-abstract version of the second method defined for the third API,   wherein the at least one computer processor is further configured to generate a third connection string configured to use the third API to connect to a data source of the first data source type by calling the second method associated with the object,   wherein the non-abstract version of the second method in the derived subclass is executed in response to calling the second method, and   wherein the non-abstract version of the second method is configured to use at least a portion of the connection information stored in the memory to generate the third connection string configured to use the third API to connect to a data source of the first data source type.   
     
     
         20 . The system of  claim 17 , wherein the at least one computer processor is further configured to:
 instantiate a second object for a second derived subclass designed for a second data source type, the second derived subclass inheriting from the base class and comprising a second non-abstract version of the method defined for the second API; and   generate a third connection string by calling the method associated with the second object,   wherein a second non-abstract version of the method in the second derived subclass is executed in response to calling the method, and   wherein the second non-abstract version of the method is configured to use at least a portion of the connection information stored in the memory to generate the third connection string configured to use the second API to connect to a data source of the second data source type.

Join the waitlist — get patent alerts

Track US2022129331A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.