public virtual Net.Vpc.Upa.Properties GetClientParameters() { if (clientParameters == null) { clientParameters = new Net.Vpc.Upa.Impl.DefaultProperties(); } return(clientParameters); }
private string GetParamValue(string confPrefix, string name, Net.Vpc.Upa.Properties parameters) { string v = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <string, string>(modelMap, name); if (Net.Vpc.Upa.Impl.Util.StringUtils.IsNullOrEmpty(v)) { v = parameters.GetString(confPrefix + name); } if (!Net.Vpc.Upa.Impl.Util.StringUtils.IsNullOrEmpty(v)) { return(v); } return(null); }
public virtual Net.Vpc.Upa.TransactionManager CreateTransactionManager(Net.Vpc.Upa.Persistence.ConnectionProfile connectionProfile, Net.Vpc.Upa.ObjectFactory factory, Net.Vpc.Upa.Properties parameters) { // ConnectionDriver connectionDriver = connectionProfile.getConnectionDriver(); // if(connectionDriver==ConnectionDriver.datasource){ // throw new UPAException("Not yet supported"); // } return(new Net.Vpc.Upa.Impl.Transaction.DefaultTransactionManager()); }
protected internal virtual string ValidatePersistenceName(string persistenceName, Net.Vpc.Upa.Persistence.PersistenceNameType defaultType, string absoluteName, Net.Vpc.Upa.Impl.Persistence.UPAObjectAndSpec e, System.Collections.Generic.IList <Net.Vpc.Upa.Persistence.PersistenceNameType> types) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { // String varName = "*"; string confPrefix = ""; //UPA.CONNECTION_STRING+"."; string persistenceNamePattern = null; Net.Vpc.Upa.Properties parameters = GetPersistenceUnit().GetProperties(); if (absoluteName != null) { persistenceNamePattern = GetParamValue(confPrefix, defaultType, absoluteName, parameters); } if (persistenceNamePattern == null) { foreach (Net.Vpc.Upa.Persistence.PersistenceNameType t in types) { persistenceNamePattern = GetParamValue(confPrefix, t, absoluteName, parameters); if (persistenceNamePattern != null) { break; } } } bool noPatternDefined = true; if (persistenceNamePattern == null) { persistenceNamePattern = GetParamValue(confPrefix, "PERSISTENCE_NAME", parameters); } if (persistenceNamePattern != null) { persistenceNamePattern = persistenceNamePattern.Trim(); if ((persistenceNamePattern).Length > 0) { noPatternDefined = false; persistenceName = ReplacePersistenceName(persistenceNamePattern, persistenceName); } } if (defaultType.IsGlobal()) { persistenceNamePattern = GetParamValue(confPrefix, "GLOBAL_PERSISTENCE_NAME", parameters); } else { persistenceNamePattern = GetParamValue(confPrefix, "LOCAL_PERSISTENCE_NAME", parameters); } if (persistenceNamePattern != null) { persistenceNamePattern = persistenceNamePattern.Trim(); if ((persistenceNamePattern).Length > 0) { noPatternDefined = false; persistenceName = ReplacePersistenceName(persistenceNamePattern, persistenceName); } } if (noPatternDefined) { //use default pattern... persistenceName = ReplacePersistenceName("*", persistenceName); } if (GetPersistenceStore().IsReservedKeyword(persistenceName)) { if (escapedNamePattern == null) { escapedNamePattern = GetParamValue(confPrefix, "PERSISTENCE_NAME_ESCAPE", parameters); if (escapedNamePattern == null) { escapedNamePattern = ""; } escapedNamePattern = escapedNamePattern.Trim(); if ((escapedNamePattern).Length > 0) { if (!escapedNamePattern.Contains("*")) { escapedNamePattern = escapedNamePattern + "*"; } } } if ((escapedNamePattern).Length > 0) { persistenceName = ReplacePersistenceName(escapedNamePattern, persistenceName); } } return(persistenceName); }
private string GetParamValue(string confPrefix, Net.Vpc.Upa.Persistence.PersistenceNameType type, string name, Net.Vpc.Upa.Properties parameters) { string v = GetParamValue(confPrefix, type.Name() + ":" + name, parameters); if (v == null) { v = GetParamValue(confPrefix, type.Name(), parameters); } return(v); }
public virtual void SetProperties(Net.Vpc.Upa.Properties properties) { this.properties = properties; }
public virtual void SetAll(Net.Vpc.Upa.Properties other, params string [] keys) { SetAll(other.ToMap(), keys); }
protected internal virtual string ReplaceVars(string v, Net.Vpc.Upa.Properties parameters) { return(v); }
public virtual Net.Vpc.Upa.Persistence.ConnectionProfile Parse(Net.Vpc.Upa.Properties parameters, string connectionStringPropertyName) { string connectionString = parameters.GetString(connectionStringPropertyName); // System.out.println(connectionString); if (connectionString == null) { throw new System.ArgumentException(connectionStringPropertyName + " not found in parameters"); } Net.Vpc.Upa.Impl.Persistence.Connection.DefaultConnectionProfileData matchFound = ParseDefaultConnectionProfileData(connectionString); if (matchFound != null) { // for (int i=0; i<=matcher.groupCount(); i++) { // String groupStr = matcher.group(i); // System.out.println("group "+i+" : <"+groupStr+">"); // } Net.Vpc.Upa.Impl.Persistence.Connection.DefaultConnectionProfile profile = new Net.Vpc.Upa.Impl.Persistence.Connection.DefaultConnectionProfile(); string databaseProductName = (string)parameters.Eval(matchFound.databaseProductName); string databaseProductVersion = (string)parameters.Eval(matchFound.databaseProductVersion); string connectionDriverName = (string)parameters.Eval(matchFound.connectionDriverName); string connectionDriverVersion = (string)parameters.Eval(matchFound.connectionDriverVersion); string server = (string)parameters.Eval(matchFound.server); string port = (string)parameters.Eval(matchFound.port); string pathAndName = (string)parameters.Eval(matchFound.pathAndName); string @params = (string)parameters.Eval(matchFound.paramsString); profile.SetProperties(new System.Collections.Generic.Dictionary <string, string>()); SetParam(profile, Net.Vpc.Upa.Persistence.ConnectionOption.DATABASE_PRODUCT, databaseProductName, parameters, connectionStringPropertyName); SetParam(profile, Net.Vpc.Upa.Persistence.ConnectionOption.DATABASE_PRODUCT_VERSION, databaseProductVersion, parameters, connectionStringPropertyName); SetParam(profile, Net.Vpc.Upa.Persistence.ConnectionOption.CONNECTION_DRIVER, connectionDriverName, parameters, connectionStringPropertyName); SetParam(profile, Net.Vpc.Upa.Persistence.ConnectionOption.CONNECTION_DRIVER_VERSION, connectionDriverVersion, parameters, connectionStringPropertyName); //pathAndName if (Net.Vpc.Upa.Impl.Util.StringUtils.IsNullOrEmpty(pathAndName)) { pathAndName = null; } pathAndName = ReplaceVars(pathAndName, parameters); if (pathAndName != null) { int i = pathAndName.LastIndexOf('/'); if (i >= 0) { SetParam(profile, Net.Vpc.Upa.Persistence.ConnectionOption.DATABASE_NAME, pathAndName.Substring(i + 1), parameters, connectionStringPropertyName); SetParam(profile, Net.Vpc.Upa.Persistence.ConnectionOption.DATABASE_PATH, pathAndName.Substring(0, i), parameters, connectionStringPropertyName); } else { SetParam(profile, Net.Vpc.Upa.Persistence.ConnectionOption.DATABASE_NAME, pathAndName, parameters, connectionStringPropertyName); } } SetParam(profile, Net.Vpc.Upa.Persistence.ConnectionOption.SERVER_ADDRESS, server, parameters, connectionStringPropertyName); SetParam(profile, Net.Vpc.Upa.Persistence.ConnectionOption.SERVER_PORT, port, parameters, connectionStringPropertyName); if (@params != null) { if ([email protected](";")) { @params = ";" + @params; } char[] chars = @params.ToCharArray(); int i = 0; while (i < chars.Length) { if (chars[i] != ';') { throw new System.ArgumentException("Expected ;"); } i++; int j = @params.IndexOf('=', i); if (j < 0) { SetParam(profile, @params.Substring(i), "", parameters, connectionStringPropertyName); i = chars.Length + 1; } else { string n = @params.Substring(i, j); i = j + 1; if (i < chars.Length) { if (chars[i] == '\"') { System.Text.StringBuilder v = new System.Text.StringBuilder(); int k = i + 1; while (k < chars.Length) { if (chars[k] == '\\') { k++; v.Append(chars[k]); } else if (chars[k] == '\"') { break; } else { v.Append(chars[k]); } k++; } SetParam(profile, n, v.ToString(), parameters, connectionStringPropertyName); i = k; } else if (chars[i] == '\'') { System.Text.StringBuilder v = new System.Text.StringBuilder(); int k = i + 1; while (k < chars.Length) { if (chars[k] == '\\') { k++; v.Append(chars[k]); } else if (chars[k] == '\'') { break; } else { v.Append(chars[k]); } k++; } SetParam(profile, n, v.ToString(), parameters, connectionStringPropertyName); i = k; } else { int e = @params.IndexOf(';', i); if (e < 0) { SetParam(profile, n, @params.Substring(i), parameters, connectionStringPropertyName); i = chars.Length + 1; } else { SetParam(profile, n, @params.Substring(i, e), parameters, connectionStringPropertyName); i = e - 1; } } } } i++; } } foreach (System.Collections.Generic.KeyValuePair <string, object> e in new System.Collections.Generic.HashSet <System.Collections.Generic.KeyValuePair <string, object> >(parameters.ToMap())) { string key = (e).Key; if (key.StartsWith(connectionStringPropertyName + ".")) { string k = key.Substring((connectionStringPropertyName).Length + 1); if (!IGNORED_OPTIONS_SET.Contains(k) && !profile.GetProperties().ContainsKey(k)) { profile.GetProperties()[k] = System.Convert.ToString((e).Value); } } } return(profile); } throw new System.ArgumentException("invalid connection string. Expected 'product:driver://info' Found : " + connectionString); }
protected internal virtual void SetParam(Net.Vpc.Upa.Impl.Persistence.Connection.DefaultConnectionProfile d, string propertyName, string propertyValue, Net.Vpc.Upa.Properties parameters, string connectionStringPropertyName) { if (propertyValue == null) { propertyValue = parameters.GetString(connectionStringPropertyName + "." + propertyName); } propertyValue = ReplaceVars(propertyValue, parameters); if (propertyValue != null) { if (Net.Vpc.Upa.Persistence.ConnectionOption.STRUCTURE.Equals(propertyName)) { d.SetStructureStrategy((Net.Vpc.Upa.Persistence.StructureStrategy)(System.Enum.Parse(typeof(Net.Vpc.Upa.Persistence.StructureStrategy), propertyValue.ToUpper()))); } else if (Net.Vpc.Upa.Persistence.ConnectionOption.CONNECTION_DRIVER.Equals(propertyName)) { d.SetConnectionDriver((propertyValue.ToUpper())); } else if (Net.Vpc.Upa.Persistence.ConnectionOption.CONNECTION_DRIVER_VERSION.Equals(propertyName)) { d.SetConnectionDriverVersion(propertyValue); } else if (Net.Vpc.Upa.Persistence.ConnectionOption.DATABASE_PRODUCT.Equals(propertyName)) { d.SetDatabaseProduct((Net.Vpc.Upa.Persistence.DatabaseProduct)(System.Enum.Parse(typeof(Net.Vpc.Upa.Persistence.DatabaseProduct), propertyValue.ToUpper()))); } else if (Net.Vpc.Upa.Persistence.ConnectionOption.DATABASE_PRODUCT_VERSION.Equals(propertyName)) { d.SetDatabaseProductVersion(propertyValue); } else { d.GetProperties()[propertyName] = propertyValue; } } }
public virtual void SetParent(Net.Vpc.Upa.Properties parent) { this.parent = parent; }
public DefaultProperties(Net.Vpc.Upa.Properties parent) { propertyChangeSupport = new Net.Vpc.Upa.PropertyChangeSupport(this); this.parent = parent; }
public virtual Net.Vpc.Upa.Persistence.PersistenceStore CreatePersistenceStore(Net.Vpc.Upa.Persistence.ConnectionProfile connectionProfile, Net.Vpc.Upa.ObjectFactory factory, Net.Vpc.Upa.Properties parameters) { return(factory.CreateObject <Net.Vpc.Upa.Persistence.PersistenceStore>(GetDialectPersistenceUnitManager(connectionProfile.GetDatabaseProduct()))); }
public virtual void SetProperties(Net.Vpc.Upa.Properties properties) { dataType.SetProperties(properties); }