|
From: <bma...@us...> - 2011-07-08 13:26:35
|
Revision: 6325
http://fudaa.svn.sourceforge.net/fudaa/?rev=6325&view=rev
Author: bmarchan
Date: 2011-07-08 13:26:28 +0000 (Fri, 08 Jul 2011)
Log Message:
-----------
Fix : Plantage lors de recherches Globales ou Atomiques
Modified Paths:
--------------
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/find/CalqueFindActionAtomic.java
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/find/EbliFindExpressionDefault.java
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/find/CalqueFindActionAtomic.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/find/CalqueFindActionAtomic.java 2011-07-06 22:13:51 UTC (rev 6324)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/find/CalqueFindActionAtomic.java 2011-07-08 13:26:28 UTC (rev 6325)
@@ -15,7 +15,6 @@
import org.fudaa.ebli.calque.ZCalqueGeometry;
import org.fudaa.ebli.calque.ZEbliCalquesPanel;
import org.fudaa.ebli.commun.EbliListeSelectionMulti;
-import org.fudaa.ebli.commun.EbliSelectionState;
import org.fudaa.ebli.find.EbliFindComponent;
import org.fudaa.ebli.find.EbliFindComponentExpr;
import org.fudaa.ebli.find.EbliFindable;
@@ -47,6 +46,7 @@
_calque.addPropertyChangeListener("mode",this);
}
+ @Override
public boolean find(final Object _idx, final String _action, final int _selOption, final EbliFindable _parent) {
if (_action.startsWith(CalqueFindComponentPolygone.getID())) {
return findPolygone(_idx, _action, _selOption, _parent);
@@ -101,7 +101,13 @@
// Mode atomique.
if (((ZCalqueGeometry)layer_).isAtomicMode()) {
+ // On recupere le tableau pour chaque atomique stock\xE9 dans la valeur de la variable
+ for (int i=0; i<values.length; i++) {
+ values[i]=vars[i].getValue();
+ }
+
int nbAtomics=((ZCalqueGeometry)layer_).modeleDonnees().getNbPointForGeometry(idxGeom);
+
for (int iat=0; iat<nbAtomics; iat++) {
for (int j=0; j<vars.length; j++) {
vars[j].setValue(((Object[])values[j])[iat]);
@@ -115,9 +121,6 @@
// Mode global
else {
- for (int j=0; j<vars.length; j++) {
- vars[j].setValue(values[j]);
- }
final int val=(int)expr_.getParser().getValue();
if (val==1) {
// La liste des sous objets est vide, mais pr\xE9sente.
@@ -132,6 +135,7 @@
}
+ @Override
protected EbliFindComponent buildExprComp() {
exprComp_=(EbliFindComponentExpr)super.buildExprComp();
exprComp_.setFindOnAtomic(((ZCalqueGeometry)layer_).isAtomicMode());
@@ -139,6 +143,7 @@
return exprComp_;
}
+ @Override
protected EbliFindComponent buildPolygoneComponent(final EbliFindable _parent) {
polyComp_ = new CalqueFindComponentPolygone(((ZEbliCalquesPanel) _parent).getDonneesCalque());
polyComp_.setFindOnAtomic(((ZCalqueGeometry)layer_).isAtomicMode());
@@ -147,7 +152,7 @@
public void propertyChange(PropertyChangeEvent _evt) {
if ("mode".equals(_evt.getPropertyName())) {
- boolean isAtomic=((Boolean)_evt.getNewValue()).booleanValue();
+ boolean isAtomic=ZCalqueGeometry.SelectionMode.ATOMIC.equals(_evt.getNewValue());
buildExpr();
if (exprComp_!=null) {
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/find/EbliFindExpressionDefault.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/find/EbliFindExpressionDefault.java 2011-07-06 22:13:51 UTC (rev 6324)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/find/EbliFindExpressionDefault.java 2011-07-08 13:26:28 UTC (rev 6325)
@@ -45,7 +45,9 @@
}
public void majVariable(final int _idx, final Variable[] _varToUpdate) {
- i_.setValue(CtuluLib.getDouble(_idx + 1));
+ // Integer : Important pour obtenir un nombre entier lors de l'op\xE9ration Add()
+ // avec un String.
+ i_.setValue(new Integer(_idx + 1));
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|