===================================================================== Found a 208 line (798 tokens) duplication in the following files: Starting at line 26 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTokenTypes.java Starting at line 29 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParserTokenTypes.java Starting at line 7 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/DeclScannerTokenTypes.java public interface DeclScannerTokenTypes { int EOF = 1; int NULL_TREE_LOOKAHEAD = 3; int QNAME = 4; int PREDICATE = 5; int FLWOR = 6; int PARENTHESIZED = 7; int ABSOLUTE_SLASH = 8; int ABSOLUTE_DSLASH = 9; int WILDCARD = 10; int PREFIX_WILDCARD = 11; int FUNCTION = 12; int UNARY_MINUS = 13; int UNARY_PLUS = 14; int XPOINTER = 15; int XPOINTER_ID = 16; int VARIABLE_REF = 17; int VARIABLE_BINDING = 18; int ELEMENT = 19; int ATTRIBUTE = 20; int ATTRIBUTE_CONTENT = 21; int TEXT = 22; int VERSION_DECL = 23; int NAMESPACE_DECL = 24; int DEF_NAMESPACE_DECL = 25; int DEF_COLLATION_DECL = 26; int DEF_FUNCTION_NS_DECL = 27; int GLOBAL_VAR = 28; int FUNCTION_DECL = 29; int PROLOG = 30; int OPTION = 31; int ATOMIC_TYPE = 32; int MODULE = 33; int ORDER_BY = 34; int POSITIONAL_VAR = 35; int BEFORE = 36; int AFTER = 37; int MODULE_DECL = 38; int ATTRIBUTE_TEST = 39; int COMP_ELEM_CONSTRUCTOR = 40; int COMP_ATTR_CONSTRUCTOR = 41; int COMP_TEXT_CONSTRUCTOR = 42; int COMP_COMMENT_CONSTRUCTOR = 43; int COMP_PI_CONSTRUCTOR = 44; int COMP_NS_CONSTRUCTOR = 45; int COMP_DOC_CONSTRUCTOR = 46; int LITERAL_xpointer = 47; int LPAREN = 48; int RPAREN = 49; int NCNAME = 50; int LITERAL_xquery = 51; int LITERAL_version = 52; int SEMICOLON = 53; int LITERAL_module = 54; int LITERAL_namespace = 55; int EQ = 56; int STRING_LITERAL = 57; int LITERAL_import = 58; int LITERAL_declare = 59; int LITERAL_default = 60; int LITERAL_xmlspace = 61; int LITERAL_ordering = 62; int LITERAL_construction = 63; // "base-uri" = 64 int LITERAL_option = 65; int LITERAL_function = 66; int LITERAL_variable = 67; int LITERAL_encoding = 68; int LITERAL_collation = 69; int LITERAL_element = 70; int LITERAL_preserve = 71; int LITERAL_strip = 72; int LITERAL_ordered = 73; int LITERAL_unordered = 74; int DOLLAR = 75; int LCURLY = 76; int RCURLY = 77; int LITERAL_external = 78; int LITERAL_at = 79; int LITERAL_as = 80; int COMMA = 81; int LITERAL_empty = 82; int QUESTION = 83; int STAR = 84; int PLUS = 85; int LITERAL_item = 86; int LITERAL_for = 87; int LITERAL_let = 88; int LITERAL_some = 89; int LITERAL_every = 90; int LITERAL_if = 91; int LITERAL_update = 92; int LITERAL_replace = 93; int LITERAL_value = 94; int LITERAL_insert = 95; int LITERAL_delete = 96; int LITERAL_rename = 97; int LITERAL_with = 98; int LITERAL_into = 99; int LITERAL_preceding = 100; int LITERAL_following = 101; int LITERAL_where = 102; int LITERAL_return = 103; int LITERAL_in = 104; int COLON = 105; int LITERAL_order = 106; int LITERAL_by = 107; int LITERAL_ascending = 108; int LITERAL_descending = 109; int LITERAL_greatest = 110; int LITERAL_least = 111; int LITERAL_satisfies = 112; int LITERAL_typeswitch = 113; int LITERAL_case = 114; int LITERAL_then = 115; int LITERAL_else = 116; int LITERAL_or = 117; int LITERAL_and = 118; int LITERAL_instance = 119; int LITERAL_of = 120; int LITERAL_castable = 121; int LITERAL_cast = 122; int LT = 123; int GT = 124; int LITERAL_eq = 125; int LITERAL_ne = 126; int LITERAL_lt = 127; int LITERAL_le = 128; int LITERAL_gt = 129; int LITERAL_ge = 130; int NEQ = 131; int GTEQ = 132; int LTEQ = 133; int LITERAL_is = 134; int LITERAL_isnot = 135; int ANDEQ = 136; int OREQ = 137; int LITERAL_to = 138; int MINUS = 139; int LITERAL_div = 140; int LITERAL_idiv = 141; int LITERAL_mod = 142; int LITERAL_union = 143; int UNION = 144; int LITERAL_intersect = 145; int LITERAL_except = 146; int SLASH = 147; int DSLASH = 148; int LITERAL_text = 149; int LITERAL_node = 150; int LITERAL_attribute = 151; int LITERAL_comment = 152; // "processing-instruction" = 153 // "document-node" = 154 int LITERAL_document = 155; int SELF = 156; int XML_COMMENT = 157; int XML_PI = 158; int LPPAREN = 159; int RPPAREN = 160; int AT = 161; int PARENT = 162; int LITERAL_child = 163; int LITERAL_self = 164; int LITERAL_descendant = 165; // "descendant-or-self" = 166 // "following-sibling" = 167 int LITERAL_parent = 168; int LITERAL_ancestor = 169; // "ancestor-or-self" = 170 // "preceding-sibling" = 171 int DOUBLE_LITERAL = 172; int DECIMAL_LITERAL = 173; int INTEGER_LITERAL = 174; int END_TAG_START = 175; int QUOT = 176; int APOS = 177; int QUOT_ATTRIBUTE_CONTENT = 178; int APOS_ATTRIBUTE_CONTENT = 179; int ELEMENT_CONTENT = 180; int XML_COMMENT_END = 181; int XML_PI_END = 182; int XML_CDATA = 183; int LITERAL_collection = 184; int LITERAL_validate = 185; int XML_PI_START = 186; int XML_CDATA_START = 187; int XML_CDATA_END = 188; int LETTER = 189; int DIGITS = 190; int HEX_DIGITS = 191; int NMSTART = 192; int NMCHAR = 193; int WS = 194; int EXPR_COMMENT = 195; int PRAGMA = 196; int PRAGMA_CONTENT = 197; int PRAGMA_QNAME = 198; int PREDEFINED_ENTITY_REF = 199; int CHAR_REF = 200; int NEXT_TOKEN = 201; int CHAR = 202; int BASECHAR = 203; int IDEOGRAPHIC = 204; int COMBINING_CHAR = 205; int DIGIT = 206; int EXTENDER = 207; } ===================================================================== Found a 72 line (484 tokens) duplication in the following files: Starting at line 4805 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryLexer.java Starting at line 5183 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryLexer.java data[3]=-36028797027352577L; data[4]=9219994337134247935L; data[5]=9223372036854775294L; data[6]=-1L; data[7]=-274156627316187121L; data[8]=16777215L; data[9]=-65536L; data[10]=-576458553280167937L; data[11]=3L; data[14]=-17179879616L; data[15]=4503588160110591L; data[16]=-8194L; data[17]=-536936449L; data[18]=-65533L; data[19]=234134404065073567L; data[20]=-562949953421312L; data[21]=-8547991553L; data[22]=127L; data[23]=1979120929931264L; data[24]=576460743713488896L; data[25]=-562949953419266L; data[26]=9007199254740991999L; data[27]=412319973375L; data[36]=2594073385365405664L; data[37]=17163091968L; data[38]=271902628478820320L; data[39]=844440767823872L; data[40]=247132830528276448L; data[41]=7881300924956672L; data[42]=2589004636761075680L; data[43]=4294967296L; data[44]=2579997437506199520L; data[45]=15837691904L; data[46]=270153412153034720L; data[48]=283724577500946400L; data[49]=12884901888L; data[50]=283724577500946400L; data[51]=13958643712L; data[52]=288228177128316896L; data[53]=12884901888L; data[56]=3799912185593854L; data[57]=63L; data[58]=2309621682768192918L; data[59]=31L; data[61]=4398046510847L; data[66]=-4294967296L; data[67]=36028797018898495L; data[68]=5764607523034749677L; data[69]=12493387738468353L; data[70]=-756383734487318528L; data[71]=144405459145588743L; for (int i = 120; i<=121; i++) { data[i]=-1L; } data[122]=-4026531841L; data[123]=288230376151711743L; data[124]=-3233808385L; data[125]=4611686017001275199L; data[126]=6908521828386340863L; data[127]=2295745090394464220L; data[132]=83837761617920L; data[134]=7L; data[192]=4389456576640L; data[193]=-2L; data[194]=-8587837441L; data[195]=576460752303423487L; data[196]=35184372088800L; for (int i = 312; i<=637; i++) { data[i]=-1L; } data[638]=274877906943L; for (int i = 688; i<=861; i++) { data[i]=-1L; } data[862]=68719476735L; return data; } public static final BitSet _tokenSet_23 = new BitSet(mk_tokenSet_23()); ===================================================================== Found a 66 line (430 tokens) duplication in the following files: Starting at line 1418 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xmlrpc/RpcConnection.java Starting at line 1493 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xmlrpc/RpcConnection.java queryResult = doQuery(user, broker, xpath, nodes, parameters); if (queryResult == null) return ret; if (queryResult.hasErrors()) { // return an error description XPathException e = queryResult.getException(); ret.put(RpcAPI.ERROR, e.getMessage()); if(e.getLine() != 0) { ret.put(RpcAPI.LINE, new Integer(e.getLine())); ret.put(RpcAPI.COLUMN, new Integer(e.getColumn())); } return ret; } resultSeq = queryResult.result; LOG.debug("found " + resultSeq.getLength()); if (sortBy != null) { SortedNodeSet sorted = new SortedNodeSet(brokerPool, user, sortBy); sorted.addAll(resultSeq); resultSeq = sorted; } NodeProxy p; Vector entry; if (resultSeq != null) { SequenceIterator i = resultSeq.iterate(); if (i != null) { Item next; while (i.hasNext()) { next = i.nextItem(); if (Type.subTypeOf(next.getType(), Type.NODE)) { entry = new Vector(); if (((NodeValue) next).getImplementationType() == NodeValue.PERSISTENT_NODE) { p = (NodeProxy) next; //TODO : use dedicated function in XmldbURI entry.addElement(p.getDocument().getCollection().getName() + "/" + p.getDocument().getFileName()); entry.addElement(Long.toString(p.getGID())); } else { entry.addElement("temp_xquery/" + next.hashCode()); entry.addElement(String .valueOf(((NodeImpl) next) .getNodeNumber())); } result.addElement(entry); } else result.addElement(next.getStringValue()); } } else { LOG.debug("sequence iterator is null. Should not"); } } else LOG.debug("result sequence is null. Skipping it..."); } finally { brokerPool.release(broker); } queryResult.result = resultSeq; queryResult.queryTime = (System.currentTimeMillis() - startTime); connectionPool.resultSets.put(queryResult.hashCode(), queryResult); ret.put("id", new Integer(queryResult.hashCode())); ret.put("results", result); return ret; } public void releaseQueryResult(int handle) { ===================================================================== Found a 213 line (426 tokens) duplication in the following files: Starting at line 95 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/DeclScanner.java Starting at line 6314 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 9255 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java } public static final String[] _tokenNames = { "<0>", "EOF", "<2>", "NULL_TREE_LOOKAHEAD", "QNAME", "PREDICATE", "FLWOR", "PARENTHESIZED", "ABSOLUTE_SLASH", "ABSOLUTE_DSLASH", "WILDCARD", "PREFIX_WILDCARD", "FUNCTION", "UNARY_MINUS", "UNARY_PLUS", "XPOINTER", "XPOINTER_ID", "VARIABLE_REF", "VARIABLE_BINDING", "ELEMENT", "ATTRIBUTE", "ATTRIBUTE_CONTENT", "TEXT", "VERSION_DECL", "NAMESPACE_DECL", "DEF_NAMESPACE_DECL", "DEF_COLLATION_DECL", "DEF_FUNCTION_NS_DECL", "GLOBAL_VAR", "FUNCTION_DECL", "PROLOG", "OPTION", "ATOMIC_TYPE", "MODULE", "ORDER_BY", "POSITIONAL_VAR", "BEFORE", "AFTER", "MODULE_DECL", "ATTRIBUTE_TEST", "COMP_ELEM_CONSTRUCTOR", "COMP_ATTR_CONSTRUCTOR", "COMP_TEXT_CONSTRUCTOR", "COMP_COMMENT_CONSTRUCTOR", "COMP_PI_CONSTRUCTOR", "COMP_NS_CONSTRUCTOR", "COMP_DOC_CONSTRUCTOR", "\"xpointer\"", "opening parenthesis '('", "closing parenthesis ')'", "name", "\"xquery\"", "\"version\"", "semicolon ';'", "\"module\"", "\"namespace\"", "=", "string literal", "\"import\"", "\"declare\"", "\"default\"", "\"xmlspace\"", "\"ordering\"", "\"construction\"", "\"base-uri\"", "\"option\"", "\"function\"", "\"variable\"", "\"encoding\"", "\"collation\"", "\"element\"", "\"preserve\"", "\"strip\"", "\"ordered\"", "\"unordered\"", "dollar sign '$'", "opening curly brace '{'", "closing curly brace '{'", "\"external\"", "\"at\"", "\"as\"", "COMMA", "\"empty\"", "question mark '?'", "wildcard '*'", "+", "\"item\"", "\"for\"", "\"let\"", "\"some\"", "\"every\"", "\"if\"", "\"update\"", "\"replace\"", "\"value\"", "\"insert\"", "\"delete\"", "\"rename\"", "\"with\"", "\"into\"", "\"preceding\"", "\"following\"", "\"where\"", "\"return\"", "\"in\"", "COLON", "\"order\"", "\"by\"", "\"ascending\"", "\"descending\"", "\"greatest\"", "\"least\"", "\"satisfies\"", "\"typeswitch\"", "\"case\"", "\"then\"", "\"else\"", "\"or\"", "\"and\"", "\"instance\"", "\"of\"", "\"castable\"", "\"cast\"", "<", ">", "\"eq\"", "\"ne\"", "\"lt\"", "\"le\"", "\"gt\"", "\"ge\"", "!=", ">=", "<=", "\"is\"", "\"isnot\"", "fulltext operator '&='", "fulltext operator '|='", "\"to\"", "-", "\"div\"", "\"idiv\"", "\"mod\"", "\"union\"", "union", "\"intersect\"", "\"except\"", "single slash '/'", "double slash '//'", "\"text\"", "\"node\"", "\"attribute\"", "\"comment\"", "\"processing-instruction\"", "\"document-node\"", "\"document\"", ".", "XML comment", "processing instruction", "opening brace '['", "closing brace ']'", "@ char", "..", "\"child\"", "\"self\"", "\"descendant\"", "\"descendant-or-self\"", "\"following-sibling\"", "\"parent\"", "\"ancestor\"", "\"ancestor-or-self\"", "\"preceding-sibling\"", "DOUBLE_LITERAL", "DECIMAL_LITERAL", "INTEGER_LITERAL", "XML end tag", "double quote '\\\"'", "single quote '", "QUOT_ATTRIBUTE_CONTENT", "APOS_ATTRIBUTE_CONTENT", "ELEMENT_CONTENT", "end of XML comment", "end of processing instruction", "CDATA section", "\"collection\"", "\"validate\"", "start of processing instruction", "CDATA section start", "end of CDATA section", "LETTER", "DIGITS", "HEX_DIGITS", "NMSTART", "NMCHAR", "WS", "XQuery comment", "XQuery pragma", "PRAGMA_CONTENT", "PRAGMA_QNAME", "PREDEFINED_ENTITY_REF", "CHAR_REF", "NEXT_TOKEN", "CHAR", "BASECHAR", "IDEOGRAPHIC", "COMBINING_CHAR", "DIGIT", "EXTENDER" }; ===================================================================== Found a 64 line (412 tokens) duplication in the following files: Starting at line 4702 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryLexer.java Starting at line 4802 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryLexer.java private static final long[] mk_tokenSet_3() { long[] data = new long[2756]; data[1]=576460743847706622L; data[3]=-36028797027352577L; data[4]=9219994337134247935L; data[5]=9223372036854775294L; data[6]=-1L; data[7]=-274156627316187121L; data[8]=16777215L; data[9]=-65536L; data[10]=-576458553280167937L; data[11]=3L; data[14]=-17179879616L; data[15]=4503588160110591L; data[16]=-8194L; data[17]=-536936449L; data[18]=-65533L; data[19]=234134404065073567L; data[20]=-562949953421312L; data[21]=-8547991553L; data[22]=127L; data[23]=1979120929931264L; data[24]=576460743713488896L; data[25]=-562949953419266L; data[26]=9007199254740991999L; data[27]=412319973375L; data[36]=2594073385365405664L; data[37]=17163091968L; data[38]=271902628478820320L; data[39]=844440767823872L; data[40]=247132830528276448L; data[41]=7881300924956672L; data[42]=2589004636761075680L; data[43]=4294967296L; data[44]=2579997437506199520L; data[45]=15837691904L; data[46]=270153412153034720L; data[48]=283724577500946400L; data[49]=12884901888L; data[50]=283724577500946400L; data[51]=13958643712L; data[52]=288228177128316896L; data[53]=12884901888L; data[56]=3799912185593854L; data[57]=63L; data[58]=2309621682768192918L; data[59]=31L; data[61]=4398046510847L; data[66]=-4294967296L; data[67]=36028797018898495L; data[68]=5764607523034749677L; data[69]=12493387738468353L; data[70]=-756383734487318528L; data[71]=144405459145588743L; for (int i = 120; i<=121; i++) { data[i]=-1L; } data[122]=-4026531841L; data[123]=288230376151711743L; data[124]=-3233808385L; data[125]=4611686017001275199L; data[126]=6908521828386340863L; data[127]=2295745090394464220L; data[132]=83837761617920L; data[134]=7L; data[192]=4389456576640L; ===================================================================== Found a 61 line (393 tokens) duplication in the following files: Starting at line 4705 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryLexer.java Starting at line 5183 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryLexer.java data[3]=-36028797027352577L; data[4]=9219994337134247935L; data[5]=9223372036854775294L; data[6]=-1L; data[7]=-274156627316187121L; data[8]=16777215L; data[9]=-65536L; data[10]=-576458553280167937L; data[11]=3L; data[14]=-17179879616L; data[15]=4503588160110591L; data[16]=-8194L; data[17]=-536936449L; data[18]=-65533L; data[19]=234134404065073567L; data[20]=-562949953421312L; data[21]=-8547991553L; data[22]=127L; data[23]=1979120929931264L; data[24]=576460743713488896L; data[25]=-562949953419266L; data[26]=9007199254740991999L; data[27]=412319973375L; data[36]=2594073385365405664L; data[37]=17163091968L; data[38]=271902628478820320L; data[39]=844440767823872L; data[40]=247132830528276448L; data[41]=7881300924956672L; data[42]=2589004636761075680L; data[43]=4294967296L; data[44]=2579997437506199520L; data[45]=15837691904L; data[46]=270153412153034720L; data[48]=283724577500946400L; data[49]=12884901888L; data[50]=283724577500946400L; data[51]=13958643712L; data[52]=288228177128316896L; data[53]=12884901888L; data[56]=3799912185593854L; data[57]=63L; data[58]=2309621682768192918L; data[59]=31L; data[61]=4398046510847L; data[66]=-4294967296L; data[67]=36028797018898495L; data[68]=5764607523034749677L; data[69]=12493387738468353L; data[70]=-756383734487318528L; data[71]=144405459145588743L; for (int i = 120; i<=121; i++) { data[i]=-1L; } data[122]=-4026531841L; data[123]=288230376151711743L; data[124]=-3233808385L; data[125]=4611686017001275199L; data[126]=6908521828386340863L; data[127]=2295745090394464220L; data[132]=83837761617920L; data[134]=7L; data[192]=4389456576640L; ===================================================================== Found a 36 line (355 tokens) duplication in the following files: Starting at line 207 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/value/StringValue.java Starting at line 210 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/value/UntypedAtomicValue.java if (target.isAssignableFrom(UntypedAtomicValue.class)) return this; else if ( target == Object.class || target == String.class || target == CharSequence.class) return value; else if (target == double.class || target == Double.class) { DoubleValue v = (DoubleValue) convertTo(Type.DOUBLE); return new Double(v.getValue()); } else if (target == float.class || target == Float.class) { FloatValue v = (FloatValue) convertTo(Type.FLOAT); return new Float(v.value); } else if (target == long.class || target == Long.class) { IntegerValue v = (IntegerValue) convertTo(Type.LONG); return new Long(v.getInt()); } else if (target == int.class || target == Integer.class) { IntegerValue v = (IntegerValue) convertTo(Type.INT); return new Integer(v.getInt()); } else if (target == short.class || target == Short.class) { IntegerValue v = (IntegerValue) convertTo(Type.SHORT); return new Short((short) v.getInt()); } else if (target == byte.class || target == Byte.class) { IntegerValue v = (IntegerValue) convertTo(Type.BYTE); return new Byte((byte) v.getInt()); } else if (target == boolean.class || target == Boolean.class) { return Boolean.valueOf(effectiveBooleanValue()); } else if (target == char.class || target == Character.class) { if (value.length() > 1 || value.length() == 0) throw new XPathException("cannot convert string with length = 0 or length > 1 to Java character"); return new Character(value.charAt(0)); } throw new XPathException( "cannot convert value of type " + Type.getTypeName(getType()) ===================================================================== Found a 101 line (324 tokens) duplication in the following files: Starting at line 4862 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 4997 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java match(_t,DSLASH); _t = _t.getFirstChild(); step=expr(_t,path); _t = _retTree; { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case QNAME: case PARENTHESIZED: case ABSOLUTE_SLASH: case ABSOLUTE_DSLASH: case WILDCARD: case PREFIX_WILDCARD: case FUNCTION: case UNARY_MINUS: case UNARY_PLUS: case VARIABLE_REF: case ELEMENT: case TEXT: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { rightStep=expr(_t,path); _t = _retTree; if (rightStep instanceof LocationStep) { ===================================================================== Found a 101 line (320 tokens) duplication in the following files: Starting at line 1874 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 1995 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java match(_t,ABSOLUTE_DSLASH); _t = _t.getFirstChild(); RootNode root= new RootNode(context); path.add(root); { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case QNAME: case PARENTHESIZED: case ABSOLUTE_SLASH: case ABSOLUTE_DSLASH: case WILDCARD: case PREFIX_WILDCARD: case FUNCTION: case UNARY_MINUS: case UNARY_PLUS: case VARIABLE_REF: case ELEMENT: case TEXT: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { step=expr(_t,path); _t = _retTree; ===================================================================== Found a 105 line (306 tokens) duplication in the following files: Starting at line 292 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 465 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 923 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java _t = _t.getNextSibling(); break; } case QNAME: case PARENTHESIZED: case ABSOLUTE_SLASH: case ABSOLUTE_DSLASH: case WILDCARD: case PREFIX_WILDCARD: case FUNCTION: case UNARY_MINUS: case UNARY_PLUS: case VARIABLE_REF: case ELEMENT: case TEXT: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } step=expr(_t,inputSequence); _t = _retTree; clause.varName= letVarName.getText(); ===================================================================== Found a 100 line (301 tokens) duplication in the following files: Starting at line 389 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 6062 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 6216 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java { switch ( LA(1)) { case LPAREN: case NCNAME: case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case STRING_LITERAL: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case DOLLAR: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case STAR: case PLUS: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LT: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 153: case 154: case LITERAL_document: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case LITERAL_collection: case LITERAL_validate: { ===================================================================== Found a 105 line (301 tokens) duplication in the following files: Starting at line 292 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 766 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java clause.posVar= posVar.getText(); break; } case QNAME: case PARENTHESIZED: case ABSOLUTE_SLASH: case ABSOLUTE_DSLASH: case WILDCARD: case PREFIX_WILDCARD: case FUNCTION: case UNARY_MINUS: case UNARY_PLUS: case VARIABLE_REF: case ELEMENT: case TEXT: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } step=expr(_t,inputSequence); _t = _retTree; clause.varName= varName.getText(); ===================================================================== Found a 102 line (297 tokens) duplication in the following files: Starting at line 292 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 1589 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java _t = _t.getNextSibling(); break; } case QNAME: case PARENTHESIZED: case ABSOLUTE_SLASH: case ABSOLUTE_DSLASH: case WILDCARD: case PREFIX_WILDCARD: case FUNCTION: case UNARY_MINUS: case UNARY_PLUS: case VARIABLE_REF: case ELEMENT: case TEXT: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } step=expr(_t,(PathExpr) action); ===================================================================== Found a 95 line (294 tokens) duplication in the following files: Starting at line 1878 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 4251 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java PathExpr pathExpr= new PathExpr(context); { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case QNAME: case PARENTHESIZED: case ABSOLUTE_SLASH: case ABSOLUTE_DSLASH: case WILDCARD: case PREFIX_WILDCARD: case FUNCTION: case UNARY_MINUS: case UNARY_PLUS: case VARIABLE_REF: case ELEMENT: case TEXT: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { step=expr(_t,pathExpr); ===================================================================== Found a 94 line (293 tokens) duplication in the following files: Starting at line 1880 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 5427 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case QNAME: case PARENTHESIZED: case ABSOLUTE_SLASH: case ABSOLUTE_DSLASH: case WILDCARD: case PREFIX_WILDCARD: case FUNCTION: case UNARY_MINUS: case UNARY_PLUS: case VARIABLE_REF: case ELEMENT: case TEXT: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { step=expr(_t,p2); ===================================================================== Found a 34 line (288 tokens) duplication in the following files: Starting at line 375 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/value/DoubleValue.java Starting at line 286 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/value/FloatValue.java if (target.isAssignableFrom(FloatValue.class)) return this; else if (target == Double.class || target == double.class) return new Double(value); else if (target == Float.class || target == float.class) return new Float(value); else if (target == Long.class || target == long.class) { return new Long( ((IntegerValue) convertTo(Type.LONG)).getValue() ); } else if (target == Integer.class || target == int.class) { IntegerValue v = (IntegerValue) convertTo(Type.INT); return new Integer((int) v.getValue()); } else if (target == Short.class || target == short.class) { IntegerValue v = (IntegerValue) convertTo(Type.SHORT); return new Short((short) v.getValue()); } else if (target == Byte.class || target == byte.class) { IntegerValue v = (IntegerValue) convertTo(Type.BYTE); return new Byte((byte) v.getValue()); } else if (target == String.class) return getStringValue(); else if (target == Boolean.class) return Boolean.valueOf(effectiveBooleanValue()); throw new XPathException( "cannot convert value of type " + Type.getTypeName(getType()) + " to Java object of type " + target.getName()); } /** @deprecated * @see org.exist.storage.Indexable#serialize(short) */ public byte[] serialize(short collectionId, boolean caseSensitive) { final byte[] data = new byte[7]; ===================================================================== Found a 93 line (287 tokens) duplication in the following files: Starting at line 1880 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 2905 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 4866 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case QNAME: case PARENTHESIZED: case ABSOLUTE_SLASH: case ABSOLUTE_DSLASH: case WILDCARD: case PREFIX_WILDCARD: case FUNCTION: case UNARY_MINUS: case UNARY_PLUS: case VARIABLE_REF: case ELEMENT: case TEXT: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { ===================================================================== Found a 98 line (282 tokens) duplication in the following files: Starting at line 295 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 1482 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case QNAME: case PARENTHESIZED: case ABSOLUTE_SLASH: case ABSOLUTE_DSLASH: case WILDCARD: case PREFIX_WILDCARD: case FUNCTION: case UNARY_MINUS: case UNARY_PLUS: case VARIABLE_REF: case ELEMENT: case TEXT: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } ===================================================================== Found a 42 line (280 tokens) duplication in the following files: Starting at line 46 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/DynamicCommentConstructor.java Starting at line 46 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/DynamicTextConstructor.java public DynamicTextConstructor(XQueryContext context, Expression contentExpr) { super(context); this.content = new Atomize(context, contentExpr); } /* (non-Javadoc) * @see org.exist.xquery.Expression#analyze(org.exist.xquery.Expression) */ public void analyze(Expression parent, int flags) throws XPathException { content.analyze(this, flags); } /* (non-Javadoc) * @see org.exist.xquery.Expression#eval(org.exist.xquery.value.Sequence, org.exist.xquery.value.Item) */ public Sequence eval(Sequence contextSequence, Item contextItem) throws XPathException { if (context.getProfiler().isEnabled()) { context.getProfiler().start(this); context.getProfiler().message(this, Profiler.DEPENDENCIES, "DEPENDENCIES", Dependency.getDependenciesName(this.getDependencies())); if (contextSequence != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence); if (contextItem != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence()); } Sequence result; Sequence contentSeq = content.eval(contextSequence, contextItem); if(contentSeq.getLength() == 0) result = Sequence.EMPTY_SEQUENCE; else { MemTreeBuilder builder = context.getDocumentBuilder(); context.proceed(this, builder); StringBuffer buf = new StringBuffer(); for(SequenceIterator i = contentSeq.iterate(); i.hasNext(); ) { context.proceed(this, builder); Item next = i.nextItem(); if(buf.length() > 0) buf.append(' '); buf.append(next.toString()); } int nodeNr = builder.characters(buf); ===================================================================== Found a 86 line (277 tokens) duplication in the following files: Starting at line 6850 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 6997 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java attributeNameOrWildcard_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root; break; } case NCNAME: case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case LITERAL_document: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case LITERAL_collection: case LITERAL_validate: { qn=qName(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { ===================================================================== Found a 94 line (271 tokens) duplication in the following files: Starting at line 292 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 5623 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java c.addNamespaceDecl(prefix.getText(), uri.getText()); break; } case QNAME: case PARENTHESIZED: case ABSOLUTE_SLASH: case ABSOLUTE_DSLASH: case WILDCARD: case PREFIX_WILDCARD: case FUNCTION: case UNARY_MINUS: case UNARY_PLUS: case VARIABLE_REF: case ELEMENT: case TEXT: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { ===================================================================== Found a 40 line (270 tokens) duplication in the following files: Starting at line 68 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunSubstringBefore.java Starting at line 69 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunSubstringAfter.java public FunSubstringAfter(XQueryContext context, FunctionSignature signature) { super(context, signature); } public Sequence eval(Sequence contextSequence, Item contextItem) throws XPathException { if (context.getProfiler().isEnabled()) { context.getProfiler().start(this); context.getProfiler().message(this, Profiler.DEPENDENCIES, "DEPENDENCIES", Dependency.getDependenciesName(this.getDependencies())); if (contextSequence != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence); if (contextItem != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence()); } Expression arg0 = getArgument(0); Expression arg1 = getArgument(1); if (contextItem != null) contextSequence = contextItem.toSequence(); Sequence seq1 = arg0.eval(contextSequence); Sequence seq2 = arg1.eval(contextSequence); Sequence result; if(seq1.getLength() == 0 || seq2.getLength() == 0) result = Sequence.EMPTY_SEQUENCE; else { String value = seq1.getStringValue(); String cmp = seq2.getStringValue(); if(cmp.length() == 0) result = StringValue.EMPTY_STRING; else { Collator collator = getCollator(contextSequence, contextItem, 3); int p = Collations.indexOf(collator, value, cmp); if (p == Constants.STRING_NOT_FOUND) result = StringValue.EMPTY_STRING; ===================================================================== Found a 91 line (269 tokens) duplication in the following files: Starting at line 2340 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 2499 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case TEXT: case NAMESPACE_DECL: case DEF_NAMESPACE_DECL: case DEF_COLLATION_DECL: case DEF_FUNCTION_NS_DECL: case GLOBAL_VAR: case FUNCTION_DECL: case OPTION: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_import: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { ===================================================================== Found a 90 line (268 tokens) duplication in the following files: Starting at line 295 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 1883 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case QNAME: case PARENTHESIZED: case ABSOLUTE_SLASH: case ABSOLUTE_DSLASH: case WILDCARD: case PREFIX_WILDCARD: case FUNCTION: case UNARY_MINUS: case UNARY_PLUS: case VARIABLE_REF: case ELEMENT: case TEXT: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { ===================================================================== Found a 91 line (267 tokens) duplication in the following files: Starting at line 671 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 1081 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case ORDER_BY: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ORDER_BY: ===================================================================== Found a 85 line (255 tokens) duplication in the following files: Starting at line 6480 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 6629 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java match(LITERAL_attribute); match(LPAREN); { switch ( LA(1)) { case NCNAME: case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case STAR: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case LITERAL_document: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case LITERAL_collection: case LITERAL_validate: { ===================================================================== Found a 87 line (247 tokens) duplication in the following files: Starting at line 306 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 671 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case POSITIONAL_VAR: case BEFORE: case AFTER: case ATTRIBUTE_TEST: case COMP_ELEM_CONSTRUCTOR: case COMP_ATTR_CONSTRUCTOR: case COMP_TEXT_CONSTRUCTOR: case COMP_COMMENT_CONSTRUCTOR: case COMP_PI_CONSTRUCTOR: case COMP_DOC_CONSTRUCTOR: case NCNAME: case EQ: case STRING_LITERAL: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } ===================================================================== Found a 28 line (240 tokens) duplication in the following files: Starting at line 64 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/update/Rename.java Starting at line 61 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/update/Update.java public Update(XQueryContext context, Expression select, Expression value) { super(context, select, value); } /* (non-Javadoc) * @see org.exist.xquery.AbstractExpression#eval(org.exist.xquery.value.Sequence, org.exist.xquery.value.Item) */ public Sequence eval(Sequence contextSequence, Item contextItem) throws XPathException { if (context.getProfiler().isEnabled()) { context.getProfiler().start(this); context.getProfiler().message(this, Profiler.DEPENDENCIES, "DEPENDENCIES", Dependency.getDependenciesName(this.getDependencies())); if (contextSequence != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence); if (contextItem != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence()); } if (contextItem != null) contextSequence = contextItem.toSequence(); Sequence contentSeq = value.eval(contextSequence); if (contentSeq.getLength() == 0) throw new XPathException(getASTNode(), Messages.getMessage(Error.UPDATE_EMPTY_CONTENT)); Sequence inSeq = select.eval(contextSequence); if (!Type.subTypeOf(inSeq.getItemType(), Type.NODE)) throw new XPathException(getASTNode(), Messages.getMessage(Error.UPDATE_SELECT_TYPE)); if (inSeq.getLength() > 0) { ===================================================================== Found a 82 line (240 tokens) duplication in the following files: Starting at line 4801 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 6851 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java break; } case NCNAME: case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case LITERAL_document: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case LITERAL_collection: case LITERAL_validate: { ===================================================================== Found a 81 line (239 tokens) duplication in the following files: Starting at line 4803 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 5562 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java case NCNAME: case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case LITERAL_document: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case LITERAL_collection: case LITERAL_validate: { { ===================================================================== Found a 79 line (235 tokens) duplication in the following files: Starting at line 1542 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 4804 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case LITERAL_document: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case LITERAL_collection: case LITERAL_validate: { ===================================================================== Found a 26 line (234 tokens) duplication in the following files: Starting at line 52 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/util/URIUtils.java Starting at line 82 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/util/URIUtils.java result = result.replaceAll("\\+", " "); result = result.replaceAll("%23", "#"); result = result.replaceAll("%2D", "-"); result = result.replaceAll("%5F", "_"); result = result.replaceAll("%2E", "."); result = result.replaceAll("%21", "!"); result = result.replaceAll("%7E", "~"); result = result.replaceAll("%2A", "*"); result = result.replaceAll("%27", "'"); result = result.replaceAll("%28", "("); result = result.replaceAll("%29", ")"); result = result.replaceAll("%3B", ";"); result = result.replaceAll("%2F", "/"); result = result.replaceAll("%3F", "?"); result = result.replaceAll("%3A", ":"); result = result.replaceAll("%40", "@"); result = result.replaceAll("%26", "&"); result = result.replaceAll("%3D", "="); result = result.replaceAll("%2B", "+"); result = result.replaceAll("%24", "$"); result = result.replaceAll("%2C", ","); result = result.replaceAll("%5B", "["); result = result.replaceAll("%5D", "])"); result = result.replaceAll("%25", "%"); return result; } ===================================================================== Found a 79 line (231 tokens) duplication in the following files: Starting at line 683 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 1390 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case LITERAL_collation: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_collation: ===================================================================== Found a 77 line (225 tokens) duplication in the following files: Starting at line 685 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 2832 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case LITERAL_external: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case QNAME: ===================================================================== Found a 76 line (222 tokens) duplication in the following files: Starting at line 686 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 1256 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case LITERAL_empty: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_empty: ===================================================================== Found a 27 line (221 tokens) duplication in the following files: Starting at line 66 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/update/Rename.java Starting at line 74 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/update/Insert.java } /* (non-Javadoc) * @see org.exist.xquery.AbstractExpression#eval(org.exist.xquery.value.Sequence, org.exist.xquery.value.Item) */ public Sequence eval(Sequence contextSequence, Item contextItem) throws XPathException { if (context.getProfiler().isEnabled()) { context.getProfiler().start(this); context.getProfiler().message(this, Profiler.DEPENDENCIES, "DEPENDENCIES", Dependency.getDependenciesName(this.getDependencies())); if (contextSequence != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence); if (contextItem != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence()); } if (contextItem != null) contextSequence = contextItem.toSequence(); Sequence contentSeq = value.eval(contextSequence); if (contentSeq.getLength() == 0) throw new XPathException(getASTNode(), Messages.getMessage(Error.UPDATE_EMPTY_CONTENT)); Sequence inSeq = select.eval(contextSequence); if (!Type.subTypeOf(inSeq.getItemType(), Type.NODE)) throw new XPathException(getASTNode(), Messages.getMessage(Error.UPDATE_SELECT_TYPE)); if (inSeq.getLength() > 0) { ===================================================================== Found a 23 line (219 tokens) duplication in the following files: Starting at line 324 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/value/DecimalValue.java Starting at line 380 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/value/DoubleValue.java return new Float(value); else if (target == Long.class || target == long.class) { return new Long( ((IntegerValue) convertTo(Type.LONG)).getValue() ); } else if (target == Integer.class || target == int.class) { IntegerValue v = (IntegerValue) convertTo(Type.INT); return new Integer((int) v.getValue()); } else if (target == Short.class || target == short.class) { IntegerValue v = (IntegerValue) convertTo(Type.SHORT); return new Short((short) v.getValue()); } else if (target == Byte.class || target == byte.class) { IntegerValue v = (IntegerValue) convertTo(Type.BYTE); return new Byte((byte) v.getValue()); } else if (target == String.class) return getStringValue(); else if (target == Boolean.class) return Boolean.valueOf(effectiveBooleanValue()); throw new XPathException( "cannot convert value of type " + Type.getTypeName(getType()) + " to Java object of type " + target.getName()); } ===================================================================== Found a 30 line (218 tokens) duplication in the following files: Starting at line 2060 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xmlrpc/RpcConnection.java Starting at line 2134 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xmlrpc/RpcConnection.java result.put("hits", new Integer(resultSet.getLength())); Vector documents = new Vector(); Vector hitsByDoc; for (Iterator i = map.values().iterator(); i.hasNext(); ) { counter = (NodeCount) i.next(); hitsByDoc = new Vector(); hitsByDoc.addElement(counter.doc.getFileName()); hitsByDoc.addElement(new Integer(counter.doc.getDocId())); hitsByDoc.addElement(new Integer(counter.count)); documents.addElement(hitsByDoc); } result.put("documents", documents); Vector dtypes = new Vector(); Vector hitsByType; DoctypeCount docTemp; for (Iterator i = doctypes.values().iterator(); i.hasNext(); ) { docTemp = (DoctypeCount) i.next(); hitsByType = new Vector(); hitsByType.addElement(docTemp.doctype.getName()); hitsByType.addElement(new Integer(docTemp.count)); dtypes.addElement(hitsByType); } result.put("doctypes", dtypes); return result; } finally { brokerPool.release(broker); } } public Vector getIndexedElements(User user, String collectionName, ===================================================================== Found a 31 line (217 tokens) duplication in the following files: Starting at line 2026 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xmlrpc/RpcConnection.java Starting at line 2103 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xmlrpc/RpcConnection.java NodeList resultSet = (NodeList) qr.result; HashMap map = new HashMap(); HashMap doctypes = new HashMap(); NodeProxy p; String docName; DocumentType doctype; NodeCount counter; DoctypeCount doctypeCounter; for (Iterator i = ((NodeSet) resultSet).iterator(); i.hasNext(); ) { p = (NodeProxy) i.next(); //TODO : use dedicated function in XmldbURI docName = p.getDocument().getCollection().getName() + "/" + p.getDocument().getFileName(); doctype = p.getDocument().getDoctype(); if (map.containsKey(docName)) { counter = (NodeCount) map.get(docName); counter.inc(); } else { counter = new NodeCount(p.getDocument()); map.put(docName, counter); } if (doctype == null) continue; if (doctypes.containsKey(doctype.getName())) { doctypeCounter = (DoctypeCount) doctypes.get(doctype .getName()); doctypeCounter.inc(); } else { doctypeCounter = new DoctypeCount(doctype); doctypes.put(doctype.getName(), doctypeCounter); } } ===================================================================== Found a 41 line (214 tokens) duplication in the following files: Starting at line 67 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/LetExpr.java Starting at line 97 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/ForExpr.java orderBy[i].analyze(this, flags | SINGLE_STEP_EXECUTION); } returnExpr.analyze(this, flags); } // restore the local variable stack context.popLocalVariables(mark); } /** * This implementation tries to process the "where" clause in advance, i.e. in one single * step. This is possible if the input sequence is a node set and the where expression * has no dependencies on other variables than those declared in this "for" statement. * * @see org.exist.xquery.Expression#eval(org.exist.xquery.StaticContext, org.exist.dom.DocumentSet, org.exist.xquery.value.Sequence, org.exist.xquery.value.Item) */ public Sequence eval(Sequence contextSequence, Item contextItem, Sequence resultSequence) throws XPathException { if (context.getProfiler().isEnabled()) { context.getProfiler().start(this); context.getProfiler().message(this, Profiler.DEPENDENCIES, "DEPENDENCIES", Dependency.getDependenciesName(this.getDependencies())); if (contextSequence != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence); if (contextItem != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence()); if (resultSequence != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "RESULT SEQUENCE", resultSequence); } // Save the local variable stack LocalVariable mark = context.markLocalVariables(false); // Evaluate the "in" expression Sequence in = inputSequence.eval(null, null); clearContext(in); // Declare the iteration variable LocalVariable var = new LocalVariable(QName.parse(context, varName, null)); var.setSequenceType(sequenceType); context.declareVariableBinding(var); ===================================================================== Found a 76 line (212 tokens) duplication in the following files: Starting at line 683 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 2523 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case 64: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } { ===================================================================== Found a 71 line (211 tokens) duplication in the following files: Starting at line 5342 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 5435 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java case NCNAME: case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case STAR: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 153: case 154: case LITERAL_document: case LITERAL_child: ===================================================================== Found a 75 line (211 tokens) duplication in the following files: Starting at line 318 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 1390 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case LITERAL_collation: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } ===================================================================== Found a 69 line (210 tokens) duplication in the following files: Starting at line 5341 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 6483 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java switch ( LA(1)) { case NCNAME: case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case STAR: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: ===================================================================== Found a 28 line (210 tokens) duplication in the following files: Starting at line 58 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunNamespaceURI.java Starting at line 63 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunName.java public FunName(XQueryContext context, FunctionSignature signature) { super(context, signature); } public Sequence eval(Sequence contextSequence, Item contextItem) throws XPathException { if (context.getProfiler().isEnabled()) { context.getProfiler().start(this); context.getProfiler().message(this, Profiler.DEPENDENCIES, "DEPENDENCIES", Dependency.getDependenciesName(this.getDependencies())); if (contextSequence != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence); if (contextItem != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence()); } if(contextItem != null) contextSequence = contextItem.toSequence(); Sequence result; Item item = null; // check if the node is passed as an argument or should be taken from // the context sequence if(getArgumentCount() > 0) { Sequence seq = getArgument(0).eval(contextSequence); if(seq.getLength() > 0) item = seq.itemAt(0); } else { if(contextSequence.getLength() > 0) item = contextSequence.itemAt(0); ===================================================================== Found a 74 line (206 tokens) duplication in the following files: Starting at line 2525 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 2832 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case LITERAL_external: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } { ===================================================================== Found a 73 line (205 tokens) duplication in the following files: Starting at line 320 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 2832 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case LITERAL_external: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } ===================================================================== Found a 68 line (202 tokens) duplication in the following files: Starting at line 5435 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 6484 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java case NCNAME: case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case STAR: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: ===================================================================== Found a 68 line (202 tokens) duplication in the following files: Starting at line 4106 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 4382 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java case LPAREN: case NCNAME: case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case STRING_LITERAL: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case DOLLAR: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case STAR: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LT: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case LITERAL_text: ===================================================================== Found a 70 line (202 tokens) duplication in the following files: Starting at line 3206 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 4800 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java match(DOLLAR); break; } case NCNAME: case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: ===================================================================== Found a 72 line (202 tokens) duplication in the following files: Starting at line 321 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 1256 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case LITERAL_empty: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { break; } default: { throw new NoViableAltException(_t); } } } ===================================================================== Found a 67 line (199 tokens) duplication in the following files: Starting at line 3209 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 5562 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java case NCNAME: case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: ===================================================================== Found a 37 line (197 tokens) duplication in the following files: Starting at line 188 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/value/StringValue.java Starting at line 174 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/value/UntypedAtomicValue.java } /* (non-Javadoc) * @see org.exist.xquery.value.Item#conversionPreference(java.lang.Class) */ public int conversionPreference(Class javaClass) { if (javaClass.isAssignableFrom(StringValue.class)) return 0; if (javaClass == String.class || javaClass == CharSequence.class) return 1; if (javaClass == Character.class || javaClass == char.class) return 2; if (javaClass == Double.class || javaClass == double.class) return 10; if (javaClass == Float.class || javaClass == float.class) return 11; if (javaClass == Long.class || javaClass == long.class) return 12; if (javaClass == Integer.class || javaClass == int.class) return 13; if (javaClass == Short.class || javaClass == short.class) return 14; if (javaClass == Byte.class || javaClass == byte.class) return 15; if (javaClass == Boolean.class || javaClass == boolean.class) return 16; if (javaClass == Object.class) return 20; return Integer.MAX_VALUE; } /* (non-Javadoc) * @see org.exist.xquery.value.Item#toJavaObject(java.lang.Class) */ public Object toJavaObject(Class target) throws XPathException { if (target.isAssignableFrom(UntypedAtomicValue.class)) ===================================================================== Found a 67 line (197 tokens) duplication in the following files: Starting at line 318 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 2364 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case 64: case LITERAL_element: case LCURLY: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { ===================================================================== Found a 66 line (196 tokens) duplication in the following files: Starting at line 1542 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java Starting at line 3210 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java case LITERAL_xquery: case LITERAL_version: case LITERAL_module: case LITERAL_namespace: case LITERAL_import: case LITERAL_declare: case LITERAL_default: case LITERAL_xmlspace: case LITERAL_ordering: case LITERAL_construction: case 64: case LITERAL_option: case LITERAL_function: case LITERAL_variable: case LITERAL_encoding: case LITERAL_collation: case LITERAL_element: case LITERAL_preserve: case LITERAL_strip: case LITERAL_ordered: case LITERAL_unordered: case LITERAL_external: case LITERAL_at: case LITERAL_as: case LITERAL_empty: case LITERAL_item: case LITERAL_for: case LITERAL_let: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_replace: case LITERAL_value: case LITERAL_insert: case LITERAL_delete: case LITERAL_rename: case LITERAL_with: case LITERAL_into: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_order: case LITERAL_by: case LITERAL_typeswitch: case LITERAL_case: case LITERAL_then: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_of: case LITERAL_cast: case LITERAL_is: case LITERAL_isnot: case LITERAL_to: case LITERAL_div: case LITERAL_mod: case LITERAL_union: case LITERAL_intersect: case LITERAL_except: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 153: ===================================================================== Found a 27 line (193 tokens) duplication in the following files: Starting at line 79 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunMax.java Starting at line 75 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunMin.java public FunMin(XQueryContext context, FunctionSignature signature) { super(context, signature); } /* (non-Javadoc) * @see org.exist.xquery.Expression#eval(org.exist.dom.DocumentSet, org.exist.xquery.value.Sequence, org.exist.xquery.value.Item) */ public Sequence eval(Sequence contextSequence, Item contextItem) throws XPathException { if (context.getProfiler().isEnabled()) { context.getProfiler().start(this); context.getProfiler().message(this, Profiler.DEPENDENCIES, "DEPENDENCIES", Dependency.getDependenciesName(this.getDependencies())); if (contextSequence != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence); if (contextItem != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence()); } if (contextItem != null) contextSequence = contextItem.toSequence(); Sequence result; Sequence arg = getArgument(0).eval(contextSequence, contextItem); if (arg.getLength() == 0) result = Sequence.EMPTY_SEQUENCE; else { Collator collator = getCollator(contextSequence, contextItem, 2); SequenceIterator iter = arg.iterate(); ===================================================================== Found a 65 line (191 tokens) duplication in the following files: Starting at line 1908 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java Starting at line 2832 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java case LITERAL_external: case COMMA: case STAR: case PLUS: case LITERAL_some: case LITERAL_every: case LITERAL_if: case LITERAL_update: case LITERAL_preceding: case LITERAL_following: case LITERAL_return: case LITERAL_or: case LITERAL_and: case LITERAL_instance: case LITERAL_castable: case LITERAL_cast: case LT: case GT: case LITERAL_eq: case LITERAL_ne: case LITERAL_lt: case LITERAL_le: case LITERAL_gt: case LITERAL_ge: case NEQ: case GTEQ: case LTEQ: case LITERAL_is: case LITERAL_isnot: case ANDEQ: case OREQ: case LITERAL_to: case MINUS: case LITERAL_div: case LITERAL_idiv: case LITERAL_mod: case UNION: case LITERAL_intersect: case LITERAL_except: case SLASH: case DSLASH: case LITERAL_text: case LITERAL_node: case LITERAL_attribute: case LITERAL_comment: case 154: case SELF: case XML_COMMENT: case XML_PI: case AT: case PARENT: case LITERAL_child: case LITERAL_self: case LITERAL_descendant: case 166: case 167: case LITERAL_parent: case LITERAL_ancestor: case 170: case 171: case DOUBLE_LITERAL: case DECIMAL_LITERAL: case INTEGER_LITERAL: case XML_CDATA: { ===================================================================== Found a 33 line (187 tokens) duplication in the following files: Starting at line 154 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/ExtCollection.java Starting at line 168 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/ExtDocument.java return result; } private List getParameterValues(Sequence contextSequence, Item contextItem) throws XPathException { List args = new ArrayList(getArgumentCount() + 10); for(int i = 0; i < getArgumentCount(); i++) { Sequence seq = getArgument(i).eval(contextSequence, contextItem); for (SequenceIterator j = seq.iterate(); j.hasNext();) { Item next = j.nextItem(); args.add(next.getStringValue()); } } return args; } private boolean compareArguments(List args1, List args2) { if(args1.size() != args2.size()) return false; for(int i = 0; i < args1.size(); i++) { String arg1 = (String)args1.get(i); String arg2 = (String)args2.get(i); if(!arg1.equals(arg2)) return false; } return true; } /* (non-Javadoc) * @see org.exist.xquery.PathExpr#resetState() */ public void resetState() { ===================================================================== Found a 25 line (186 tokens) duplication in the following files: Starting at line 51 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunFloor.java Starting at line 52 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunRound.java Starting at line 59 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunAbs.java } /* (non-Javadoc) * @see org.exist.xquery.Expression#eval(org.exist.dom.DocumentSet, org.exist.xquery.value.Sequence, org.exist.xquery.value.Item) */ public Sequence eval(Sequence contextSequence, Item contextItem) throws XPathException { if (context.getProfiler().isEnabled()) { context.getProfiler().start(this); context.getProfiler().message(this, Profiler.DEPENDENCIES, "DEPENDENCIES", Dependency.getDependenciesName(this.getDependencies())); if (contextSequence != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence); if (contextItem != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence()); } if(contextItem != null) contextSequence = contextItem.toSequence(); Sequence result; Sequence seq = getArgument(0).eval(contextSequence, contextItem); if(seq.getLength() == 0) result = Sequence.EMPTY_SEQUENCE; else { NumericValue value = (NumericValue)seq.itemAt(0).convertTo(Type.NUMBER); result = value.abs(); ===================================================================== Found a 24 line (184 tokens) duplication in the following files: Starting at line 59 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunGetHoursFromDayTimeDuration.java Starting at line 59 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunGetDaysFromDayTimeDuration.java Starting at line 59 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunGetMinutesFromDayTimeDuration.java public FunGetMinutesFromDayTimeDuration(XQueryContext context) { super(context, signature); } /* (non-Javadoc) * @see org.exist.xquery.Expression#eval(org.exist.dom.DocumentSet, org.exist.xquery.value.Sequence, org.exist.xquery.value.Item) */ public Sequence eval(Sequence contextSequence, Item contextItem) throws XPathException { if (context.getProfiler().isEnabled()) { context.getProfiler().start(this); context.getProfiler().message(this, Profiler.DEPENDENCIES, "DEPENDENCIES", Dependency.getDependenciesName(this.getDependencies())); if (contextSequence != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence); if (contextItem != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence()); } Sequence result; Sequence arg = getArgument(0).eval(contextSequence, contextItem); if (arg.getLength() == 0) result = Sequence.EMPTY_SEQUENCE; else { DurationValue duration = (DurationValue) arg.itemAt(0); result = new IntegerValue(duration.getPart(DurationValue.MINUTE)); ===================================================================== Found a 25 line (183 tokens) duplication in the following files: Starting at line 49 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunEncodeForURI.java Starting at line 49 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunEscapeHTMLURI.java Starting at line 49 of /home/tom/pmd/pmd-web/src/eXist-1.0/src/org/exist/xquery/functions/FunIRIToURI.java public FunIRIToURI(XQueryContext context, FunctionSignature signature) { super(context, signature); } public Sequence eval(Sequence contextSequence, Item contextItem) throws XPathException { if (context.getProfiler().isEnabled()) { context.getProfiler().start(this); context.getProfiler().message(this, Profiler.DEPENDENCIES, "DEPENDENCIES", Dependency.getDependenciesName(this.getDependencies())); if (contextSequence != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence); if (contextItem != null) context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence()); } if(contextItem != null) conte