Coverage Report - org.kuali.rice.krms.impl.repository.AgendaItemBo
 
Classes in this File Line Coverage Branch Coverage Complexity
AgendaItemBo
0%
0/70
0%
0/12
1.308
 
 1  
 /*
 2  
  * Copyright 2011 The Kuali Foundation
 3  
  *
 4  
  * Licensed under the Educational Community License, Version 1.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  *
 8  
  * http://www.opensource.org/licenses/ecl1.php
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package org.kuali.rice.krms.impl.repository;
 17  
 
 18  
 import java.util.ArrayList;
 19  
 import java.util.List;
 20  
 
 21  
 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
 22  
 import org.kuali.rice.krms.api.repository.agenda.AgendaItem;
 23  
 
 24  
 /**
 25  
  * Agenda Item business object
 26  
  * 
 27  
  * @author Kuali Rice Team (rice.collab@kuali.org)
 28  
  *
 29  
  */
 30  0
 public class AgendaItemBo extends PersistableBusinessObjectBase {
 31  
 
 32  
         private String id;
 33  
         private String agendaId;
 34  
         private String ruleId;
 35  
         private String subAgendaId;
 36  
         private String whenTrueId;
 37  
         private String whenFalseId;
 38  
         private String alwaysId;
 39  
         
 40  
         private AgendaItemBo whenTrue;
 41  
         private AgendaItemBo whenFalse;
 42  
         private AgendaItemBo always;
 43  
         
 44  
         public String getUl(AgendaItemBo firstItem) {
 45  0
                 return ("<ul>" + getUlHelper(firstItem) + "</ul>");
 46  
         }
 47  
         
 48  
         public String getUlHelper(AgendaItemBo item) {
 49  0
                 StringBuilder sb = new StringBuilder();
 50  0
                 sb.append("<li>" + ruleId + "</li>");
 51  0
                 if (whenTrue != null) {
 52  0
                         sb.append("<ul><li>when true</li><ul>");
 53  0
                         sb.append(getUlHelper(whenTrue));
 54  0
                         sb.append("</ul></ul>");
 55  
                 }
 56  0
                 if (whenFalse != null) {
 57  0
                         sb.append("<ul><li>when false</li><ul>");
 58  0
                         sb.append(getUlHelper(whenFalse));
 59  0
                         sb.append("</ul></ul>");
 60  
                 }
 61  0
                 if (always != null) {
 62  0
                         sb.append(getUlHelper(always));
 63  
                 }
 64  0
                 return sb.toString();
 65  
         }
 66  
 
 67  
     public String getRuleText() {
 68  0
         return "Build up rule text string";
 69  
     }
 70  
 
 71  
 //        def List<AgendaItemBo> alwaysList
 72  
 //        def List<AgendaItemBo> whenTrueList
 73  
 //        def List<AgendaItemBo> whenFalseList
 74  
         
 75  
         public List<AgendaItemBo> getAlwaysList() {
 76  0
                 List<AgendaItemBo> results = new ArrayList<AgendaItemBo>();
 77  
                 
 78  0
                 AgendaItemBo currentNode = this;
 79  0
                 while (currentNode.always != null) {
 80  0
                         results.add(currentNode.always);
 81  0
                         currentNode = currentNode.always;
 82  
                 }
 83  
                 
 84  0
                 return results;
 85  
         }
 86  
 
 87  
         /**
 88  
          * @return the id
 89  
          */
 90  
         public String getId() {
 91  0
                 return this.id;
 92  
         }
 93  
 
 94  
         /**
 95  
          * @param id the id to set
 96  
          */
 97  
         public void setId(String id) {
 98  0
                 this.id = id;
 99  0
         }
 100  
 
 101  
         /**
 102  
          * @return the agendaId
 103  
          */
 104  
         public String getAgendaId() {
 105  0
                 return this.agendaId;
 106  
         }
 107  
 
 108  
         /**
 109  
          * @param agendaId the agendaId to set
 110  
          */
 111  
         public void setAgendaId(String agendaId) {
 112  0
                 this.agendaId = agendaId;
 113  0
         }
 114  
 
 115  
         /**
 116  
          * @return the ruleId
 117  
          */
 118  
         public String getRuleId() {
 119  0
                 return this.ruleId;
 120  
         }
 121  
 
 122  
         /**
 123  
          * @param ruleId the ruleId to set
 124  
          */
 125  
         public void setRuleId(String ruleId) {
 126  0
                 this.ruleId = ruleId;
 127  0
         }
 128  
 
 129  
         /**
 130  
          * @return the subAgendaId
 131  
          */
 132  
         public String getSubAgendaId() {
 133  0
                 return this.subAgendaId;
 134  
         }
 135  
 
 136  
         /**
 137  
          * @param subAgendaId the subAgendaId to set
 138  
          */
 139  
         public void setSubAgendaId(String subAgendaId) {
 140  0
                 this.subAgendaId = subAgendaId;
 141  0
         }
 142  
 
 143  
 
 144  
         /**
 145  
          * @return the whenTrueId
 146  
          */
 147  
         public String getWhenTrueId() {
 148  0
                 return this.whenTrueId;
 149  
         }
 150  
 
 151  
         /**
 152  
          * @param whenTrueId the whenTrueId to set
 153  
          */
 154  
         public void setWhenTrueId(String whenTrueId) {
 155  0
                 this.whenTrueId = whenTrueId;
 156  0
         }
 157  
 
 158  
         /**
 159  
          * @return the whenFalseId
 160  
          */
 161  
         public String getWhenFalseId() {
 162  0
                 return this.whenFalseId;
 163  
         }
 164  
 
 165  
         /**
 166  
          * @param whenFalseId the whenFalseId to set
 167  
          */
 168  
         public void setWhenFalseId(String whenFalseId) {
 169  0
                 this.whenFalseId = whenFalseId;
 170  0
         }
 171  
 
 172  
         /**
 173  
          * @return the alwaysId
 174  
          */
 175  
         public String getAlwaysId() {
 176  0
                 return this.alwaysId;
 177  
         }
 178  
 
 179  
         /**
 180  
          * @param alwaysId the alwaysId to set
 181  
          */
 182  
         public void setAlwaysId(String alwaysId) {
 183  0
                 this.alwaysId = alwaysId;
 184  0
         }
 185  
 
 186  
         /**
 187  
          * @return the whenTrue
 188  
          */
 189  
         public AgendaItemBo getWhenTrue() {
 190  0
                 return this.whenTrue;
 191  
         }
 192  
 
 193  
         /**
 194  
          * @param whenTrue the whenTrue to set
 195  
          */
 196  
         public void setWhenTrue(AgendaItemBo whenTrue) {
 197  0
                 this.whenTrue = whenTrue;
 198  0
         }
 199  
 
 200  
         /**
 201  
          * @return the whenFalse
 202  
          */
 203  
         public AgendaItemBo getWhenFalse() {
 204  0
                 return this.whenFalse;
 205  
         }
 206  
 
 207  
         /**
 208  
          * @param whenFalse the whenFalse to set
 209  
          */
 210  
         public void setWhenFalse(AgendaItemBo whenFalse) {
 211  0
                 this.whenFalse = whenFalse;
 212  0
         }
 213  
 
 214  
         /**
 215  
          * @return the always
 216  
          */
 217  
         public AgendaItemBo getAlways() {
 218  0
                 return this.always;
 219  
         }
 220  
 
 221  
         /**
 222  
          * @param always the always to set
 223  
          */
 224  
         public void setAlways(AgendaItemBo always) {
 225  0
                 this.always = always;
 226  0
         }
 227  
         
 228  
 //        public List<AgendaItemBo> getWhenTrueList() {
 229  
 //                List<AgendaItemBo> results = new ArrayList<AgendaItemBo>();
 230  
 //                
 231  
 //                AgendaItemBo currentNode = this;
 232  
 //                if (currentNode.whenTrue != null) {
 233  
 //                        results.add(currentNode.whenTrue);
 234  
 //                        currentNode = currentNode.whenTrue;
 235  
 //                }
 236  
 //                while (currentNode.always != null) {
 237  
 //                        results.add(currentNode.always);
 238  
 //                        currentNode = currentNode.always;
 239  
 //                }
 240  
 //                
 241  
 //                return results;
 242  
 //        }
 243  
 //        
 244  
 //        public List<AgendaItemBo> getWhenFalseList() {
 245  
 //                List<AgendaItemBo> results = new ArrayList<AgendaItemBo>();
 246  
 //                
 247  
 //                AgendaItemBo currentNode = this;
 248  
 //                if (currentNode.whenFalse != null) {
 249  
 //                        results.add(currentNode.whenFalse);
 250  
 //                        currentNode = currentNode.whenFalse;
 251  
 //                }
 252  
 //                while (currentNode.always != null) {
 253  
 //                        results.add(currentNode.always);
 254  
 //                        currentNode = currentNode.always;
 255  
 //                }
 256  
 //                
 257  
 //                return results;
 258  
 //        }
 259  
         
 260  
         // Would make life in KNS easier to map to related AgendaItemBos, and RuleBos
 261  
         
 262  
         /**
 263  
         * Converts a mutable bo to it's immutable counterpart
 264  
         * @param bo the mutable business object
 265  
         * @return the immutable object
 266  
         */
 267  
    static AgendaItem to(AgendaItemBo bo) {
 268  0
            if (bo == null) { return null; }
 269  0
            org.kuali.rice.krms.api.repository.agenda.AgendaItem.Builder builder = 
 270  
                    org.kuali.rice.krms.api.repository.agenda.AgendaItem.Builder.create(bo.getId(), bo.getAgendaId());
 271  0
            builder.setRuleId(bo.getRuleId());
 272  0
            builder.setSubAgendaId(bo.getSubAgendaId());
 273  0
            builder.setWhenTrueId(bo.getWhenTrueId());
 274  0
            builder.setWhenFalseId(bo.getWhenFalseId());
 275  0
            builder.setAlwaysId(bo.getAlwaysId());
 276  
            
 277  0
            return builder.build();
 278  
    }
 279  
 
 280  
    /**
 281  
         * Converts a immutable object to it's mutable bo counterpart
 282  
         * @param im immutable object
 283  
         * @return the mutable bo
 284  
         */
 285  
    static AgendaItemBo from(AgendaItem im) {
 286  0
            if (im == null) { return null; }
 287  
 
 288  0
            AgendaItemBo bo = new AgendaItemBo();
 289  0
            bo.id = im.getId();
 290  0
            bo.agendaId = im.getAgendaId();
 291  0
            bo.ruleId = im.getRuleId();
 292  0
            bo.subAgendaId = im.getSubAgendaId();
 293  0
            bo.whenTrueId = im.getWhenTrueId();
 294  0
            bo.whenFalseId = im.getWhenFalseId();
 295  0
            bo.alwaysId = im.getAlwaysId();
 296  
            
 297  0
            return bo;
 298  
    }
 299  
 }