CPD Results

The following document contains the results of PMD's CPD 7.19.0.

Duplications

File Project Line
org/freedesktop/dbus/test/helper/P2pTestServer.java dbus-java-tests 26
org/freedesktop/dbus/test/helper/SampleClass.java dbus-java-tests 44
@Override
    public int[][] teststructstruct(SampleStruct3 _in) {
        List<List<Integer>> lli = _in.getInnerListOfLists();
        int[][] out = new int[lli.size()][];
        for (int j = 0; j < out.length; j++) {
            out[j] = new int[lli.get(j).size()];
            for (int k = 0; k < out[j].length; k++) {
                out[j][k] = lli.get(j).get(k);
            }
        }
        return out;
    }

    @Override
    public int[][] testListstruct(SampleStruct4 _in) {
        List<IntStruct> list = _in.getInnerListOfLists();
        int size = list.size();
        int[][] retVal = new int[size][];
        for (int i = 0; i < size; i++) {
            IntStruct elem = list.get(i);
            retVal[i] = new int[] {elem.getValue1(), elem.getValue2()};
        }
        return retVal;
    }

    @Override
    public String getNameAndThrow() {
File Project Line
org/freedesktop/dbus/matchrules/MatchRuleFieldTest.java dbus-java-tests 178
org/freedesktop/dbus/matchrules/MatchRuleMatcherTest.java dbus-java-tests 62
assertEquals(_matchResult, _field.getMultiMatcher().test(msg, _matcher));
    }

    static Stream<Arguments> createArg0123TestData() {
        return Stream.of(
            Arguments.arguments(List.of("test"), Map.of(0, "test"), true),
            Arguments.arguments(List.of("test", 1), Map.of(0, "foo"), false),
            Arguments.arguments(List.of("test"), Map.of(0, "te"), false)
            );
    }

    static Stream<Arguments> createArg0123PathTestData() {
        return Stream.of(
            Arguments.arguments(List.of("/aa/bb/"), Map.of(0, "/"), true),
            Arguments.arguments(List.of("/aa/bb/"), Map.of(0, "/aa/"), true),
            Arguments.arguments(List.of("/aa/bb/"), Map.of(0, "/aa/bb/"), true),

            Arguments.arguments(List.of("/aa/bb/cc/"), Map.of(0, "/aa/bb/"), true),
            Arguments.arguments(List.of(new DBusPath("/aa/bb/cc")), Map.of(0, "/aa/bb/"), true),
File Project Line
org/freedesktop/dbus/matchrules/MatchRuleFieldTest.java dbus-java-tests 196
org/freedesktop/dbus/matchrules/MatchRuleMatcherTest.java dbus-java-tests 80
Arguments.arguments(List.of(new DBusPath("/aa/bb/cc")), Map.of(0, "/aa/bb/"), true),

            Arguments.arguments(List.of("/aa/b"), Map.of(0, "/aa/bb/"), false),
            Arguments.arguments(List.of("/aa"), Map.of(0, "/aa/bb/"), false),
            Arguments.arguments(List.of("/aa/bb"), Map.of(0, "/aa/bb/"), false),

            Arguments.arguments(List.of("/aa/bb/", "/foo/"), Map.of(0, "/", 1, "/"), true),
            Arguments.arguments(List.of("/aa/bb/", "/foo/"), Map.of(0, "/aa/", 1, "/foo/"), true)
        );
    }

}
File Project Line
org/freedesktop/dbus/matchrules/MatchRuleMatcher.java dbus-java-osgi 35
org/freedesktop/dbus/matchrules/MatchRuleMatcher.java dbus-java-osgi 90
static boolean matchArg0123(Message _msg, Map<Integer, String> _compare) {
        if (_msg == null || _compare == null || _compare.isEmpty()) {
            return false;
        }

        try {
            List<Type> dataType = new ArrayList<>();
            Marshalling.getJavaType(_msg.getSig(), dataType, -1);

            if (dataType.isEmpty()) {
                return false;
            }

            Object[] parameters = _msg.getParameters();

            for (int i = 0; i < parameters.length; i++) {
                if (!_compare.containsKey(i)) {
                    continue;
                }
                if (dataType.get(i) instanceof Class<?> clz && clz.isAssignableFrom(String.class)) {
File Project Line
org/freedesktop/dbus/matchrules/MatchRuleMatcherTest.java dbus-java-tests 20
org/freedesktop/dbus/matchrules/MatchRuleMatcherTest.java dbus-java-tests 43
void testMatchArg0123Path(List<Object> _results, Map<Integer, String> _matcher, boolean _matchResult) throws DBusException {
        Type[] dataTypes = _results.stream().map(e -> (Type) e.getClass()).toArray(Type[]::new);
        String dBusType = Marshalling.getDBusType(dataTypes);

        Message msg = new Message() {

            @Override
            public String getSig() {
                return dBusType;
            }

            @Override
            public Object[] getParameters() throws DBusException {
                return _results.toArray();
            }

        };

        assertEquals(_matchResult, MatchRuleMatcher.matchArg0123Path(msg, _matcher));
File Project Line
org/freedesktop/dbus/matchrules/MatchRuleFieldTest.java dbus-java-tests 160
org/freedesktop/dbus/matchrules/MatchRuleMatcherTest.java dbus-java-tests 20
org/freedesktop/dbus/matchrules/MatchRuleMatcherTest.java dbus-java-tests 43
private void multiArgsTest(MatchRuleField _field, List<Object> _results, Map<Integer, String> _matcher, boolean _matchResult) throws DBusException {
        Type[] dataTypes = _results.stream().map(e -> (Type) e.getClass()).toArray(Type[]::new);
        String dBusType = Marshalling.getDBusType(dataTypes);

        Message msg = new Message() {

            @Override
            public String getSig() {
                return dBusType;
            }

            @Override
            public Object[] getParameters() throws DBusException {
                return _results.toArray();
            }

        };

        assertEquals(_matchResult, _field.getMultiMatcher().test(msg, _matcher));