First of all, the code..

  | @Stateless
  | @Name("QuestionCategoryController")
  | public class QuestionCategoryControllerBean implements 
QuestionCategoryController {
  |     
  |     @Logger
  |     private Log log;
  |     
  |     @In(create = true)
  |     private QuestionCategoryManager questionCategoryManager;
  |     
  |     @In(required = false)
  |     private QuestionCategory questionCategory;
  |     
  |     @DataModel(value = "categories")
  |     private List<QuestionCategory> categoryList;
  |     
  |     @DataModelSelection(value = "categories")
  |     private List<Question> questionList;
  |     
  |     public void addCategory() {
  |         questionCategory.setCreated(new Date());
  |         questionCategoryManager.addCategory(this.questionCategory);
  |     }
  |     
  |     public void removeCategory(QuestionCategory questionCategory) { //todo
  |         log.info("Trying to remove #{questionCategory.categoryName}");
  |         if(questionCategory == null) {
  |             log.error("questionCategory is NULL !");
  |         } else {
  |             questionCategoryManager.removeCategory(questionCategory);
  |         }
  |     }
  | 
  |     @Factory("categories")
  |     public void getAllQuestionsCategories() {
  |         setCategoryList(questionCategoryManager.getAllQuestionCategories());
  |     }
  |     
  |     public List<QuestionCategory> getCategoryList() {
  |         return categoryList;
  |     }
  | 
  |     public void setCategoryList(List<QuestionCategory> categoryList) {
  |         this.categoryList = categoryList;
  |     }
  | 
  |     public List<Question> getQuestionList() {
  |         return questionList;
  |     }
  | 
  |     public void setQuestionList(List<Question> questionList) {
  |         this.questionList = questionList;
  |     }
  | 
  | }
  | 

and


  | <html xmlns="http://www.w3.org/1999/xhtml";
  |       xmlns:ui="http://java.sun.com/jsf/facelets";
  |       xmlns:h="http://java.sun.com/jsf/html";
  |       xmlns:f="http://java.sun.com/jsf/core";
  |       xmlns:s="http://jboss.com/products/seam/taglib";>
  |     <body>
  |         
  |         <h:form>
  |             <h:inputText value="#{questionCategory.categoryName}" 
required="true"/>
  |             <h:commandButton type="submit" value="Add new category" 
action="#{QuestionCategoryController.addCategory}"></h:commandButton><br/>
  |             <h:outputText value="Categories rowCount is null" 
rendered="#{categories.rowCount == null}"/><br/>
  |             <h:outputText value="Categories rowCount = 0" 
rendered="#{categories.rowCount == 0}"/><br/>
  |             <h:outputText value="Available categories: " 
rendered="#{categories.rowCount > 0}"/><br/>
  |             <h:dataTable var="cat" value="#{categories}">
  |                 <h:column>
  |                     <h:outputText value="[ #{cat.categoryName} ]"/>
  |                 </h:column>
  |                 <h:column>
  |                     <h:outputText value=" - [ #{cat.created} 
]"><f:convertDateTime pattern="dd-MMM-yyyy H:mm"/></h:outputText>
  |                 </h:column>
  |                 <h:column>
  |                     <s:link value="remove" 
action="#{QuestionCategoryController.removeCategory(cat)}"/>
  |                 </h:column>
  |             </h:dataTable>
  |         </h:form>
  |         
  |         <ui:debug hotkey="d"/>
  |         
  |     </body>
  | </html>
  | 

Whats the problem is that QuestionCategoryController.removeCategory(cat) 
doesn`t work. I know it`s something about the annotations but I can`t find any 
answer.

As this controller should be used for adding new QuestionCategory, returning 
the existing categories and remove them i`ve also tried sth like that:


  | @Stateless
  | @Name("QuestionCategoryController")
  | public class QuestionCategoryControllerBean implements 
QuestionCategoryController {
  |     
  |     @Logger
  |     private Log log;
  |     
  |     @In(create = true)
  |     private QuestionCategoryManager questionCategoryManager;
  |     
  |     @DataModelSelection(value = "categories") @In(required = false) 
@Out(required = false)
  |     private QuestionCategory questionCategory;
  |     
  |     @DataModel(value = "categories")
  |     private List<QuestionCategory> categoryList;
  |     
  |     public void addCategory() {
  |         questionCategory.setCreated(new Date());
  |         questionCategoryManager.addCategory(this.questionCategory);
  |     }
  |     
  |     public void removeCategory(QuestionCategory questionCategory) { //todo
  |         log.info("Trying to remove #{questionCategory.categoryName}");
  |         if(questionCategory == null) {
  |             log.error("questionCategory is NULL !");
  |         } else {
  |             questionCategoryManager.removeCategory(questionCategory);
  |         }
  |     }
  | 
  |     @Factory("categories")
  |     public void getAllQuestionsCategories() {
  |         setCategoryList(questionCategoryManager.getAllQuestionCategories());
  |     }
  |     
  |     public List<QuestionCategory> getCategoryList() {
  |         return categoryList;
  |     }
  | 
  |     public void setCategoryList(List<QuestionCategory> categoryList) {
  |         this.categoryList = categoryList;
  |     }
  | 
  | }
  | 

Oh and the exception, I simply get an NullPointerException (or in logs 
"questionCategory is NULL !") so as I think, the QuestionCategory object isn`t 
injected into the removeQuestion method.

Any suggestions how to deal with this problem ?

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4094162#4094162

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4094162
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to