/** * Reads action path from the action method. */ protected String[] readMethodActionPath(final String methodName, final ActionAnnotationValues annotationValues, final ActionConfig actionConfig) { // read annotation String methodActionPath = annotationValues != null ? annotationValues.value() : null; if (methodActionPath == null) { methodActionPath = methodName; } else { if (methodActionPath.equals(Action.NONE)) { return ArraysUtil.array(null, null); } } // check for defaults for (String path : actionConfig.getActionMethodNames()) { if (methodActionPath.equals(path)) { methodActionPath = null; break; } } return ArraysUtil.array(methodName, methodActionPath); }
/** * Reads action path from class. If the class is annotated with {@link MadvocAction} annotation, * class action path will be read from annotation value. Otherwise, action class path will be built from the * class name. This is done by removing the package name and the last contained word * (if there is more then one) from the class name. Such name is finally uncapitalized. */ protected String[] readClassActionPath(final Class actionClass) { // read class annotation MadvocAction madvocActionAnnotation = ((Class<?>)actionClass).getAnnotation(MadvocAction.class); String classActionPath = madvocActionAnnotation != null ? madvocActionAnnotation.value().trim() : null; if (StringUtil.isEmpty(classActionPath)) { classActionPath = null; } String actionClassName = actionClass.getSimpleName(); actionClassName = StringUtil.uncapitalize(actionClassName); actionClassName = MadvocUtil.stripLastCamelWord(actionClassName); // removes 'Action' from the class name if (classActionPath == null) { classActionPath = actionClassName; } return ArraysUtil.array(actionClassName, classActionPath); }
assertEquals(StringPool.EMPTY, StringUtil.join(new Object[] {})); assertEquals("123", StringUtil.join(array("123"))); assertEquals("123", StringUtil.join(array("1", "2", "3"))); assertEquals("13", StringUtil.join(array("1", "", "3"))); assertEquals("1null3", StringUtil.join(array("1", null, "3"))); String s = StringUtil.join(array("1", "2", "3"), "."); assertEquals("1.2.3", s); s = StringUtil.join(array("1", "2", "3"), '.'); assertEquals("1.2.3", s); s = StringUtil.join(array("1"), '.'); assertEquals("1", s); assertEquals("", s); assertNull(StringUtil.join(array(null), ".")); assertEquals(StringPool.EMPTY, StringUtil.join(new Object[] {}, ".")); assertEquals("123", StringUtil.join(new String[] { "123" }, ".")); assertNull(StringUtil.join(array(null), '.')); assertEquals(StringPool.EMPTY, StringUtil.join(new Object[] {}, '.')); assertEquals("123", StringUtil.join(new String[] { "123" }, '.'));
@Test void testArray() { assertArrayEquals(new Integer[] {}, ArraysUtil.array()); assertArrayEquals(new Integer[] { 1, 2, 5 }, ArraysUtil.array(1, 2, 5)); assertArrayEquals(new byte[] {}, ArraysUtil.bytes()); assertArrayEquals(new byte[] { 1, 0 }, ArraysUtil.bytes((byte) 1, (byte) 0)); assertArrayEquals(new char[] {}, ArraysUtil.chars()); assertArrayEquals(new char[] { 'f', 'o', 'o' }, ArraysUtil.chars('f', 'o', 'o')); assertArrayEquals(new short[] {}, ArraysUtil.shorts()); assertArrayEquals(new short[] { 1, 2, 5 }, ArraysUtil.shorts((short) 1, (short) 2, (short) 5)); assertArrayEquals(new int[] {}, ArraysUtil.ints()); assertArrayEquals(new int[] { 1, 2, 5 }, ArraysUtil.ints(1, 2, 5)); assertArrayEquals(new long[] {}, ArraysUtil.longs()); assertArrayEquals(new long[] { 1, 2, 5 }, ArraysUtil.longs(1l, 2l, 5l)); assertArrayEquals(new float[] {}, ArraysUtil.floats(), 0.1f); assertArrayEquals(new float[] { 1.0f, 2.0f, 5.0f }, ArraysUtil.floats(1.0f, 2.0f, 5.0f), 0.1f); assertArrayEquals(new double[] {}, ArraysUtil.doubles(), 0.1); assertArrayEquals(new double[] { 1.0, 2.0, 5.0 }, ArraysUtil.doubles(1.0, 2.0, 5.0), 0.1); assertBooleanArrayEquals(new boolean[] {}, ArraysUtil.booleans()); assertBooleanArrayEquals(new boolean[] { true, false }, ArraysUtil.booleans(true, false)); }