Esempio n. 1
0
 public virtual Net.Vpc.Upa.Properties GetClientParameters()
 {
     if (clientParameters == null)
     {
         clientParameters = new Net.Vpc.Upa.Impl.DefaultProperties();
     }
     return(clientParameters);
 }
Esempio n. 2
0
        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());
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
 public virtual void SetProperties(Net.Vpc.Upa.Properties properties)
 {
     this.properties = properties;
 }
Esempio n. 7
0
 public virtual void SetAll(Net.Vpc.Upa.Properties other, params string [] keys)
 {
     SetAll(other.ToMap(), keys);
 }
Esempio n. 8
0
 protected internal virtual string ReplaceVars(string v, Net.Vpc.Upa.Properties parameters)
 {
     return(v);
 }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
 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;
         }
     }
 }
Esempio n. 11
0
 public virtual void SetParent(Net.Vpc.Upa.Properties parent)
 {
     this.parent = parent;
 }
Esempio n. 12
0
 public DefaultProperties(Net.Vpc.Upa.Properties parent)
 {
     propertyChangeSupport = new Net.Vpc.Upa.PropertyChangeSupport(this);
     this.parent           = parent;
 }
Esempio n. 13
0
 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())));
 }
Esempio n. 14
0
 public virtual void SetProperties(Net.Vpc.Upa.Properties properties)
 {
     dataType.SetProperties(properties);
 }