Exemplo n.º 1
0
        public static bool CheckSpacesForList(LexRecord lexRecord, int contentType)

        {
            bool validFlag = true;


            List <string> inList = LexRecordUtil.GetListFromLexRecord(lexRecord, contentType);

            for (int i = 0; i < inList.Count; i++)

            {
                string inItem    = (string)inList[i];
                string newInItem = StringTrim(inItem);
                if (!newInItem.Equals(inItem))

                {
                    validFlag = false;
                    ErrMsgUtilLexRecord.AddContentErrMsg(contentType, 7, inItem, lexRecord);


                    LexRecordUtil.SetItemInListInLexRecordAt(lexRecord, contentType, newInItem, i);
                }
            }

            return(validFlag);
        }
Exemplo n.º 2
0
        public static void AddContentErrMsg(int contentType, int errType, string curItem, LexRecord lexRecord,
                                            string[][] errTypeStrs, int[] errTypeNos, bool crossRefFlag)

        {
            string contentTypeStr = LexRecordUtil.GetContentTypeStr(contentType);

            if (crossRefFlag == true)

            {
                contentTypeStr = LexRecordUtil.GetCrossRefTypeStr(contentType);
            }

            string errTypeStr = GetErrTypeStr(errType, errTypeStrs);
            string errFixStr  = GetErrFixStr(errType, errTypeStrs);


            string errMsg = "** Content Err in " + contentTypeStr + " - " + errTypeStr + " (" + curItem + "): @ [" +
                            LexRecordUtil.GetLexRecordInfo(lexRecord) + "]" + errFixStr + GlobalVars.LS_STR;


            if (errType == 9)

            {
                errMsg = errMsg + "=> Add EUI (" + lexRecord.GetEui() +
                         ") to irregExcetions.data if this Err is an OK exception." + GlobalVars.LS_STR;
            }


            errMsg_ += errMsg;

            AddErrTypeNo(errType, errTypeNos);
        }
Exemplo n.º 3
0
        public static bool CheckDuplicatesForList(LexRecord lexRecord, int contentType)

        {
            bool validFlag = true;


            List <string> inList = LexRecordUtil.GetListFromLexRecord(lexRecord, contentType);
            List <string> uList  = new List <string>();

            for (int i = 0; i < inList.Count; i++)

            {
                string inItem = (string)inList[i];

                if (uList.Contains(inItem) == true)

                {
                    validFlag = false;
                    ErrMsgUtilLexRecord.AddContentErrMsg(contentType, 2, inItem, lexRecord);
                }
                else

                {
                    uList.Add(inItem);
                }
            }

            if (!validFlag)

            {
                LexRecordUtil.SetListInLexRecord(lexRecord, contentType, uList);
            }

            return(validFlag);
        }
Exemplo n.º 4
0
        public static bool CheckGlreg(LexRecord lexRecord, string inBase, int contentType)

        {
            bool   validFlag = true;
            string cat       = lexRecord.GetCategory();

            if (cat.Equals(LexRecordUtil.GetCategory(7)))

            {
                List <string> variants = lexRecord.GetCatEntry().GetNounEntry().GetVariants();

                bool hasGlreg = false;
                for (int i = 0; i < variants.Count; i++)

                {
                    string variant = (string)variants[i];
                    if ((variant.Equals("glreg")) || (variant.Equals("group(glreg)")))


                    {
                        hasGlreg = true;
                        break;
                    }
                }

                if (hasGlreg == true)

                {
                    validFlag = false;
                    for (int j = 0; j < glregEnds_.Count; j++)

                    {
                        string ending = (string)glregEnds_[j];
                        if (inBase.EndsWith(ending, StringComparison.Ordinal) == true)

                        {
                            validFlag = true;
                            break;
                        }
                    }
                }

                if (!validFlag)

                {
                    ErrMsgUtilLexRecord.AddContentErrMsg(contentType, 4, inBase, lexRecord);
                }
            }

            return(validFlag);
        }
Exemplo n.º 5
0
        private static bool CheckIllegalCat(LexRecord lexRecord)

        {
            bool   validFlag = true;
            string cat       = lexRecord.GetCategory();

            if (!LexRecordUtil.IsCategory(cat))

            {
                validFlag = false;
                ErrMsgUtilLexRecord.AddContentErrMsg(3, 1, cat, lexRecord);
            }

            return(validFlag);
        }
Exemplo n.º 6
0
        public static bool CheckSpacesForItem(LexRecord lexRecord, int contentType)

        {
            bool   validFlag = true;
            string inItem    = LexRecordUtil.GetItemFromLexRecord(lexRecord, contentType);

            string newInItem = StringTrim(inItem);

            if (!newInItem.Equals(inItem))

            {
                validFlag = false;
                ErrMsgUtilLexRecord.AddContentErrMsg(contentType, 7, inItem, lexRecord);


                LexRecordUtil.SetItemInLexRecord(lexRecord, contentType, newInItem);
            }

            return(validFlag);
        }
