@@ -0,0 +1,1718 @@
+package com.canoo.dp.impl.server.controller;%0A%0Aimport com.canoo.dp.impl.platform.core.Assert;%0Aimport com.canoo.platform.remoting.server.DolphinAction;%0Aimport com.canoo.platform.remoting.server.DolphinController;%0A%0Aimport java.lang.reflect.Method;%0A%0Apublic class ControllerUtils %7B%0A%0A%0A    public static String getActionMethodName(final Method method) %7B%0A        Assert.requireNonNull(method, %22method%22);%0A        if (method.isAnnotationPresent(DolphinAction.class)) %7B%0A            DolphinAction actionAnnotation = method.getAnnotation(DolphinAction.class);%0A            String currentActionName = method.getName();%0A            if (actionAnnotation.value() != null && !actionAnnotation.value().trim().isEmpty()) %7B%0A                currentActionName = actionAnnotation.value();%0A            %7D%0A%0A            return currentActionName;%0A%0A        %7D else %7B%0A            throw new IllegalArgumentException(%22Method %22 + method.getName() + %22 is not annotated with %22 + DolphinAction.class);%0A        %7D%0A    %7D%0A%0A    public static String getControllerName(final Class%3C?%3E clazz) %7B%0A        Assert.requireNonNull(clazz, %22clazz%22);%0A        if (clazz.isAnnotationPresent(DolphinController.class)) %7B%0A            DolphinController controllerAnnotation = clazz.getAnnotation(DolphinController.class);%0A            String currentControllerName = clazz.getName();%0A            if (controllerAnnotation.value() != null && !controllerAnnotation.value().trim().isEmpty()) %7B%0A                currentControllerName = controllerAnnotation.value();%0A            %7D%0A%0A            return currentControllerName;%0A%0A        %7D else %7B%0A            throw new IllegalArgumentException(%22Class %22 + clazz.getName() + %22 is not annotated with %22 + DolphinController.class);%0A        %7D%0A    %7D%0A%7D%0A

Add ControllerUtil file