Coverage Report - org.jtheque.films.view.impl.choiceActions.DeleteChoiceAction
 
Classes in this File Line Coverage Branch Coverage Complexity
DeleteChoiceAction
0 %
0/9
0 %
0/2
1.048
DeleteChoiceAction$1
N/A
N/A
1.048
DeleteChoiceAction$ActorDeleter
0 %
0/7
N/A
1.048
DeleteChoiceAction$BorrowerDeleter
0 %
0/7
N/A
1.048
DeleteChoiceAction$CountryDeleter
0 %
0/7
N/A
1.048
DeleteChoiceAction$FilmDeleter
0 %
0/7
N/A
1.048
DeleteChoiceAction$KindDeleter
0 %
0/7
N/A
1.048
DeleteChoiceAction$LanguageDeleter
0 %
0/7
N/A
1.048
DeleteChoiceAction$RealizerDeleter
0 %
0/7
N/A
1.048
DeleteChoiceAction$SagaDeleter
0 %
0/7
N/A
1.048
DeleteChoiceAction$TypeDeleter
0 %
0/7
N/A
1.048
 
 1  
 package org.jtheque.films.view.impl.choiceActions;
 2  
 
 3  
 /*
 4  
  * This file is part of JTheque.
 5  
  *
 6  
  * JTheque is free software: you can redistribute it and/or modify
 7  
  * it under the terms of the GNU General Public License as published by
 8  
  * the Free Software Foundation, either version 3 of the License.
 9  
  *
 10  
  * JTheque is distributed in the hope that it will be useful,
 11  
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 12  
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 13  
  * GNU General Public License for more details.
 14  
  *
 15  
  * You should have received a copy of the GNU General Public License
 16  
  * along with JTheque.  If not, see <http://www.gnu.org/licenses/>.
 17  
  */
 18  
 
 19  
 import org.jtheque.core.managers.Managers;
 20  
 import org.jtheque.core.managers.language.ILanguageManager;
 21  
 import org.jtheque.core.managers.view.able.IViewManager;
 22  
 import org.jtheque.films.controllers.impl.undo.DeletedCountryEdit;
 23  
 import org.jtheque.films.controllers.impl.undo.DeletedFilmEdit;
 24  
 import org.jtheque.films.controllers.impl.undo.DeletedKindEdit;
 25  
 import org.jtheque.films.controllers.impl.undo.DeletedLanguageEdit;
 26  
 import org.jtheque.films.persistence.od.able.Film;
 27  
 import org.jtheque.films.services.able.IActorService;
 28  
 import org.jtheque.films.services.able.IFilmsService;
 29  
 import org.jtheque.films.services.able.IRealizersService;
 30  
 import org.jtheque.films.utils.Constants;
 31  
 import org.jtheque.primary.controller.impl.undo.DeletedPersonEdit;
 32  
 import org.jtheque.primary.controller.impl.undo.DeletedSagaEdit;
 33  
 import org.jtheque.primary.controller.impl.undo.DeletedTypeEdit;
 34  
 import org.jtheque.primary.od.able.Country;
 35  
 import org.jtheque.primary.od.able.Kind;
 36  
 import org.jtheque.primary.od.able.Language;
 37  
 import org.jtheque.primary.od.able.Person;
 38  
 import org.jtheque.primary.od.able.Saga;
 39  
 import org.jtheque.primary.od.able.Type;
 40  
 import org.jtheque.primary.services.able.IBorrowersService;
 41  
 import org.jtheque.primary.services.able.ICountriesService;
 42  
 import org.jtheque.primary.services.able.IKindsService;
 43  
 import org.jtheque.primary.services.able.ILanguagesService;
 44  
 import org.jtheque.primary.services.able.ISagasService;
 45  
 import org.jtheque.primary.services.able.ITypesService;
 46  
 import org.jtheque.primary.view.impl.choice.AbstractDeleteChoiceAction;
 47  
 import org.jtheque.primary.view.impl.choice.Deleter;
 48  
 
 49  
 import javax.annotation.Resource;
 50  
 
 51  
 /**
 52  
  * An action to delete the selected item.
 53  
  *
 54  
  * @author Baptiste Wicht
 55  
  */
 56  0
 public final class DeleteChoiceAction extends AbstractDeleteChoiceAction {
 57  
     @Resource
 58  
     private ISagasService sagasService;
 59  
 
 60  
     @Resource
 61  
     private IBorrowersService borrowersService;
 62  
 
 63  
     @Resource
 64  
     private ICountriesService countriesService;
 65  
 
 66  
     @Resource
 67  
     private IRealizersService realizersService;
 68  
 
 69  
     @Resource
 70  
     private ILanguagesService languagesService;
 71  
 
 72  
     @Resource
 73  
     private ITypesService typesService;
 74  
 
 75  
     @Resource
 76  
     private IKindsService kindsService;
 77  
 
 78  
     @Resource
 79  
     private IActorService actorService;
 80  
 
 81  
     @Resource
 82  
     private IFilmsService filmsService;
 83  
 
 84  
     /**
 85  
      * Construct a new DeleteChoiceAction.
 86  
      */
 87  
     public DeleteChoiceAction() {
 88  0
         super();
 89  
 
 90  0
         setDeleters(new FilmDeleter(), new ActorDeleter(), new KindDeleter(), new TypeDeleter(), new LanguageDeleter(), new RealizerDeleter(),
 91  
                 new CountryDeleter(), new BorrowerDeleter(), new SagaDeleter());
 92  0
     }
 93  
 
 94  
     @Override
 95  
     public boolean canDoAction(String action) {
 96  0
         return "delete".equals(action);
 97  
     }
 98  
 
 99  
     @Override
 100  
     public void execute() {
 101  0
         final boolean yes = Managers.getManager(IViewManager.class).askUserForConfirmation(
 102  
                 Managers.getManager(ILanguageManager.class).getMessage("choice.dialogs.delete") + ' ' + getSelectedItem().toString(),
 103  
                 Managers.getManager(ILanguageManager.class).getMessage("choice.dialogs.delete.title"));
 104  
 
 105  0
         if (yes) {
 106  0
             delete();
 107  
         }
 108  0
     }
 109  
 
 110  
     /**
 111  
      * A Deleter for Film object.
 112  
      *
 113  
      * @author Baptiste Wicht
 114  
      */
 115  0
     private final class FilmDeleter extends Deleter {
 116  
         /**
 117  
          * Construct a new FilmDeleter.
 118  
          */
 119  0
         private FilmDeleter() {
 120  0
             super(IFilmsService.DATA_TYPE);
 121  0
         }
 122  
 
 123  
         @Override
 124  
         public void delete(Object o) {
 125  0
             boolean deleted = filmsService.delete((Film) o);
 126  
 
 127  0
             addEditIfDeleted(deleted, new DeletedFilmEdit((Film) o));
 128  0
         }
 129  
     }
 130  
 
 131  
     /**
 132  
      * A Deleter for Actor object.
 133  
      *
 134  
      * @author Baptiste Wicht
 135  
      */
 136  0
     private final class ActorDeleter extends Deleter {
 137  
         /**
 138  
          * Construct a new ActorDeleter.
 139  
          */
 140  0
         private ActorDeleter() {
 141  0
             super(IActorService.DATA_TYPE);
 142  0
         }
 143  
 
 144  
         @Override
 145  
         public void delete(Object o) {
 146  0
             boolean deleted = actorService.delete((Person) o);
 147  
 
 148  0
             addEditIfDeleted(deleted, new DeletedPersonEdit((Person) o));
 149  0
         }
 150  
     }
 151  
 
 152  
     /**
 153  
      * A Deleter for Kind object.
 154  
      *
 155  
      * @author Baptiste Wicht
 156  
      */
 157  0
     private final class KindDeleter extends Deleter {
 158  
         /**
 159  
          * Construct a new KindDeleter.
 160  
          */
 161  0
         private KindDeleter() {
 162  0
             super(IKindsService.DATA_TYPE);
 163  0
         }
 164  
 
 165  
         @Override
 166  
         public void delete(Object o) {
 167  0
             boolean deleted = kindsService.delete((Kind) o);
 168  
 
 169  0
             addEditIfDeleted(deleted, new DeletedKindEdit((Kind) o));
 170  0
         }
 171  
     }
 172  
 
 173  
     /**
 174  
      * A Deleter for Type object.
 175  
      *
 176  
      * @author Baptiste Wicht
 177  
      */
 178  0
     private final class TypeDeleter extends Deleter {
 179  
         /**
 180  
          * Construct a new TypeDeleter.
 181  
          */
 182  0
         private TypeDeleter() {
 183  0
             super(ITypesService.DATA_TYPE);
 184  0
         }
 185  
 
 186  
         @Override
 187  
         public void delete(Object o) {
 188  0
             boolean deleted = typesService.delete((Type) o);
 189  
 
 190  0
             addEditIfDeleted(deleted, new DeletedTypeEdit((Type) o));
 191  0
         }
 192  
     }
 193  
 
 194  
     /**
 195  
      * A Deleter for Language object.
 196  
      *
 197  
      * @author Baptiste Wicht
 198  
      */
 199  0
     private final class LanguageDeleter extends Deleter {
 200  
         /**
 201  
          * Construct a new LanguageDeleter.
 202  
          */
 203  0
         private LanguageDeleter() {
 204  0
             super(ILanguagesService.DATA_TYPE);
 205  0
         }
 206  
 
 207  
         @Override
 208  
         public void delete(Object o) {
 209  0
             boolean deleted = languagesService.delete((Language) o);
 210  
 
 211  0
             addEditIfDeleted(deleted, new DeletedLanguageEdit((Language) o));
 212  0
         }
 213  
     }
 214  
 
 215  
     /**
 216  
      * A Deleter for Realizer object.
 217  
      *
 218  
      * @author Baptiste Wicht
 219  
      */
 220  0
     private final class RealizerDeleter extends Deleter {
 221  
         /**
 222  
          * Construct a new RealizerDeleter.
 223  
          */
 224  0
         private RealizerDeleter() {
 225  0
             super(IRealizersService.DATA_TYPE);
 226  0
         }
 227  
 
 228  
         @Override
 229  
         public void delete(Object o) {
 230  0
             boolean deleted = realizersService.delete((Person) o);
 231  
 
 232  0
             addEditIfDeleted(deleted, new DeletedPersonEdit((Person) o));
 233  0
         }
 234  
     }
 235  
 
 236  
     /**
 237  
      * A Deleter for Country object.
 238  
      *
 239  
      * @author Baptiste Wicht
 240  
      */
 241  0
     private final class CountryDeleter extends Deleter {
 242  
         /**
 243  
          * Construct a new CountryDeleter.
 244  
          */
 245  0
         private CountryDeleter() {
 246  0
             super(ICountriesService.DATA_TYPE);
 247  0
         }
 248  
 
 249  
         @Override
 250  
         public void delete(Object o) {
 251  0
             boolean deleted = countriesService.delete((Country) o);
 252  
 
 253  0
             addEditIfDeleted(deleted, new DeletedCountryEdit((Country) o));
 254  0
         }
 255  
     }
 256  
 
 257  
     /**
 258  
      * A Deleter for Borrower object.
 259  
      *
 260  
      * @author Baptiste Wicht
 261  
      */
 262  0
     private final class BorrowerDeleter extends Deleter {
 263  
         /**
 264  
          * Construct a new BorrowerDeleter.
 265  
          */
 266  0
         private BorrowerDeleter() {
 267  0
             super(Constants.BORROWERS);
 268  0
         }
 269  
 
 270  
         @Override
 271  
         public void delete(Object o) {
 272  0
             boolean deleted = borrowersService.delete((Person) o);
 273  
 
 274  0
             addEditIfDeleted(deleted, new DeletedPersonEdit((Person) o));
 275  0
         }
 276  
     }
 277  
 
 278  
     /**
 279  
      * A Deleter for Saga object.
 280  
      *
 281  
      * @author Baptiste Wicht
 282  
      */
 283  0
     private final class SagaDeleter extends Deleter {
 284  
         /**
 285  
          * Construct a new SagaDeleter.
 286  
          */
 287  0
         private SagaDeleter() {
 288  0
             super(ISagasService.DATA_TYPE);
 289  0
         }
 290  
 
 291  
         @Override
 292  
         public void delete(Object o) {
 293  0
             boolean deleted = sagasService.delete((Saga) o);
 294  
 
 295  0
             addEditIfDeleted(deleted, new DeletedSagaEdit((Saga) o));
 296  0
         }
 297  
     }
 298  
 }