Exemplo n.º 7
0
        public static bool CheckDoublePipesForList(LexRecord lexRecord, int contentType)

        {
            bool validFlag = true;


            List <string> inList = LexRecordUtil.GetListFromLexRecord(lexRecord, contentType);

            foreach (string inItem in inList)

            {
                if (inItem.IndexOf("||", StringComparison.Ordinal) >= 0)

                {
                    ErrMsgUtilLexRecord.AddContentErrMsg(contentType, 3, inItem, lexRecord);

                    validFlag = false;
                }
            }

            return(validFlag);
        }
Exemplo n.º 8
0
        public static void AddContentErrMsg(int contentType, int errType, string msg, string[][] errTypeStrs,
                                            int[] errTypeNos, bool crossRefFlag)

        {
            string contentTypeStr = LexRecordUtil.GetContentTypeStr(contentType);

            if (crossRefFlag == true)

            {
                contentTypeStr = LexRecordUtil.GetCrossRefTypeStr(contentType);
            }

            string errTypeStr = GetErrTypeStr(errType, errTypeStrs);
            string errFixStr  = GetErrFixStr(errType, errTypeStrs);

            string errMsg = "** Content Err in " + contentTypeStr + " - " + errTypeStr + " @ [" + msg + "]" +
                            errFixStr + GlobalVars.LS_STR;


            errMsg_ += errMsg;

            AddErrTypeNo(errType, errTypeNos);
        }
Exemplo n.º 9
0
        private static bool IsLegalCat(string nom, string cat)
        {
            bool validFlag = true;

            int    index1 = nom.IndexOf("|", StringComparison.Ordinal);
            int    index2 = nom.IndexOf("|", index1 + 1, StringComparison.Ordinal);
            int    index3 = nom.IndexOf("|", index2 + 1, StringComparison.Ordinal);
            string nomCat = null;

            if (index1 == -1)

            {
                validFlag = false;
            }
            else if (index2 == -1)

            {
                nomCat = nom.Substring(index1 + 1);
            }
            else if (index3 == -1)

            {
                nomCat = nom.Substring(index1 + 1, index2 - (index1 + 1));
            }
            else

            {
                validFlag = false;
            }

            string noun = LexRecordUtil.GetCategory(7);
            string adj  = LexRecordUtil.GetCategory(0);
            string verb = LexRecordUtil.GetCategory(10);

            if (!ReferenceEquals(nomCat, null))

            {
                if (cat.Equals(noun))

                {
                    if ((!nomCat.Equals(adj)) && (!nomCat.Equals(verb)))


                    {
                        validFlag = false;
                    }
                }
                else if (cat.Equals(adj) == true)

                {
                    if (!nomCat.Equals(noun))

                    {
                        validFlag = false;
                    }
                }
                else if (cat.Equals(verb) == true)

                {
                    if (!nomCat.Equals(noun))

                    {
                        validFlag = false;
                    }
                }
            }

            return(validFlag);
        }
Exemplo n.º 10
0
        public static bool CheckRegd(LexRecord lexRecord, string inBase, int contentType)

        {
            bool          validFlag = true;
            string        cat       = lexRecord.GetCategory();
            List <string> variants  = new List <string>();

            if (cat.Equals(LexRecordUtil.GetCategory(10)))

            {
                variants = lexRecord.GetCatEntry().GetVerbEntry().GetVariants();
            }
            else if (cat.Equals(LexRecordUtil.GetCategory(0)))

            {
                variants = lexRecord.GetCatEntry().GetAdjEntry().GetVariants();
            }

            if (variants.Count > 0)

            {
                bool hasRegd = false;

                for (int i = 0; i < variants.Count; i++)

                {
                    string variant = (string)variants[i];
                    if (variant.Equals("regd") == true)

                    {
                        hasRegd = true;
                        break;
                    }
                }

                if (hasRegd == true)

                {
                    char   lastChar     = InflVarsAndAgreements.GetLastChar(inBase);
                    char   last2Char    = InflVarsAndAgreements.GetLast2Char(inBase);
                    string lastCharStr  = (new char?(lastChar)).ToString();
                    string last2CharStr = (new char?(last2Char)).ToString();


                    if ((!InflVarsAndAgreements.consonants_.Contains(lastCharStr)) ||
                        (!InflVarsAndAgreements.vowels_.Contains(last2CharStr)))


                    {
                        validFlag = false;
                    }
                }

                if (!validFlag)

                {
                    ErrMsgUtilLexRecord.AddContentErrMsg(contentType, 5, inBase, lexRecord);
                }
            }

            return(validFlag);
        }