Author: chatellier Date: 2011-04-29 09:21:11 +0000 (Fri, 29 Apr 2011) New Revision: 3297 Log: Fix NPE Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/tree/FisheryTreeRenderer.java isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityInputHandler.java Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java 2011-04-29 09:19:23 UTC (rev 3296) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java 2011-04-29 09:21:11 UTC (rev 3297) @@ -161,8 +161,6 @@ FisheryDataProvider dataProvider = new FisheryDataProvider(fisheryRegion); fisheryTreeHelper.setDataProvider(dataProvider); TreeModel fisheryTreeModel = fisheryTreeHelper.createTreeModel(fisheryRegion); - // fix strange region switch error - //inputUI.getFisheryRegionTree().setCellRenderer(null); inputUI.getFisheryRegionTree().setModel(fisheryTreeModel); inputUI.getFisheryRegionTree().setCellRenderer(new FisheryTreeRenderer(dataProvider)); inputUI.getFisheryRegionTree().setSelectionModel(new FisheryTreeSelectionModel(inputUI)); Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/tree/FisheryTreeRenderer.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/tree/FisheryTreeRenderer.java 2011-04-29 09:19:23 UTC (rev 3296) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/tree/FisheryTreeRenderer.java 2011-04-29 09:21:11 UTC (rev 3297) @@ -86,43 +86,49 @@ TopiaContext topiaContext = ((FisheryRegionImpl)fisheryRegion).getTopiaContext(); try { TopiaEntity entity = topiaContext.findByTopiaId(node.getId()); - - if (FisheryRegion.class.isAssignableFrom(entity.getClass())) { - stringValue = ((FisheryRegion)entity).getName(); + + // il arrive que ca bug + // lorsqu'un renderer essaye de rendre quelque chose qui n'existe plus + // cela arrive notement sur le changement de region + // lorsqu'une est deja chargée + if (entity != null) { + if (FisheryRegion.class.isAssignableFrom(entity.getClass())) { + stringValue = ((FisheryRegion)entity).getName(); + } + else if (Cell.class.isAssignableFrom(entity.getClass())) { + stringValue = ((Cell)entity).getName(); + } + else if (Gear.class.isAssignableFrom(entity.getClass())) { + stringValue = ((Gear)entity).getName(); + } + else if (Metier.class.isAssignableFrom(entity.getClass())) { + stringValue = ((Metier)entity).getName(); + } + else if (Population.class.isAssignableFrom(entity.getClass())) { + stringValue = ((Population)entity).getName(); + } + else if (Port.class.isAssignableFrom(entity.getClass())) { + stringValue = ((Port)entity).getName(); + } + else if (SetOfVessels.class.isAssignableFrom(entity.getClass())) { + stringValue = ((SetOfVessels)entity).getName(); + } + else if (Species.class.isAssignableFrom(entity.getClass())) { + stringValue = ((Species)entity).getName(); + } + else if (Strategy.class.isAssignableFrom(entity.getClass())) { + stringValue = ((Strategy)entity).getName(); + } + else if (TripType.class.isAssignableFrom(entity.getClass())) { + stringValue = ((TripType)entity).getName(); + } + else if (VesselType.class.isAssignableFrom(entity.getClass())) { + stringValue = ((VesselType)entity).getName(); + } + else if (Zone.class.isAssignableFrom(entity.getClass())) { + stringValue = ((Zone)entity).getName(); + } } - else if (Cell.class.isAssignableFrom(entity.getClass())) { - stringValue = ((Cell)entity).getName(); - } - else if (Gear.class.isAssignableFrom(entity.getClass())) { - stringValue = ((Gear)entity).getName(); - } - else if (Metier.class.isAssignableFrom(entity.getClass())) { - stringValue = ((Metier)entity).getName(); - } - else if (Population.class.isAssignableFrom(entity.getClass())) { - stringValue = ((Population)entity).getName(); - } - else if (Port.class.isAssignableFrom(entity.getClass())) { - stringValue = ((Port)entity).getName(); - } - else if (SetOfVessels.class.isAssignableFrom(entity.getClass())) { - stringValue = ((SetOfVessels)entity).getName(); - } - else if (Species.class.isAssignableFrom(entity.getClass())) { - stringValue = ((Species)entity).getName(); - } - else if (Strategy.class.isAssignableFrom(entity.getClass())) { - stringValue = ((Strategy)entity).getName(); - } - else if (TripType.class.isAssignableFrom(entity.getClass())) { - stringValue = ((TripType)entity).getName(); - } - else if (VesselType.class.isAssignableFrom(entity.getClass())) { - stringValue = ((VesselType)entity).getName(); - } - else if (Zone.class.isAssignableFrom(entity.getClass())) { - stringValue = ((Zone)entity).getName(); - } } catch (TopiaException eee) { throw new IsisFishRuntimeException("Can't get entity for id " + node.getId(), eee); } Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityInputHandler.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityInputHandler.java 2011-04-29 09:19:23 UTC (rev 3296) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityInputHandler.java 2011-04-29 09:21:11 UTC (rev 3297) @@ -114,8 +114,6 @@ FisheryDataProvider dataProvider = new FisheryDataProvider(fisheryRegion); treeHelper.setDataProvider(dataProvider); TreeModel model = treeHelper.createTreeModel(fisheryRegion); - // fix strange region switch error - sensitivityTabUI.getFisheryRegionTree().setCellRenderer(null); sensitivityTabUI.getFisheryRegionTree().setModel(model); sensitivityTabUI.getFisheryRegionTree().setCellRenderer(new FisheryTreeRenderer(dataProvider)); treeHelper.setUI(sensitivityTabUI.getFisheryRegionTree(), true, false, null);