Displaying differences for changeset
 
display as  

src/java/m/rhem/rhem03_compEsd/V2_0.java

@@ -29,6 +29,7 @@
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.ArrayList;
+import java.util.Collections;
 import javax.ws.rs.Path;
 import oms3.annotations.Description;
 import oms3.annotations.Name;
@@ -101,7 +102,7 @@
                 ArrayList<EcologicalSite> ecoList = new ArrayList<>();
                 for (soils.Coecoclass coEcoClass : component.ecoClasses().values()) {
                     String ecoclassid = coEcoClass.ecoclassid();
-                    if (ecoclassid != null) {
+                    if (ecoclassid != null && ecoclassid.startsWith("R")) {
                         try (Connection esdConnection = getResourceJDBC(DBResources.ESD);
                                 Statement esdStmt = esdConnection.createStatement();
                                 ResultSet resultSet = esdStmt.executeQuery(DBQueries.RHEM03Query04(ecoclassid));) {
@@ -116,17 +117,19 @@
 
                 ArrayList<SurfaceTexture> surfaceTextureList = new ArrayList<>();
                 for (soils.Horizon horizon : component.horizons.values()) {
-                    for (soils.TextureGroup textureGroup : horizon.textureGroups.values()) {
-                        for (soils.Texture texture : textureGroup.textures.values()) {
-                            String texcl = texture.texcl();
-                            try (Statement statement = crdb.createStatement();
-                                    ResultSet resultSet = statement.executeQuery(DBQueries.RHEM03Query06(texcl));) {
-                                while (resultSet.next()) {
-                                    int textureId = resultSet.getInt("texture_subclass_id");
-                                    String textureClass = resultSet.getString("text_abreviation");
-                                    String textureClassLabel = resultSet.getString("text_label");
-                                    surfaceTextureList.add(new SurfaceTexture(texcl,
-                                            textureId, textureClass, textureClassLabel));
+                    if (horizon.hzdept_r() == 0) {
+                        for (soils.TextureGroup textureGroup : horizon.textureGroups.values()) {
+                            for (soils.Texture texture : textureGroup.textures.values()) {
+                                String texcl = texture.texcl();
+                                try (Statement statement = crdb.createStatement();
+                                        ResultSet resultSet = statement.executeQuery(DBQueries.RHEM03Query06(texcl));) {
+                                    while (resultSet.next()) {
+                                        int textureId = resultSet.getInt("texture_subclass_id");
+                                        String textureClass = resultSet.getString("text_abreviation");
+                                        String textureClassLabel = resultSet.getString("text_label");
+                                        surfaceTextureList.add(new SurfaceTexture(texcl,
+                                                textureId, textureClass, textureClassLabel));
+                                    }
                                 }
                             }
                         }
@@ -135,6 +138,7 @@
                 comp.setSurfaceTextureList(surfaceTextureList);
                 componentList.add(comp);
             }
+            componentList.sort((o1, o2) -> Double.compare(o2.getComppctR(), o1.getComppctR()));
             mapunitList.add(new Mapunit(mapUnit.musym(), mapUnit.muname(), componentList));
         }
     }