protected String[] getConversationControllerConversations(Class<?> clazz,
String actionSuffix) {
List<String> conversations = new ArrayList<String>();
for (Class<?> conversationControllerClass : getConversationControllers(clazz)) {
if (clazz.isAnnotationPresent(ConversationController.class)) {
ConversationController controller = conversationControllerClass
.getAnnotation(ConversationController.class);
String[] newConversations = controller.conversations();
if (controller.value().equals(
ConversationController.DEFAULT_VALUE)) {
if (newConversations.length == 0) {
newConversations = new String[] { NamingUtil
.getConventionName(conversationControllerClass,
actionSuffix) };
}
} else {
conversations.add(controller.value());
}
conversations.addAll(Arrays.asList(newConversations));
} else {
com.google.code.rees.scope.spring.ConversationController controller = conversationControllerClass
.getAnnotation(com.google.code.rees.scope.spring.ConversationController.class);
String[] newConversations = controller.conversations();
if (controller
.value()
.equals(com.google.code.rees.scope.spring.ConversationController.DEFAULT_VALUE)) {
if (newConversations.length == 0) {
newConversations = new String[] { NamingUtil
.getConventionName(conversationControllerClass,
actionSuffix) };
}
} else {
conversations.add(controller.value());
}
conversations.addAll(Arrays.asList(newConversations));
}
}
return conversations.toArray(new String[] {});