Observe-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
May 2018
- 1 participants
- 144 discussions
[Git][ultreiaio/ird-observe][develop] [jgitflow-maven-plugin]updating poms for 7.0-RC-14-SNAPSHOT development[skip ci]
by Tony CHEMIT 08 May '18
by Tony CHEMIT 08 May '18
08 May '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
d12ed299 by Tony CHEMIT at 2018-05-08T21:30:26Z
[jgitflow-maven-plugin]updating poms for 7.0-RC-14-SNAPSHOT development[skip ci]
- - - - -
13 changed files:
- client-configuration/pom.xml
- client/pom.xml
- dto/pom.xml
- observe/pom.xml
- persistence/pom.xml
- pom.xml
- server-configuration/pom.xml
- server/pom.xml
- services-client/pom.xml
- services-local/pom.xml
- services/pom.xml
- test/pom.xml
- validation/pom.xml
Changes:
=====================================
client-configuration/pom.xml
=====================================
--- a/client-configuration/pom.xml
+++ b/client-configuration/pom.xml
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
</parent>
<artifactId>client-configuration</artifactId>
=====================================
client/pom.xml
=====================================
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
</parent>
<artifactId>client</artifactId>
=====================================
dto/pom.xml
=====================================
--- a/dto/pom.xml
+++ b/dto/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
</parent>
<artifactId>dto</artifactId>
=====================================
observe/pom.xml
=====================================
--- a/observe/pom.xml
+++ b/observe/pom.xml
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
</parent>
<artifactId>observe</artifactId>
=====================================
persistence/pom.xml
=====================================
--- a/persistence/pom.xml
+++ b/persistence/pom.xml
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
</parent>
<artifactId>persistence</artifactId>
=====================================
pom.xml
=====================================
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ObServe :: Pom</name>
=====================================
server-configuration/pom.xml
=====================================
--- a/server-configuration/pom.xml
+++ b/server-configuration/pom.xml
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
</parent>
<artifactId>server-configuration</artifactId>
=====================================
server/pom.xml
=====================================
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
</parent>
<artifactId>server</artifactId>
=====================================
services-client/pom.xml
=====================================
--- a/services-client/pom.xml
+++ b/services-client/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
</parent>
<artifactId>services-client</artifactId>
=====================================
services-local/pom.xml
=====================================
--- a/services-local/pom.xml
+++ b/services-local/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
</parent>
<artifactId>services-local</artifactId>
=====================================
services/pom.xml
=====================================
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
</parent>
<artifactId>services</artifactId>
=====================================
test/pom.xml
=====================================
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
</parent>
<artifactId>test</artifactId>
=====================================
validation/pom.xml
=====================================
--- a/validation/pom.xml
+++ b/validation/pom.xml
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.0-RC-13-SNAPSHOT</version>
+ <version>7.0-RC-14-SNAPSHOT</version>
</parent>
<artifactId>validation</artifactId>
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/d12ed2993778345bf960c8145a9…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/d12ed2993778345bf960c8145a9…
You're receiving this email because of your account on gitlab.com.
1
0
08 May '18
Tony CHEMIT pushed new branch release/7.0-RC-13 at ultreiaio / ird-observe
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/tree/release/7.0-RC-13
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Improve FOB Form (when creating) - See #948)
by Tony CHEMIT 08 May '18
by Tony CHEMIT 08 May '18
08 May '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
d9cd7d7e by Tony CHEMIT at 2018-05-08T21:28:00Z
Improve FOB Form (when creating) - See #948)
- - - - -
12 changed files:
- client/src/main/java/fr/ird/observe/client/ui/content/data/seine/FloatingObjectUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/data/seine/FloatingObjectUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/seine/FloatingObjectUIModel.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/seine/dcp/FloatingObjectPartsTreeNode.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/seine/dcp/FloatingObjectPartsTreeTableModel.java
- persistence/src/main/resources/db/migration/7.2/01_update_objectMaterial-common.sql
- services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/FloatingObjectServiceLocal.java
- services-local/src/test/java/fr/ird/observe/services/local/service/data/seine/FloatingObjectServiceLocalTest.java
- services/src/main/java/fr/ird/observe/services/service/data/seine/FloatingObjectService.java
- test/src/main/resources/db/7.2/dataForTestLongline.sql.gz
- test/src/main/resources/db/7.2/dataForTestSeine.sql.gz
- test/src/main/resources/db/7.2/referentiel.sql.gz
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/seine/FloatingObjectUI.jcss
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/FloatingObjectUI.jcss
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/FloatingObjectUI.jcss
@@ -144,4 +144,5 @@ BeanComboBox {
treeTableModel:{new FloatingObjectPartsTreeTableModel(getModel())};
treeCellRenderer:{new FloatingObjectPartLegendTreeCellRenderer()};
selectionMode:{ListSelectionModel.SINGLE_SELECTION};
+ rootVisible:false;
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/seine/FloatingObjectUIHandler.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/FloatingObjectUIHandler.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/FloatingObjectUIHandler.java
@@ -22,6 +22,7 @@
package fr.ird.observe.client.ui.content.data.seine;
import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Maps;
import fr.ird.observe.client.ObserveSwingApplicationContext;
import fr.ird.observe.client.db.ClientDataContext;
import fr.ird.observe.client.db.ObserveSwingDataSource;
@@ -45,6 +46,7 @@ import fr.ird.observe.dto.data.seine.FloatingObjectReference;
import fr.ird.observe.dto.data.seine.ObjectMaterialHierarchyDto;
import fr.ird.observe.dto.form.Form;
import fr.ird.observe.dto.referential.seine.ObjectMaterialDto;
+import fr.ird.observe.dto.referential.seine.ObjectMaterialTypeReference;
import fr.ird.observe.dto.referential.seine.ObjectOperationReference;
import fr.ird.observe.dto.result.SaveResultDto;
import fr.ird.observe.services.service.actions.consolidate.dcp.ConsolidateFloatingObjectRequest;
@@ -187,7 +189,7 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto,
getModel().reset();
- openTable(partsSet, getUi().getTable());
+ openTable(partsSet, getUi().getTable(),bean.isPersisted());
setContentMode(mode);
@@ -209,7 +211,7 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto,
SwingUtilities.invokeLater(this::forceGrabFocusOnForm);
}
- private void openTable(Set<FloatingObjectPartReference> partsSet, JXTreeTable table) {
+ private void openTable(Set<FloatingObjectPartReference> partsSet, JXTreeTable table, boolean persisted) {
FloatingObjectUIModel model = getModel();
for (FloatingObjectPartReference p : partsSet) {
@@ -227,7 +229,9 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto,
FloatingObjectPartsTreeTableModel treeTableModel = (FloatingObjectPartsTreeTableModel) table.getTreeTableModel();
treeTableModel.reset();
- table.expandAll();
+ if (persisted) {
+ table.expandAll();
+ }
}
@Override
@@ -322,10 +326,15 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto,
// listen messages to see if required to add
ui.getErrorTableModel().addTableModelListener(computeTabValidStateListener);
- List<ObjectMaterialHierarchyDto> detailedForm = getFloatingObjectService().getObjectMaterialHierarchy();
+ ObjectMaterialHierarchyDto detailedForm = getFloatingObjectService().getObjectMaterialHierarchy();
+
+ ObjectMaterialTypeReference booleanType = getReferentialReferences(ObjectMaterialTypeReference.class).stream().filter(e->e.getTopiaId().equals("fr.ird.observe.entities.referentiel.seine.ObjectMaterialType#0#0")).findFirst().orElseThrow(IllegalStateException::new);
+ for (ObjectMaterialHierarchyDto objectMaterialHierarchyDto : detailedForm.getChildren()) {
+ objectMaterialHierarchyDto.setObjectMaterialType(booleanType);
+ }
Map<String, ObjectMaterialDto> allMap = new TreeMap<>();
- detailedForm.stream().flatMap(o -> o.getAllDtos().stream()).forEach(s -> allMap.putIfAbsent(s.getId(), s));
+ detailedForm.getAllDtos().forEach(s -> allMap.putIfAbsent(s.getId(), s));
FloatingObjectUIModel model = getModel();
model.setReferentialMap(allMap);
@@ -386,7 +395,7 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto,
treeModel.reset();
}
- private void initTable(List<ObjectMaterialHierarchyDto> materials, JXTreeTable table) {
+ private void initTable(ObjectMaterialHierarchyDto materials, JXTreeTable table) {
FloatingObjectPartsTreeTableModel treeModel = (FloatingObjectPartsTreeTableModel) table.getTreeTableModel();
treeModel.rebuildRootNode(materials);
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/seine/FloatingObjectUIModel.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/FloatingObjectUIModel.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/FloatingObjectUIModel.java
@@ -120,6 +120,10 @@ public class FloatingObjectUIModel extends ContentUIModel<FloatingObjectDto> {
ImmutableSet<FloatingObjectPartDto> toParts() {
ImmutableSet.Builder<FloatingObjectPartDto> result = ImmutableSet.builder();
for (ObjectMaterialDto o : getAll()) {
+ if (o.getParent()!=null && o.getParent().getParentId()==null) {
+ // first level node, can't be send
+ continue;
+ }
FloatingObjectPartDto partDto = new FloatingObjectPartDto();
partDto.setObjectMaterial(binder.toReference(referentialLocale, o));
if (arriving) {
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/seine/dcp/FloatingObjectPartsTreeNode.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/dcp/FloatingObjectPartsTreeNode.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/dcp/FloatingObjectPartsTreeNode.java
@@ -10,12 +10,12 @@ package fr.ird.observe.client.ui.content.data.seine.dcp;
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
@@ -34,7 +34,6 @@ import org.jetbrains.annotations.NotNull;
import java.util.Collections;
import java.util.Iterator;
-import java.util.List;
import java.util.Objects;
import java.util.Optional;
@@ -48,137 +47,6 @@ public class FloatingObjectPartsTreeNode extends AbstractMutableTreeTableNode im
/** Logger. */
private static final Log log = LogFactory.getLog(FloatingObjectPartsTreeNode.class);
- static FloatingObjectPartsTreeNode createRoot(FloatingObjectUIModel model, List<ObjectMaterialHierarchyDto> referential) {
- FloatingObjectPartsTreeNodeContext rootModel = new FloatingObjectPartsTreeNodeContext(model);
- FloatingObjectPartsTreeNode root = new FloatingObjectPartsTreeNode(rootModel);
- if (referential != null) {
- for (ObjectMaterialHierarchyDto dto : referential) {
- FloatingObjectPartsTreeNodeContext childModel = new FloatingObjectPartsTreeNodeContext(dto, rootModel);
- FloatingObjectPartsTreeNode node = new FloatingObjectPartsTreeNode(childModel);
- root.add(node);
- ImmutableSet.Builder<FloatingObjectPartsTreeNode> companionsBuilder = dto.isChildrenMultiSelectable() ? ImmutableSet.builder() : null;
- node.computeCompanions(companionsBuilder);
- node.setCompanions(companionsBuilder);
- }
- }
- return root;
- }
-
- boolean isNotValid() {
- return !(getUserObject().validWhenArriving && getUserObject().validWhenLeaving);
- }
-
- private static class FloatingObjectPartsTreeNodeContext {
-
- // main model to get and store values
- private final FloatingObjectUIModel uiModel;
- // dto (null for root)
- private final ObjectMaterialHierarchyDto dto;
- // Is the node is enabled (hierarchic value) ?
- private final boolean enabled;
- // Is this node editable ?
- private final boolean editable;
- // Is this node need at least one child selected ?
- private final boolean needOneSelection;
- // Is this node in the path of at least one mandatory child ancestor ?
- private final boolean mandatory;
- // Is the node is exclusive (means only one value possible for him and his brothers) ?
- private final boolean exclusive;
- // Is the node valid for whenArriving column ?
- private boolean validWhenArriving = true;
- // Is the node valid for whenLeaving column ?
- private boolean validWhenLeaving = true;
- // Set of brothers of this node that is in a exclusive group of node (only one value among all of them)
- private ImmutableSet<FloatingObjectPartsTreeNode> companions;
- // Internal to store debug node text
- private String text;
-
- FloatingObjectPartsTreeNodeContext(FloatingObjectUIModel uiModel) {
- Objects.requireNonNull(uiModel);
- this.uiModel = uiModel;
- this.dto = null;
- this.enabled = true;
- this.editable = false;
- this.mandatory = false;
- this.exclusive = false;
- this.needOneSelection = false;
- }
-
- FloatingObjectPartsTreeNodeContext(ObjectMaterialHierarchyDto dto, FloatingObjectPartsTreeNodeContext parent) {
- Objects.requireNonNull(dto);
- Objects.requireNonNull(parent);
- this.uiModel = parent.uiModel;
- this.dto = dto;
- // enabled if parent is enabled and dto is enabled
- this.enabled = parent.enabled && dto.isEnabled();
- // need one selection if is enabled and dto requires it
- this.needOneSelection = enabled && dto.isChildSelectionMandatory();
- // editable if dto is selectable (we also make sure that the object material type is here too)
- this.editable = dto.isSelectable() && dto.getObjectMaterialType() != null;
- // mandatory if enabled parent is so or parent makes this child to be
- this.mandatory = parent.mandatory || parent.needOneSelection;
- // exclusive if his parent requires it
- this.exclusive = parent.dto != null && parent.dto.isChildrenMultiSelectable();
- log.info(String.format("New node: %s - mandatory %s - needOneSelection %s - exclusive %s", dto.getLabel2(), mandatory, needOneSelection, exclusive));
- }
-
- Object getValueAt(int column) {
- switch (column) {
- case 0: // dto
- return dto;
- case 1: // when arriving
- return uiModel.getWhenArriving().get(dto);
- case 2: // when leaving
- return uiModel.getWhenLeaving().get(dto);
- }
- throw new IllegalStateException();
- }
-
- void setValueAt(Object aValue, int column) {
- switch (column) {
- case 1: // when arriving
- uiModel.setWhenArriving(dto.getId(), aValue == null ? null : String.valueOf(aValue));
- return;
- case 2: // when leaving
- uiModel.setWhenLeaving(dto.getId(), aValue == null ? null : String.valueOf(aValue));
- return;
- }
- throw new IllegalStateException();
- }
-
- boolean isColumnEditable(int column) {
- switch (column) {
- case 1: // when arriving
- return uiModel.isArriving();
- case 2: // when leaving
- return uiModel.isLeaving();
- }
- throw new IllegalStateException();
- }
-
- boolean isValid(int column) {
- switch (column) {
- case 1: // when arriving
- return validWhenArriving;
- case 2: // when leaving
- return validWhenLeaving;
- }
- throw new IllegalStateException();
- }
-
- Optional<FloatingObjectPartsTreeNode> getSelectedCompanion(int column) {
- return companions.stream().filter(n -> n.getValueAt(column) != null).findFirst();
- }
-
- public String getText() {
- if (text == null && dto != null) {
- text = String.format("%s [value: %s-%s] [valid: %s-%s]", dto.getLabel2(), getValueAt(1), getValueAt(2), isValid(1), isValid(2));
- }
- return text;
- }
-
- }
-
private FloatingObjectPartsTreeNode(FloatingObjectPartsTreeNodeContext context) {
super(context);
if (context.dto != null) {
@@ -189,6 +57,25 @@ public class FloatingObjectPartsTreeNode extends AbstractMutableTreeTableNode im
}
}
+ static FloatingObjectPartsTreeNode createRoot(FloatingObjectUIModel model, ObjectMaterialHierarchyDto dto) {
+ FloatingObjectPartsTreeNode root;
+ FloatingObjectPartsTreeNodeContext rootModel = new FloatingObjectPartsTreeNodeContext(model);
+ if (dto != null) {
+ FloatingObjectPartsTreeNodeContext childModel = new FloatingObjectPartsTreeNodeContext(dto, rootModel);
+ root = new FloatingObjectPartsTreeNode(childModel);
+ ImmutableSet.Builder<FloatingObjectPartsTreeNode> companionsBuilder = dto.isChildrenMultiSelectable() ? ImmutableSet.builder() : null;
+ root.computeCompanions(companionsBuilder);
+ root.setCompanions(companionsBuilder);
+ } else {
+ root = new FloatingObjectPartsTreeNode(rootModel);
+ }
+ return root;
+ }
+
+ boolean isNotValid() {
+ return !(getUserObject().validWhenArriving && getUserObject().validWhenLeaving);
+ }
+
@Override
public String toString() {
return getUserObject().getText();
@@ -395,4 +282,116 @@ public class FloatingObjectPartsTreeNode extends AbstractMutableTreeTableNode im
}
setCompanions(childCompanionsBuilder);
}
+
+ private static class FloatingObjectPartsTreeNodeContext {
+
+ // main model to get and store values
+ private final FloatingObjectUIModel uiModel;
+ // dto (null for root)
+ private final ObjectMaterialHierarchyDto dto;
+ // Is the node is enabled (hierarchic value) ?
+ private final boolean enabled;
+ // Is this node editable ?
+ private final boolean editable;
+ // Is this node need at least one child selected ?
+ private final boolean needOneSelection;
+ // Is this node in the path of at least one mandatory child ancestor ?
+ private final boolean mandatory;
+ // Is the node is exclusive (means only one value possible for him and his brothers) ?
+ private final boolean exclusive;
+ // Is the node valid for whenArriving column ?
+ private boolean validWhenArriving = true;
+ // Is the node valid for whenLeaving column ?
+ private boolean validWhenLeaving = true;
+ // Set of brothers of this node that is in a exclusive group of node (only one value among all of them)
+ private ImmutableSet<FloatingObjectPartsTreeNode> companions;
+ // Internal to store debug node text
+ private String text;
+
+ FloatingObjectPartsTreeNodeContext(FloatingObjectUIModel uiModel) {
+ Objects.requireNonNull(uiModel);
+ this.uiModel = uiModel;
+ this.dto = null;
+ this.enabled = true;
+ this.editable = false;
+ this.mandatory = false;
+ this.exclusive = false;
+ this.needOneSelection = false;
+ }
+
+ FloatingObjectPartsTreeNodeContext(ObjectMaterialHierarchyDto dto, FloatingObjectPartsTreeNodeContext parent) {
+ Objects.requireNonNull(dto);
+ Objects.requireNonNull(parent);
+ this.uiModel = parent.uiModel;
+ this.dto = dto;
+ // enabled if parent is enabled and dto is enabled
+ this.enabled = parent.enabled && dto.isEnabled();
+ // need one selection if is enabled and dto requires it
+ this.needOneSelection = enabled && dto.isChildSelectionMandatory();
+ // editable if dto is selectable (we also make sure that the object material type is here too)
+ this.editable = dto.isSelectable() && dto.getObjectMaterialType() != null;
+
+ // mandatory if enabled parent is so or parent makes this child to be
+ this.mandatory = parent.mandatory || parent.needOneSelection;
+ // exclusive if his parent requires it
+ this.exclusive = parent.dto != null && parent.dto.isChildrenMultiSelectable();
+ log.info(String.format("New node: %s - mandatory %s - needOneSelection %s - exclusive %s", dto.getLabel2(), mandatory, needOneSelection, exclusive));
+ }
+
+ Object getValueAt(int column) {
+ switch (column) {
+ case 0: // dto
+ return dto;
+ case 1: // when arriving
+ return uiModel.getWhenArriving().get(dto);
+ case 2: // when leaving
+ return uiModel.getWhenLeaving().get(dto);
+ }
+ throw new IllegalStateException();
+ }
+
+ void setValueAt(Object aValue, int column) {
+ switch (column) {
+ case 1: // when arriving
+ uiModel.setWhenArriving(dto.getId(), aValue == null ? null : String.valueOf(aValue));
+ return;
+ case 2: // when leaving
+ uiModel.setWhenLeaving(dto.getId(), aValue == null ? null : String.valueOf(aValue));
+ return;
+ }
+ throw new IllegalStateException();
+ }
+
+ boolean isColumnEditable(int column) {
+ switch (column) {
+ case 1: // when arriving
+ return uiModel.isArriving();
+ case 2: // when leaving
+ return uiModel.isLeaving();
+ }
+ throw new IllegalStateException();
+ }
+
+ boolean isValid(int column) {
+ switch (column) {
+ case 1: // when arriving
+ return validWhenArriving;
+ case 2: // when leaving
+ return validWhenLeaving;
+ }
+ throw new IllegalStateException();
+ }
+
+ Optional<FloatingObjectPartsTreeNode> getSelectedCompanion(int column) {
+ return companions.stream().filter(n -> n.getValueAt(column) != null).findFirst();
+ }
+
+ public String getText() {
+ if (text == null && dto != null) {
+ text = String.format("%s [value: %s-%s] [valid: %s-%s]", dto.getLabel2(), getValueAt(1), getValueAt(2), isValid(1), isValid(2));
+ }
+ return text;
+ }
+
+ }
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/seine/dcp/FloatingObjectPartsTreeTableModel.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/dcp/FloatingObjectPartsTreeTableModel.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/dcp/FloatingObjectPartsTreeTableModel.java
@@ -10,12 +10,12 @@ package fr.ird.observe.client.ui.content.data.seine.dcp;
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
@@ -32,8 +32,6 @@ import org.jdesktop.swingx.treetable.TreeTableNode;
import org.nuiton.i18n.I18n;
import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@@ -56,7 +54,7 @@ public class FloatingObjectPartsTreeTableModel extends DefaultTreeTableModel {
private ImmutableSet<FloatingObjectPartsTreeNode> withValidationNodes;
public FloatingObjectPartsTreeTableModel(FloatingObjectUIModel uiModel) {
- super(FloatingObjectPartsTreeNode.createRoot(uiModel, Collections.emptyList()), Arrays.asList(
+ super(FloatingObjectPartsTreeNode.createRoot(uiModel, null), Arrays.asList(
I18n.t("observe.common.FloatingObjectDto.table.type"),
I18n.t("observe.common.whenArriving"),
I18n.t("observe.common.whenLeaving")));
@@ -68,11 +66,6 @@ public class FloatingObjectPartsTreeTableModel extends DefaultTreeTableModel {
return (FloatingObjectPartsTreeNode) super.getRoot();
}
- public void rebuildRootNode(List<ObjectMaterialHierarchyDto> materials) {
- FloatingObjectPartsTreeNode root = FloatingObjectPartsTreeNode.createRoot(uiModel, materials);
- setRoot(root);
- }
-
@Override
public void setRoot(TreeTableNode root) {
super.setRoot(root);
@@ -91,6 +84,10 @@ public class FloatingObjectPartsTreeTableModel extends DefaultTreeTableModel {
withValidationNodes = ImmutableSet.copyOf(allNodes.stream().filter(FloatingObjectPartsTreeNode::withValidation).collect(Collectors.toSet()));
}
+ public void rebuildRootNode(ObjectMaterialHierarchyDto materials) {
+ FloatingObjectPartsTreeNode root = FloatingObjectPartsTreeNode.createRoot(uiModel, materials);
+ setRoot(root);
+ }
@Override
public int getColumnCount() {
=====================================
persistence/src/main/resources/db/migration/7.2/01_update_objectMaterial-common.sql
=====================================
--- a/persistence/src/main/resources/db/migration/7.2/01_update_objectMaterial-common.sql
+++ b/persistence/src/main/resources/db/migration/7.2/01_update_objectMaterial-common.sql
@@ -109,3 +109,4 @@ update observe_seine.objectmaterial set validation='x.length() >= 3 && x.length(
INSERT INTO observe_seine.objectMaterial (topiaid, topiaversion, topiacreatedate, lastupdatedate, needComment, status, legacyCode, standardCode, code, parent, label1, label2, label3, selectable, childrenMultiSelectable, childSelectionMandatory, objectMaterialType, validation, biodegradable, nonEntangling) values ('fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#1.3', 0, CURRENT_DATE, CURRENT_TIMESTAMP, false, 1, NULL, 'FOB', '' , null , 'FOB', 'FOB', 'FOB', false, true , true, NULL, NULL, false, false);
UPDATE observe_seine.objectmaterial SET parent='fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#1.3' WHERE parent IS NULL;
UPDATE observe_seine.objectmaterial SET parent= NULL WHERE topiaid='fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#1.3';
+UPDATE observe_seine.objectmaterial SET SELECTABLE = TRUE WHERE parent='fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#1.3' and status = '1';
\ No newline at end of file
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/FloatingObjectServiceLocal.java
=====================================
--- a/services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/FloatingObjectServiceLocal.java
+++ b/services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/FloatingObjectServiceLocal.java
@@ -74,12 +74,11 @@ public class FloatingObjectServiceLocal extends ObserveServiceLocal implements F
private static final Set<String> FOB_OBSERVED_SYSTEM_EXCLUDE_OPERATIONS = ImmutableSet.of("fr.ird.observe.entities.referentiel.seine.ObjectOperation#0#10", "fr.ird.observe.entities.referentiel.seine.ObjectOperation#0#1");
@Override
- public List<ObjectMaterialHierarchyDto> getObjectMaterialHierarchy() {
+ public ObjectMaterialHierarchyDto getObjectMaterialHierarchy() {
ObjectMaterialTopiaDao dao = getTopiaPersistenceContext().getObjectMaterialDao();
List<ObjectMaterial> objectMaterials = dao.findAll();
objectMaterials.sort(Comparator.comparing(ObjectMaterial::getCode));
- List<ObjectMaterialHierarchyDto> rootNode = getObjectMaterialHierarchyDtos(objectMaterials);
- return rootNode.get(0).getChildren();
+ return getObjectMaterialHierarchyDtos(objectMaterials).get(0);
}
@Override
=====================================
services-local/src/test/java/fr/ird/observe/services/local/service/data/seine/FloatingObjectServiceLocalTest.java
=====================================
--- a/services-local/src/test/java/fr/ird/observe/services/local/service/data/seine/FloatingObjectServiceLocalTest.java
+++ b/services-local/src/test/java/fr/ird/observe/services/local/service/data/seine/FloatingObjectServiceLocalTest.java
@@ -10,12 +10,12 @@ package fr.ird.observe.services.local.service.data.seine;
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
@@ -27,7 +27,6 @@ import fr.ird.observe.services.local.service.ServiceLocalTestSupport;
import fr.ird.observe.services.service.data.seine.FloatingObjectService;
import fr.ird.observe.test.DatabaseName;
import fr.ird.observe.test.spi.DatabaseNameConfiguration;
-import java.util.List;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -50,9 +49,8 @@ public class FloatingObjectServiceLocalTest extends ServiceLocalTestSupport {
@Test
public void getObjectMaterialHierarchy() {
- List<ObjectMaterialHierarchyDto> form = service.getObjectMaterialHierarchy();
+ ObjectMaterialHierarchyDto form = service.getObjectMaterialHierarchy();
Assert.assertNotNull(form);
- Assert.assertEquals(4, form.size());
}
=====================================
services/src/main/java/fr/ird/observe/services/service/data/seine/FloatingObjectService.java
=====================================
--- a/services/src/main/java/fr/ird/observe/services/service/data/seine/FloatingObjectService.java
+++ b/services/src/main/java/fr/ird/observe/services/service/data/seine/FloatingObjectService.java
@@ -40,8 +40,6 @@ import io.ultreia.java4all.http.spi.Delete;
import io.ultreia.java4all.http.spi.Get;
import io.ultreia.java4all.http.spi.Post;
-import java.util.List;
-
/**
* @author Tony Chemit - dev(a)tchemit.fr
*/
@@ -49,7 +47,7 @@ public interface FloatingObjectService extends ObserveService {
@Get
@ReadReferentialPermission
- List<ObjectMaterialHierarchyDto> getObjectMaterialHierarchy();
+ ObjectMaterialHierarchyDto getObjectMaterialHierarchy();
@Get
@ReadDataPermission
=====================================
test/src/main/resources/db/7.2/dataForTestLongline.sql.gz
=====================================
Binary files a/test/src/main/resources/db/7.2/dataForTestLongline.sql.gz and b/test/src/main/resources/db/7.2/dataForTestLongline.sql.gz differ
=====================================
test/src/main/resources/db/7.2/dataForTestSeine.sql.gz
=====================================
Binary files a/test/src/main/resources/db/7.2/dataForTestSeine.sql.gz and b/test/src/main/resources/db/7.2/dataForTestSeine.sql.gz differ
=====================================
test/src/main/resources/db/7.2/referentiel.sql.gz
=====================================
Binary files a/test/src/main/resources/db/7.2/referentiel.sql.gz and b/test/src/main/resources/db/7.2/referentiel.sql.gz differ
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/d9cd7d7e6d4e059073a0b42ad36…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/d9cd7d7e6d4e059073a0b42ad36…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Migration RC12c -> OutOfMemory : Java Heap Space (Closes #947)
by Tony CHEMIT 06 May '18
by Tony CHEMIT 06 May '18
06 May '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
667850b2 by Tony CHEMIT at 2018-05-06T14:48:26Z
Migration RC12c -> OutOfMemory : Java Heap Space (Closes #947)
- - - - -
27 changed files:
- client-configuration/src/main/resources/log4j.properties
- client-configuration/src/main/resources/observe-log4j.properties
- client/pom.xml
- persistence/pom.xml
- persistence/src/main/java/fr/ird/observe/persistence/ObserveTopiaApplicationContext.java
- persistence/src/main/java/fr/ird/observe/persistence/ObserveTopiaConfigurationFactory.java
- − persistence/src/main/java/fr/ird/observe/persistence/migration/AbstractDataSourceMigration.java
- − persistence/src/main/java/fr/ird/observe/persistence/migration/AbstractObserveMigrationCallBack.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_5_0.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java → persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_1.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_6.java → persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_2.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_1.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_2.java
- − persistence/src/main/java/fr/ird/observe/persistence/migration/H2DataSourceMigration.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/MigrationVersion.java
- − persistence/src/main/java/fr/ird/observe/persistence/migration/ObserveMigrationCallBackForVersionResolver.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/ObserveMigrationConfigurationProvider.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/ObserveMigrationEngine.java → persistence/src/main/java/fr/ird/observe/persistence/migration/ObserveTopiaMigrationServiceAskUserToMigrate.java
- − persistence/src/main/java/fr/ird/observe/persistence/migration/PGDataSourceMigration.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_1.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_10.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_11.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_12.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_14.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_15.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/667850b21b0be310220540c9145…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/667850b21b0be310220540c9145…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Migration RC12c -> OutOfMemory : Java Heap Space (Closes #947)
by Tony CHEMIT 05 May '18
by Tony CHEMIT 05 May '18
05 May '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
4fc4e722 by Tony CHEMIT at 2018-05-05T20:51:48Z
Migration RC12c -> OutOfMemory : Java Heap Space (Closes #947)
- - - - -
28 changed files:
- client-configuration/src/main/resources/log4j.properties
- client-configuration/src/main/resources/observe-log4j.properties
- client/pom.xml
- persistence/pom.xml
- persistence/src/main/java/fr/ird/observe/persistence/ObserveTopiaApplicationContext.java
- persistence/src/main/java/fr/ird/observe/persistence/ObserveTopiaConfigurationFactory.java
- − persistence/src/main/java/fr/ird/observe/persistence/migration/AbstractObserveMigrationCallBack.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_5_0.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java → persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_1.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_6.java → persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_2.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_1.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_2.java
- − persistence/src/main/java/fr/ird/observe/persistence/migration/H2DataSourceMigration.java
- − persistence/src/main/java/fr/ird/observe/persistence/migration/ObserveMigrationCallBackForVersionResolver.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/ObserveMigrationConfigurationProvider.java
- − persistence/src/main/java/fr/ird/observe/persistence/migration/ObserveMigrationEngine.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/AbstractDataSourceMigration.java → persistence/src/main/java/fr/ird/observe/persistence/migration/ObserveTopiaMigrationServiceAskUserToMigrate.java
- − persistence/src/main/java/fr/ird/observe/persistence/migration/PGDataSourceMigration.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_1.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_10.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_11.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_12.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_14.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_15.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_16.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/old/DataSourceMigrationForVersion_3_5.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/4fc4e7221e7efde6a48e0a1082b…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/4fc4e7221e7efde6a48e0a1082b…
You're receiving this email because of your account on gitlab.com.
1
0
04 May '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
be4985c5 by Tony CHEMIT at 2018-05-04T16:00:24Z
Fix migration - Closes #945
- - - - -
3 changed files:
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java
- persistence/src/main/resources/db/migration/6.1/00_fix_trigger-PG.sql → persistence/src/main/resources/db/migration/6.0/00_fix_trigger-PG.sql
Changes:
=====================================
persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
=====================================
--- a/persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
+++ b/persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
@@ -264,6 +264,74 @@ public class DataSourceMigrationForVersion_6_0 extends AbstractObserveMigrationC
super(callBack, PGDataSourceMigration.TYPE);
}
+ @Override
+ protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) {
+ Boolean withTriggers = topiaSqlSupport.findSingleResult(new TopiaSqlQuery<Boolean>() {
+ @Override
+ public PreparedStatement prepareQuery(Connection connection) throws SQLException {
+ return connection.prepareStatement("select exists(select * from pg_proc where proname = 'sync_activity_the_geom');");
+ }
+
+ @Override
+ public Boolean prepareResult(ResultSet resultSet) throws SQLException {
+ return resultSet.getBoolean(1);
+ }
+ });
+
+ if (withTriggers) {
+ queries.add("CREATE OR REPLACE function sync_activity_the_geom () returns trigger as '\n" +
+ "BEGIN\n" +
+ " IF (TG_OP = ''DELETE'') THEN\n" +
+ " RETURN OLD;\n" +
+ " END IF;\n" +
+ " IF (NEW.latitude IS NULL OR NEW.longitude IS NULL) THEN\n" +
+ " -- on ne calcule pas le point postgis si au moins une des -- coordonnees n est pas renseignee\n" +
+ " RAISE NOTICE ''No latitude or longitude, can not compute postgis field for id % '', NEW.topiaId;\n" +
+ " NEW.the_geom := NULL;\n" +
+ " return NEW;\n" +
+ " END IF;\n" +
+ " IF (TG_OP = ''UPDATE'' AND NEW.latitude = OLD.latitude AND NEW.longitude = OLD.longitude)\n" +
+ " THEN\n" +
+ " -- on ne calcule pas le point postgis si les coordonnées n''ont pas changées\n" +
+ " return NEW;\n" +
+ " END IF;\n" +
+ " RAISE NOTICE ''Will compute the_geom for activite % - latitude % and longitude %'', NEW.topiaId, NEW.latitude, NEW.longitude;\n" +
+ " -- affectation du point\n" +
+ " NEW.the_geom := ST_SetSRID(ST_MakePoint(NEW.longitude,NEW.latitude), 4326);\n" +
+ " RAISE NOTICE ''Computed for activity % latitude % and longitude %, the_geom %'', NEW.topiaId, NEW.latitude, NEW.longitude, NEW.the_geom;\n" +
+ "\n" +
+ " RETURN NEW;\n" +
+ "END\n" +
+ "'\n" +
+ "LANGUAGE 'plpgsql';\n");
+ queries.add("CREATE OR REPLACE function sync_harbour_the_geom () returns trigger as '\n" +
+ "BEGIN\n" +
+ " IF (TG_OP = ''DELETE'') THEN\n" +
+ " RETURN OLD;\n" +
+ " END IF;\n" +
+ " IF (NEW.latitude IS NULL OR NEW.longitude IS NULL) THEN\n" +
+ " -- on ne calcule pas le point postgis si au moins une des -- coordonnees n est pas renseignee\n" +
+ " RAISE NOTICE ''No latitude or longitude, can not compute postgis field for id % '', NEW.topiaId;\n" +
+ " NEW.the_geom := NULL;\n" +
+ " return NEW;\n" +
+ " END IF;\n" +
+ " IF (TG_OP = ''UPDATE'' AND NEW.latitude = OLD.latitude AND NEW.longitude = OLD.longitude)\n" +
+ " THEN\n" +
+ " -- on ne calcule pas le point postgis si les coordonnées n''ont pas changées\n" +
+ " return NEW;\n" +
+ " END IF;\n" +
+ " RAISE NOTICE ''Will compute the_geom for harbour % - latitude % and longitude %'', NEW.topiaId, NEW.latitude, NEW.longitude;\n" +
+ " -- affectation du point\n" +
+ " NEW.the_geom := ST_SetSRID(ST_MakePoint(NEW.longitude,NEW.latitude), 4326);\n" +
+ " RAISE NOTICE ''Computed for harbour % latitude % and longitude %, the_geom %'', NEW.topiaId, NEW.latitude, NEW.longitude, NEW.the_geom;\n" +
+ " RETURN NEW;\n" +
+ "END\n" +
+ "'\n" +
+ "LANGUAGE 'plpgsql';");
+ addScript("00", "fix_trigger", queries);
+ }
+ super.prepareMigrationScript(topiaSqlSupport, queries, showSql, showProgression);
+ }
}
}
=====================================
persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java
=====================================
--- a/persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java
+++ b/persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java
@@ -22,13 +22,8 @@ package fr.ird.observe.persistence.migration;
* #L%
*/
-import org.nuiton.topia.persistence.support.TopiaSqlQuery;
import org.nuiton.topia.persistence.support.TopiaSqlSupport;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -89,76 +84,6 @@ public class DataSourceMigrationForVersion_7_0_RC_4 extends AbstractObserveMigra
super(callBack, PGDataSourceMigration.TYPE);
}
-
- @Override
- protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) {
-
- Boolean withTriggers = topiaSqlSupport.findSingleResult(new TopiaSqlQuery<Boolean>() {
- @Override
- public PreparedStatement prepareQuery(Connection connection) throws SQLException {
- return connection.prepareStatement("select exists(select * from pg_proc where proname = 'sync_activity_the_geom');");
- }
-
- @Override
- public Boolean prepareResult(ResultSet resultSet) throws SQLException {
- return resultSet.getBoolean(1);
- }
- });
-
- if (withTriggers) {
- queries.add("CREATE OR REPLACE function sync_activity_the_geom () returns trigger as '\n" +
- "BEGIN\n" +
- " IF (TG_OP = ''DELETE'') THEN\n" +
- " RETURN OLD;\n" +
- " END IF;\n" +
- " IF (NEW.latitude IS NULL OR NEW.longitude IS NULL) THEN\n" +
- " -- on ne calcule pas le point postgis si au moins une des -- coordonnees n est pas renseignee\n" +
- " RAISE NOTICE ''No latitude or longitude, can not compute postgis field for id % '', NEW.topiaId;\n" +
- " NEW.the_geom := NULL;\n" +
- " return NEW;\n" +
- " END IF;\n" +
- " IF (TG_OP = ''UPDATE'' AND NEW.latitude = OLD.latitude AND NEW.longitude = OLD.longitude)\n" +
- " THEN\n" +
- " -- on ne calcule pas le point postgis si les coordonnées n''ont pas changées\n" +
- " return NEW;\n" +
- " END IF;\n" +
- " RAISE NOTICE ''Will compute the_geom for activite % - latitude % and longitude %'', NEW.topiaId, NEW.latitude, NEW.longitude;\n" +
- " -- affectation du point\n" +
- " NEW.the_geom := ST_SetSRID(ST_MakePoint(NEW.longitude,NEW.latitude), 4326);\n" +
- " RAISE NOTICE ''Computed for activity % latitude % and longitude %, the_geom %'', NEW.topiaId, NEW.latitude, NEW.longitude, NEW.the_geom;\n" +
- "\n" +
- " RETURN NEW;\n" +
- "END\n" +
- "'\n" +
- "LANGUAGE 'plpgsql';\n");
- queries.add("CREATE OR REPLACE function sync_harbour_the_geom () returns trigger as '\n" +
- "BEGIN\n" +
- " IF (TG_OP = ''DELETE'') THEN\n" +
- " RETURN OLD;\n" +
- " END IF;\n" +
- " IF (NEW.latitude IS NULL OR NEW.longitude IS NULL) THEN\n" +
- " -- on ne calcule pas le point postgis si au moins une des -- coordonnees n est pas renseignee\n" +
- " RAISE NOTICE ''No latitude or longitude, can not compute postgis field for id % '', NEW.topiaId;\n" +
- " NEW.the_geom := NULL;\n" +
- " return NEW;\n" +
- " END IF;\n" +
- " IF (TG_OP = ''UPDATE'' AND NEW.latitude = OLD.latitude AND NEW.longitude = OLD.longitude)\n" +
- " THEN\n" +
- " -- on ne calcule pas le point postgis si les coordonnées n''ont pas changées\n" +
- " return NEW;\n" +
- " END IF;\n" +
- " RAISE NOTICE ''Will compute the_geom for harbour % - latitude % and longitude %'', NEW.topiaId, NEW.latitude, NEW.longitude;\n" +
- " -- affectation du point\n" +
- " NEW.the_geom := ST_SetSRID(ST_MakePoint(NEW.longitude,NEW.latitude), 4326);\n" +
- " RAISE NOTICE ''Computed for harbour % latitude % and longitude %, the_geom %'', NEW.topiaId, NEW.latitude, NEW.longitude, NEW.the_geom;\n" +
- " RETURN NEW;\n" +
- "END\n" +
- "'\n" +
- "LANGUAGE 'plpgsql';");
- addScript("00", "fix_trigger", queries);
- }
- super.prepareMigrationScript(topiaSqlSupport, queries, showSql, showProgression);
- }
}
}
=====================================
persistence/src/main/resources/db/migration/6.1/00_fix_trigger-PG.sql → persistence/src/main/resources/db/migration/6.0/00_fix_trigger-PG.sql
=====================================
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/be4985c5a43440cdd373738b646…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/be4985c5a43440cdd373738b646…
You're receiving this email because of your account on gitlab.com.
1
0
04 May '18
Tony CHEMIT pushed to branch master at ultreiaio / ird-observe
Commits:
41491680 by Tony CHEMIT at 2018-05-04T16:01:00Z
Fix migration - Closes #945
- - - - -
3 changed files:
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java
- persistence/src/main/resources/db/migration/6.1/00_fix_trigger-PG.sql → persistence/src/main/resources/db/migration/6.0/00_fix_trigger-PG.sql
Changes:
=====================================
persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
=====================================
--- a/persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
+++ b/persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
@@ -264,6 +264,74 @@ public class DataSourceMigrationForVersion_6_0 extends AbstractObserveMigrationC
super(callBack, PGDataSourceMigration.TYPE);
}
+ @Override
+ protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) {
+ Boolean withTriggers = topiaSqlSupport.findSingleResult(new TopiaSqlQuery<Boolean>() {
+ @Override
+ public PreparedStatement prepareQuery(Connection connection) throws SQLException {
+ return connection.prepareStatement("select exists(select * from pg_proc where proname = 'sync_activity_the_geom');");
+ }
+
+ @Override
+ public Boolean prepareResult(ResultSet resultSet) throws SQLException {
+ return resultSet.getBoolean(1);
+ }
+ });
+
+ if (withTriggers) {
+ queries.add("CREATE OR REPLACE function sync_activity_the_geom () returns trigger as '\n" +
+ "BEGIN\n" +
+ " IF (TG_OP = ''DELETE'') THEN\n" +
+ " RETURN OLD;\n" +
+ " END IF;\n" +
+ " IF (NEW.latitude IS NULL OR NEW.longitude IS NULL) THEN\n" +
+ " -- on ne calcule pas le point postgis si au moins une des -- coordonnees n est pas renseignee\n" +
+ " RAISE NOTICE ''No latitude or longitude, can not compute postgis field for id % '', NEW.topiaId;\n" +
+ " NEW.the_geom := NULL;\n" +
+ " return NEW;\n" +
+ " END IF;\n" +
+ " IF (TG_OP = ''UPDATE'' AND NEW.latitude = OLD.latitude AND NEW.longitude = OLD.longitude)\n" +
+ " THEN\n" +
+ " -- on ne calcule pas le point postgis si les coordonnées n''ont pas changées\n" +
+ " return NEW;\n" +
+ " END IF;\n" +
+ " RAISE NOTICE ''Will compute the_geom for activite % - latitude % and longitude %'', NEW.topiaId, NEW.latitude, NEW.longitude;\n" +
+ " -- affectation du point\n" +
+ " NEW.the_geom := ST_SetSRID(ST_MakePoint(NEW.longitude,NEW.latitude), 4326);\n" +
+ " RAISE NOTICE ''Computed for activity % latitude % and longitude %, the_geom %'', NEW.topiaId, NEW.latitude, NEW.longitude, NEW.the_geom;\n" +
+ "\n" +
+ " RETURN NEW;\n" +
+ "END\n" +
+ "'\n" +
+ "LANGUAGE 'plpgsql';\n");
+ queries.add("CREATE OR REPLACE function sync_harbour_the_geom () returns trigger as '\n" +
+ "BEGIN\n" +
+ " IF (TG_OP = ''DELETE'') THEN\n" +
+ " RETURN OLD;\n" +
+ " END IF;\n" +
+ " IF (NEW.latitude IS NULL OR NEW.longitude IS NULL) THEN\n" +
+ " -- on ne calcule pas le point postgis si au moins une des -- coordonnees n est pas renseignee\n" +
+ " RAISE NOTICE ''No latitude or longitude, can not compute postgis field for id % '', NEW.topiaId;\n" +
+ " NEW.the_geom := NULL;\n" +
+ " return NEW;\n" +
+ " END IF;\n" +
+ " IF (TG_OP = ''UPDATE'' AND NEW.latitude = OLD.latitude AND NEW.longitude = OLD.longitude)\n" +
+ " THEN\n" +
+ " -- on ne calcule pas le point postgis si les coordonnées n''ont pas changées\n" +
+ " return NEW;\n" +
+ " END IF;\n" +
+ " RAISE NOTICE ''Will compute the_geom for harbour % - latitude % and longitude %'', NEW.topiaId, NEW.latitude, NEW.longitude;\n" +
+ " -- affectation du point\n" +
+ " NEW.the_geom := ST_SetSRID(ST_MakePoint(NEW.longitude,NEW.latitude), 4326);\n" +
+ " RAISE NOTICE ''Computed for harbour % latitude % and longitude %, the_geom %'', NEW.topiaId, NEW.latitude, NEW.longitude, NEW.the_geom;\n" +
+ " RETURN NEW;\n" +
+ "END\n" +
+ "'\n" +
+ "LANGUAGE 'plpgsql';");
+ addScript("00", "fix_trigger", queries);
+ }
+ super.prepareMigrationScript(topiaSqlSupport, queries, showSql, showProgression);
+ }
}
}
=====================================
persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java
=====================================
--- a/persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java
+++ b/persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java
@@ -22,13 +22,8 @@ package fr.ird.observe.persistence.migration;
* #L%
*/
-import org.nuiton.topia.persistence.support.TopiaSqlQuery;
import org.nuiton.topia.persistence.support.TopiaSqlSupport;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -89,76 +84,6 @@ public class DataSourceMigrationForVersion_7_0_RC_4 extends AbstractObserveMigra
super(callBack, PGDataSourceMigration.TYPE);
}
-
- @Override
- protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) {
-
- Boolean withTriggers = topiaSqlSupport.findSingleResult(new TopiaSqlQuery<Boolean>() {
- @Override
- public PreparedStatement prepareQuery(Connection connection) throws SQLException {
- return connection.prepareStatement("select exists(select * from pg_proc where proname = 'sync_activity_the_geom');");
- }
-
- @Override
- public Boolean prepareResult(ResultSet resultSet) throws SQLException {
- return resultSet.getBoolean(1);
- }
- });
-
- if (withTriggers) {
- queries.add("CREATE OR REPLACE function sync_activity_the_geom () returns trigger as '\n" +
- "BEGIN\n" +
- " IF (TG_OP = ''DELETE'') THEN\n" +
- " RETURN OLD;\n" +
- " END IF;\n" +
- " IF (NEW.latitude IS NULL OR NEW.longitude IS NULL) THEN\n" +
- " -- on ne calcule pas le point postgis si au moins une des -- coordonnees n est pas renseignee\n" +
- " RAISE NOTICE ''No latitude or longitude, can not compute postgis field for id % '', NEW.topiaId;\n" +
- " NEW.the_geom := NULL;\n" +
- " return NEW;\n" +
- " END IF;\n" +
- " IF (TG_OP = ''UPDATE'' AND NEW.latitude = OLD.latitude AND NEW.longitude = OLD.longitude)\n" +
- " THEN\n" +
- " -- on ne calcule pas le point postgis si les coordonnées n''ont pas changées\n" +
- " return NEW;\n" +
- " END IF;\n" +
- " RAISE NOTICE ''Will compute the_geom for activite % - latitude % and longitude %'', NEW.topiaId, NEW.latitude, NEW.longitude;\n" +
- " -- affectation du point\n" +
- " NEW.the_geom := ST_SetSRID(ST_MakePoint(NEW.longitude,NEW.latitude), 4326);\n" +
- " RAISE NOTICE ''Computed for activity % latitude % and longitude %, the_geom %'', NEW.topiaId, NEW.latitude, NEW.longitude, NEW.the_geom;\n" +
- "\n" +
- " RETURN NEW;\n" +
- "END\n" +
- "'\n" +
- "LANGUAGE 'plpgsql';\n");
- queries.add("CREATE OR REPLACE function sync_harbour_the_geom () returns trigger as '\n" +
- "BEGIN\n" +
- " IF (TG_OP = ''DELETE'') THEN\n" +
- " RETURN OLD;\n" +
- " END IF;\n" +
- " IF (NEW.latitude IS NULL OR NEW.longitude IS NULL) THEN\n" +
- " -- on ne calcule pas le point postgis si au moins une des -- coordonnees n est pas renseignee\n" +
- " RAISE NOTICE ''No latitude or longitude, can not compute postgis field for id % '', NEW.topiaId;\n" +
- " NEW.the_geom := NULL;\n" +
- " return NEW;\n" +
- " END IF;\n" +
- " IF (TG_OP = ''UPDATE'' AND NEW.latitude = OLD.latitude AND NEW.longitude = OLD.longitude)\n" +
- " THEN\n" +
- " -- on ne calcule pas le point postgis si les coordonnées n''ont pas changées\n" +
- " return NEW;\n" +
- " END IF;\n" +
- " RAISE NOTICE ''Will compute the_geom for harbour % - latitude % and longitude %'', NEW.topiaId, NEW.latitude, NEW.longitude;\n" +
- " -- affectation du point\n" +
- " NEW.the_geom := ST_SetSRID(ST_MakePoint(NEW.longitude,NEW.latitude), 4326);\n" +
- " RAISE NOTICE ''Computed for harbour % latitude % and longitude %, the_geom %'', NEW.topiaId, NEW.latitude, NEW.longitude, NEW.the_geom;\n" +
- " RETURN NEW;\n" +
- "END\n" +
- "'\n" +
- "LANGUAGE 'plpgsql';");
- addScript("00", "fix_trigger", queries);
- }
- super.prepareMigrationScript(topiaSqlSupport, queries, showSql, showProgression);
- }
}
}
=====================================
persistence/src/main/resources/db/migration/6.1/00_fix_trigger-PG.sql → persistence/src/main/resources/db/migration/6.0/00_fix_trigger-PG.sql
=====================================
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/414916806da3222e2d102b3ef5b…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/414916806da3222e2d102b3ef5b…
You're receiving this email because of your account on gitlab.com.
1
0
04 May '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
806b9177 by Tony CHEMIT at 2018-05-04T14:57:22Z
Fix migration - Closes #945
- - - - -
2 changed files:
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java
Changes:
=====================================
persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
=====================================
--- a/persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
+++ b/persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java
@@ -264,6 +264,74 @@ public class DataSourceMigrationForVersion_6_0 extends AbstractObserveMigrationC
super(callBack, PGDataSourceMigration.TYPE);
}
+ @Override
+ protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) {
+ Boolean withTriggers = topiaSqlSupport.findSingleResult(new TopiaSqlQuery<Boolean>() {
+ @Override
+ public PreparedStatement prepareQuery(Connection connection) throws SQLException {
+ return connection.prepareStatement("select exists(select * from pg_proc where proname = 'sync_activity_the_geom');");
+ }
+
+ @Override
+ public Boolean prepareResult(ResultSet resultSet) throws SQLException {
+ return resultSet.getBoolean(1);
+ }
+ });
+
+ if (withTriggers) {
+ queries.add("CREATE OR REPLACE function sync_activity_the_geom () returns trigger as '\n" +
+ "BEGIN\n" +
+ " IF (TG_OP = ''DELETE'') THEN\n" +
+ " RETURN OLD;\n" +
+ " END IF;\n" +
+ " IF (NEW.latitude IS NULL OR NEW.longitude IS NULL) THEN\n" +
+ " -- on ne calcule pas le point postgis si au moins une des -- coordonnees n est pas renseignee\n" +
+ " RAISE NOTICE ''No latitude or longitude, can not compute postgis field for id % '', NEW.topiaId;\n" +
+ " NEW.the_geom := NULL;\n" +
+ " return NEW;\n" +
+ " END IF;\n" +
+ " IF (TG_OP = ''UPDATE'' AND NEW.latitude = OLD.latitude AND NEW.longitude = OLD.longitude)\n" +
+ " THEN\n" +
+ " -- on ne calcule pas le point postgis si les coordonnées n''ont pas changées\n" +
+ " return NEW;\n" +
+ " END IF;\n" +
+ " RAISE NOTICE ''Will compute the_geom for activite % - latitude % and longitude %'', NEW.topiaId, NEW.latitude, NEW.longitude;\n" +
+ " -- affectation du point\n" +
+ " NEW.the_geom := ST_SetSRID(ST_MakePoint(NEW.longitude,NEW.latitude), 4326);\n" +
+ " RAISE NOTICE ''Computed for activity % latitude % and longitude %, the_geom %'', NEW.topiaId, NEW.latitude, NEW.longitude, NEW.the_geom;\n" +
+ "\n" +
+ " RETURN NEW;\n" +
+ "END\n" +
+ "'\n" +
+ "LANGUAGE 'plpgsql';\n");
+ queries.add("CREATE OR REPLACE function sync_harbour_the_geom () returns trigger as '\n" +
+ "BEGIN\n" +
+ " IF (TG_OP = ''DELETE'') THEN\n" +
+ " RETURN OLD;\n" +
+ " END IF;\n" +
+ " IF (NEW.latitude IS NULL OR NEW.longitude IS NULL) THEN\n" +
+ " -- on ne calcule pas le point postgis si au moins une des -- coordonnees n est pas renseignee\n" +
+ " RAISE NOTICE ''No latitude or longitude, can not compute postgis field for id % '', NEW.topiaId;\n" +
+ " NEW.the_geom := NULL;\n" +
+ " return NEW;\n" +
+ " END IF;\n" +
+ " IF (TG_OP = ''UPDATE'' AND NEW.latitude = OLD.latitude AND NEW.longitude = OLD.longitude)\n" +
+ " THEN\n" +
+ " -- on ne calcule pas le point postgis si les coordonnées n''ont pas changées\n" +
+ " return NEW;\n" +
+ " END IF;\n" +
+ " RAISE NOTICE ''Will compute the_geom for harbour % - latitude % and longitude %'', NEW.topiaId, NEW.latitude, NEW.longitude;\n" +
+ " -- affectation du point\n" +
+ " NEW.the_geom := ST_SetSRID(ST_MakePoint(NEW.longitude,NEW.latitude), 4326);\n" +
+ " RAISE NOTICE ''Computed for harbour % latitude % and longitude %, the_geom %'', NEW.topiaId, NEW.latitude, NEW.longitude, NEW.the_geom;\n" +
+ " RETURN NEW;\n" +
+ "END\n" +
+ "'\n" +
+ "LANGUAGE 'plpgsql';");
+ addScript("00", "fix_trigger", queries);
+ }
+ super.prepareMigrationScript(topiaSqlSupport, queries, showSql, showProgression);
+ }
}
}
=====================================
persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java
=====================================
--- a/persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java
+++ b/persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0_RC_4.java
@@ -22,13 +22,8 @@ package fr.ird.observe.persistence.migration;
* #L%
*/
-import org.nuiton.topia.persistence.support.TopiaSqlQuery;
import org.nuiton.topia.persistence.support.TopiaSqlSupport;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -89,76 +84,6 @@ public class DataSourceMigrationForVersion_7_0_RC_4 extends AbstractObserveMigra
super(callBack, PGDataSourceMigration.TYPE);
}
-
- @Override
- protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) {
-
- Boolean withTriggers = topiaSqlSupport.findSingleResult(new TopiaSqlQuery<Boolean>() {
- @Override
- public PreparedStatement prepareQuery(Connection connection) throws SQLException {
- return connection.prepareStatement("select exists(select * from pg_proc where proname = 'sync_activity_the_geom');");
- }
-
- @Override
- public Boolean prepareResult(ResultSet resultSet) throws SQLException {
- return resultSet.getBoolean(1);
- }
- });
-
- if (withTriggers) {
- queries.add("CREATE OR REPLACE function sync_activity_the_geom () returns trigger as '\n" +
- "BEGIN\n" +
- " IF (TG_OP = ''DELETE'') THEN\n" +
- " RETURN OLD;\n" +
- " END IF;\n" +
- " IF (NEW.latitude IS NULL OR NEW.longitude IS NULL) THEN\n" +
- " -- on ne calcule pas le point postgis si au moins une des -- coordonnees n est pas renseignee\n" +
- " RAISE NOTICE ''No latitude or longitude, can not compute postgis field for id % '', NEW.topiaId;\n" +
- " NEW.the_geom := NULL;\n" +
- " return NEW;\n" +
- " END IF;\n" +
- " IF (TG_OP = ''UPDATE'' AND NEW.latitude = OLD.latitude AND NEW.longitude = OLD.longitude)\n" +
- " THEN\n" +
- " -- on ne calcule pas le point postgis si les coordonnées n''ont pas changées\n" +
- " return NEW;\n" +
- " END IF;\n" +
- " RAISE NOTICE ''Will compute the_geom for activite % - latitude % and longitude %'', NEW.topiaId, NEW.latitude, NEW.longitude;\n" +
- " -- affectation du point\n" +
- " NEW.the_geom := ST_SetSRID(ST_MakePoint(NEW.longitude,NEW.latitude), 4326);\n" +
- " RAISE NOTICE ''Computed for activity % latitude % and longitude %, the_geom %'', NEW.topiaId, NEW.latitude, NEW.longitude, NEW.the_geom;\n" +
- "\n" +
- " RETURN NEW;\n" +
- "END\n" +
- "'\n" +
- "LANGUAGE 'plpgsql';\n");
- queries.add("CREATE OR REPLACE function sync_harbour_the_geom () returns trigger as '\n" +
- "BEGIN\n" +
- " IF (TG_OP = ''DELETE'') THEN\n" +
- " RETURN OLD;\n" +
- " END IF;\n" +
- " IF (NEW.latitude IS NULL OR NEW.longitude IS NULL) THEN\n" +
- " -- on ne calcule pas le point postgis si au moins une des -- coordonnees n est pas renseignee\n" +
- " RAISE NOTICE ''No latitude or longitude, can not compute postgis field for id % '', NEW.topiaId;\n" +
- " NEW.the_geom := NULL;\n" +
- " return NEW;\n" +
- " END IF;\n" +
- " IF (TG_OP = ''UPDATE'' AND NEW.latitude = OLD.latitude AND NEW.longitude = OLD.longitude)\n" +
- " THEN\n" +
- " -- on ne calcule pas le point postgis si les coordonnées n''ont pas changées\n" +
- " return NEW;\n" +
- " END IF;\n" +
- " RAISE NOTICE ''Will compute the_geom for harbour % - latitude % and longitude %'', NEW.topiaId, NEW.latitude, NEW.longitude;\n" +
- " -- affectation du point\n" +
- " NEW.the_geom := ST_SetSRID(ST_MakePoint(NEW.longitude,NEW.latitude), 4326);\n" +
- " RAISE NOTICE ''Computed for harbour % latitude % and longitude %, the_geom %'', NEW.topiaId, NEW.latitude, NEW.longitude, NEW.the_geom;\n" +
- " RETURN NEW;\n" +
- "END\n" +
- "'\n" +
- "LANGUAGE 'plpgsql';");
- addScript("00", "fix_trigger", queries);
- }
- super.prepareMigrationScript(topiaSqlSupport, queries, showSql, showProgression);
- }
}
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/806b917739053ab6fc380af64a5…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/806b917739053ab6fc380af64a5…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][pages] Site checkin for project ObServe :: Pom
by Tony CHEMIT 04 May '18
by Tony CHEMIT 04 May '18
04 May '18
Tony CHEMIT pushed to branch pages at ultreiaio / ird-observe
Commits:
80c8a1eb by 166231 at 2018-05-04T09:55:19Z
Site checkin for project ObServe :: Pom
- - - - -
3 changed files:
- changelog.html
- dev-activity.html
- file-activity.html
Changes:
=====================================
changelog.html
=====================================
The diff for this file was not included because it is too large.
=====================================
dev-activity.html
=====================================
--- a/dev-activity.html
+++ b/dev-activity.html
@@ -92,7 +92,7 @@
<h2><a name="Developer_Activity_Report"></a>Developer Activity Report</h2>
<div class="section">
<h3><a name="Changes_between_2018-04-04_and_2018-05-05"></a>Changes between 2018-04-04 and 2018-05-05</h3>
-<p>Total commits: 48<br />Total number of files changed: 2370</p>
+<p>Total commits: 53<br />Total number of files changed: 2370</p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Developer</th>
@@ -100,7 +100,7 @@
<th>Total Number of Files Changed</th></tr>
<tr class="b">
<td>Tony CHEMIT <dev(a)tchemit.fr></td>
-<td>48</td>
+<td>53</td>
<td>2370</td></tr></table></div></div>
</div>
</div>
=====================================
file-activity.html
=====================================
--- a/file-activity.html
+++ b/file-activity.html
@@ -92,50 +92,50 @@
<h2><a name="File_Activity_Report"></a>File Activity Report</h2>
<div class="section">
<h3><a name="Changes_between_2018-04-04_and_2018-05-05"></a>Changes between 2018-04-04 and 2018-05-05</h3>
-<p>Total commits: 48<br />Total number of files changed: 2370</p>
+<p>Total commits: 53<br />Total number of files changed: 2370</p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Filename</th>
<th>Number of Times Changed</th></tr>
<tr class="b">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/pom.xml"><b>pom.xml</b></a> </td>
-<td>18</td></tr>
+<td>23</td></tr>
<tr class="a">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/client-configuration/pom.xml">client-configuration/<b>pom.xml</b></a> </td>
-<td>14</td></tr>
+<td>19</td></tr>
<tr class="b">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/client/pom.xml">client/<b>pom.xml</b></a> </td>
-<td>13</td></tr>
+<td>18</td></tr>
<tr class="a">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/dto/pom.xml">dto/<b>pom.xml</b></a> </td>
-<td>13</td></tr>
+<td>18</td></tr>
<tr class="b">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/server/pom.xml">server/<b>pom.xml</b></a> </td>
-<td>12</td></tr>
+<td>17</td></tr>
<tr class="a">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/server-configuration/pom.xml">server-configuration/<b>pom.xml</b></a> </td>
-<td>11</td></tr>
+<td>16</td></tr>
<tr class="b">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/services/pom.xml">services/<b>pom.xml</b></a> </td>
-<td>11</td></tr>
+<td>16</td></tr>
<tr class="a">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/observe/pom.xml">observe/<b>pom.xml</b></a> </td>
-<td>10</td></tr>
+<td>15</td></tr>
<tr class="b">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/persistence/pom.xml">persistence/<b>pom.xml</b></a> </td>
-<td>10</td></tr>
+<td>15</td></tr>
<tr class="a">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/services-client/pom.xml">services-client/<b>pom.xml</b></a> </td>
-<td>10</td></tr>
+<td>15</td></tr>
<tr class="b">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/services-local/pom.xml">services-local/<b>pom.xml</b></a> </td>
-<td>10</td></tr>
+<td>15</td></tr>
<tr class="a">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/test/pom.xml">test/<b>pom.xml</b></a> </td>
-<td>10</td></tr>
+<td>15</td></tr>
<tr class="b">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/validation/pom.xml">validation/<b>pom.xml</b></a> </td>
-<td>10</td></tr>
+<td>15</td></tr>
<tr class="a">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/services-local/src/test/java/fr/ir…">services-local/src/test/java/fr/ird/observe/services/local/service/actions/validate/<b>ValidateServiceLocalTest.java</b></a> </td>
<td>7</td></tr>
@@ -143,20 +143,20 @@
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/test/src/main/java/fr/ird/observe/…">test/src/main/java/fr/ird/observe/test/<b>ObserveFixtures.java</b></a> </td>
<td>7</td></tr>
<tr class="a">
-<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/test/src/main/resources/db/7.2/dat…">test/src/main/resources/db/7.2/<b>dataForTestLongline.sql.gz</b></a> </td>
+<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/persistence/src/main/java/fr/ird/o…">persistence/src/main/java/fr/ird/observe/persistence/migration/<b>DataSourceMigrationForVersion_7_2.java</b></a> </td>
<td>6</td></tr>
<tr class="b">
-<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/test/src/main/resources/db/7.2/dat…">test/src/main/resources/db/7.2/<b>dataForTestSeine.sql.gz</b></a> </td>
+<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/test/src/main/resources/db/7.2/dat…">test/src/main/resources/db/7.2/<b>dataForTestLongline.sql.gz</b></a> </td>
<td>6</td></tr>
<tr class="a">
-<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/test/src/main/resources/db/7.2/ref…">test/src/main/resources/db/7.2/<b>referentiel.sql.gz</b></a> </td>
+<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/test/src/main/resources/db/7.2/dat…">test/src/main/resources/db/7.2/<b>dataForTestSeine.sql.gz</b></a> </td>
<td>6</td></tr>
<tr class="b">
-<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/client/src/main/java/fr/ird/observ…">client/src/main/java/fr/ird/observe/client/ui/<b>ObserveMainUIInitializer.java</b></a> </td>
+<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/test/src/main/resources/db/7.2/ref…">test/src/main/resources/db/7.2/<b>referentiel.sql.gz</b></a> </td>
<td>6</td></tr>
<tr class="a">
-<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/persistence/src/main/java/fr/ird/o…">persistence/src/main/java/fr/ird/observe/persistence/migration/<b>DataSourceMigrationForVersion_7_2.java</b></a> </td>
-<td>5</td></tr>
+<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/client/src/main/java/fr/ird/observ…">client/src/main/java/fr/ird/observe/client/ui/<b>ObserveMainUIInitializer.java</b></a> </td>
+<td>6</td></tr>
<tr class="b">
<td><a class="externalLink" href="https://gitlab.com/ultreiaio/ird-observe/client/src/main/java/fr/ird/observ…">client/src/main/java/fr/ird/observe/client/ui/content/<b>ContentUIInitializer.java</b></a> </td>
<td>5</td></tr>
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/80c8a1ebbdf756689a5f59462dc…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/80c8a1ebbdf756689a5f59462dc…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] update changelog after release 7.0-RC-12 [skip ci]
by Tony CHEMIT 04 May '18
by Tony CHEMIT 04 May '18
04 May '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
389010fb by Tony CHEMIT at 2018-05-04T09:40:36Z
update changelog after release 7.0-RC-12 [skip ci]
- - - - -
1 changed file:
- CHANGELOG.md
Changes:
=====================================
CHANGELOG.md
=====================================
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,29 @@
# ObServe changelog
* Author [Tony Chemit](mailto:dev@tchemit.fr)
- * Last generated at 2018-04-21 12:28.
+ * Last generated at 2018-05-04 11:38.
+
+## Version [7.0-RC-12](https://gitlab.com/ultreiaio/ird-observe/milestones/109)
+
+**Closed at 2018-05-04.**
+
+
+### Issues
+ * [[Anomalie 934]](https://gitlab.com/ultreiaio/ird-observe/issues/934) **Corriger le problème de validation d'une chaine de caractère dans NonTargetCatchRelease** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Anomalie 936]](https://gitlab.com/ultreiaio/ird-observe/issues/936) **Problème lors du changement de langue (les référentiels ne sont pas changé dans la bonne langue, mais ok après un redemarrage)** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 929]](https://gitlab.com/ultreiaio/ird-observe/issues/929) **Ajout d'un référentiel PS NonTargetCatchReleaseConformity** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 930]](https://gitlab.com/ultreiaio/ird-observe/issues/930) **Supprimer l'entrée non conforme du SpeciesGroupReleaseMode et toutes les associations indiuites sur les Speciesgroup** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 931]](https://gitlab.com/ultreiaio/ird-observe/issues/931) **Mettre les mêmes modes de libération que Whale shark pour le groupe d'espèce Cetaceans.** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 932]](https://gitlab.com/ultreiaio/ird-observe/issues/932) **Remplacer detectionTime et release time par un référentiel NonTargetCatchReleasingTime** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 933]](https://gitlab.com/ultreiaio/ird-observe/issues/933) **Mettre à jour le référentiel NonTargetCatchReleaseStatus** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 935]](https://gitlab.com/ultreiaio/ird-observe/issues/935) **Revue des FAD material** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 937]](https://gitlab.com/ultreiaio/ird-observe/issues/937) **Calculer en temps réel les données calculées sur un FAD lors de la modification de ses materials** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 938]](https://gitlab.com/ultreiaio/ird-observe/issues/938) **Ajouter une nouvelle règle si un dcp présent alors le type de banc est obligatoirement Objet (changement de l'algorithme de consolidation)** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 941]](https://gitlab.com/ultreiaio/ird-observe/issues/941) **Gestion des requins-baleine lors de la migration V7 et dans le fonctionnement régulier de la V7** (Thanks to Pascal Cauquil) (Reported by Pascal Cauquil)
+
+### Download
+* [Application (observe-7.0-RC-12.zip)](https://ultreia.io/release/observe-7.0-RC-12.zip)
+* [Serveur (observe-7.0-RC-12.war)](https://ultreia.io/release/observe-7.0-RC-12.war)
## Version [7.0-RC-11](https://gitlab.com/ultreiaio/ird-observe/milestones/108)
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/389010fb5c573a89c873a83d4e5…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/389010fb5c573a89c873a83d4e5…
You're receiving this email because of your account on gitlab.com.
1
0