This is an automated email from the ASF dual-hosted git repository.

sergeykamov pushed a commit to branch NLPCRAFT-366
in repository 
https://gitbox.apache.org/repos/asf/incubator-nlpcraft-java-client.git


The following commit(s) were added to refs/heads/NLPCRAFT-366 by this push:
     new e830764  WIP.
e830764 is described below

commit e830764f3af15c52c1a03d42b04f1884d40164ce
Author: Sergey Kamov <[email protected]>
AuthorDate: Thu Aug 5 12:25:53 2021 +0300

    WIP.
---
 pom.xml                                            |   7 +-
 .../java/org/apache/nlpcraft/client/NCClient.java  |  14 +--
 .../apache/nlpcraft/client/NCClientBuilder.java    |  22 +---
 .../java/org/apache/nlpcraft/client/NCElement.java |   2 +-
 .../java/org/apache/nlpcraft/client/NCValue.java   |   5 +-
 .../apache/nlpcraft/client/impl/NCClientImpl.java  | 130 +--------------------
 .../nlpcraft/client/impl/beans/NCElementBean.java  |  10 +-
 .../nlpcraft/client/impl/beans/NCValueBean.java    |   8 ++
 .../org/apache/nlpcraft/client/NCModelTest1.java   |  43 ++++---
 .../nlpcraft/client/models/NCRestSpecModel.java    | 100 +++++++++++++++-
 .../nlpcraft/client/models/NCSpecModelAdapter.java |  60 +---------
 11 files changed, 148 insertions(+), 253 deletions(-)

diff --git a/pom.xml b/pom.xml
index 86320de..fec112e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -118,12 +118,7 @@
             <groupId>org.apache.nlpcraft</groupId>
             <artifactId>nlpcraft</artifactId>
             <version>${nlpcraft.ver}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>edu.stanford.nlp</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.junit.jupiter</groupId>
diff --git a/src/main/java/org/apache/nlpcraft/client/NCClient.java 
b/src/main/java/org/apache/nlpcraft/client/NCClient.java
index 91efd74..b0c514f 100644
--- a/src/main/java/org/apache/nlpcraft/client/NCClient.java
+++ b/src/main/java/org/apache/nlpcraft/client/NCClient.java
@@ -75,14 +75,6 @@ public interface NCClient {
     String getClientUserPassword();
 
     /**
-     * Gets whether or not this client is configured with embedded probe.
-     *
-     * @return Whether or not this client is configured with embedded probe.
-     * @see NCClientBuilder
-     */
-    boolean isClientEmbeddedMode();
-
-    /**
      * Gets whether or not this client is configured with cancel-on-exit logic.
      * 
      * @return Whether or not this client is configured with cancel-on-exit 
logic
@@ -555,13 +547,13 @@ public interface NCClient {
      * @throws IOException Thrown in case of generic I/O errors.
      * @see <a href="https://nlpcraft.apache.org/tools/syn_tool.html";>Synonym 
suggestion tool</a>.
      */
-    NCSuggestionData suggestSynonyms(String mdlId, Double minScore)  throws 
NCClientException, IOException;
+    NCSuggestionData suggestSynonyms(String mdlId, Double minScore) throws 
NCClientException, IOException;
 
     // TODO:
-    NCElementSynonymsData getSynonyms(String mdlId, String elmId)  throws 
NCClientException, IOException;
+    NCElementSynonymsData getSynonyms(String mdlId, String elmId) throws 
NCClientException, IOException;
 
     // TODO:
-    NCModelInfo getModelInfo(String mdlId)  throws NCClientException, 
IOException;
+    NCModelInfo getModelInfo(String mdlId) throws NCClientException, 
IOException;
     
     /**
      * Closes the client and signs out from the REST server. Any further calls 
to this client will result in
diff --git a/src/main/java/org/apache/nlpcraft/client/NCClientBuilder.java 
b/src/main/java/org/apache/nlpcraft/client/NCClientBuilder.java
index c0a238b..8c6d785 100644
--- a/src/main/java/org/apache/nlpcraft/client/NCClientBuilder.java
+++ b/src/main/java/org/apache/nlpcraft/client/NCClientBuilder.java
@@ -53,9 +53,7 @@ public class NCClientBuilder {
     public static final String DFLT_PWD = "admin";
     /** Default cancel on exit flag. */
     public static final boolean DFLT_CANCEL_ON_EXIT = true;
-    /** Default embedded probe mode. */
-    public static final boolean DFLT_EMBEDDED_PROBE = false;
-    
+
     private final NCClientImpl impl = new NCClientImpl();
     
     /**
@@ -119,21 +117,6 @@ public class NCClientBuilder {
     }
     
     /**
-     * Sets embedded probe mode flag. If set to {@code true} the implementation
-     * will expect that the embedded probe is running in the local JVM and 
will receive
-     * query result via local callbacks. See <code>NCEmbeddedProbe</code> 
class for more details.
-     *
-     * @param embeddedMode Embedded probe mode.
-     * @return Current client builder.
-     * @see #DFLT_EMBEDDED_PROBE
-     */
-    public NCClientBuilder setEmbeddedProbe(boolean embeddedMode) {
-        impl.setEmbeddedProbe(embeddedMode);
-
-        return this;
-    }
-    
-    /**
      * Builds a client instance with configured settings.
      *
      * @return Newly created instance of {@link NCClient}.
@@ -161,9 +144,6 @@ public class NCClientBuilder {
         if (impl.isCancelOnExit() == null)
             impl.setCancelOnExit(DFLT_CANCEL_ON_EXIT);
 
-        if (impl.isEmbeddedProbe() == null)
-            impl.setEmbeddedProbe(DFLT_EMBEDDED_PROBE);
-
         impl.initialize();
         
         return impl;
diff --git a/src/main/java/org/apache/nlpcraft/client/NCElement.java 
b/src/main/java/org/apache/nlpcraft/client/NCElement.java
index f470092..4c315bd 100644
--- a/src/main/java/org/apache/nlpcraft/client/NCElement.java
+++ b/src/main/java/org/apache/nlpcraft/client/NCElement.java
@@ -21,7 +21,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
-// TODO: same as model NCElement without getValueLoader....
+// TODO: like a model NCElement without getValueLoader
 public interface NCElement {
     String getId();
 
diff --git a/src/main/java/org/apache/nlpcraft/client/NCValue.java 
b/src/main/java/org/apache/nlpcraft/client/NCValue.java
index 953ae25..e4ceebc 100644
--- a/src/main/java/org/apache/nlpcraft/client/NCValue.java
+++ b/src/main/java/org/apache/nlpcraft/client/NCValue.java
@@ -17,7 +17,10 @@
 
 package org.apache.nlpcraft.client;
 
-// TODO: same as model NCValue without synonyms
+import java.util.List;
+
+// TODO: like model NCValue
 public interface NCValue {
     String getName();
+    List<String> getSynonyms();
 }
diff --git a/src/main/java/org/apache/nlpcraft/client/impl/NCClientImpl.java 
b/src/main/java/org/apache/nlpcraft/client/impl/NCClientImpl.java
index 027156b..9327c19 100644
--- a/src/main/java/org/apache/nlpcraft/client/impl/NCClientImpl.java
+++ b/src/main/java/org/apache/nlpcraft/client/impl/NCClientImpl.java
@@ -63,8 +63,6 @@ import 
org.apache.nlpcraft.client.impl.beans.NCTokenCreationBean;
 import org.apache.nlpcraft.client.impl.beans.NCUserAddBean;
 import org.apache.nlpcraft.client.impl.beans.NCUserBean;
 import org.apache.nlpcraft.client.impl.beans.NCUsersAllBean;
-import org.apache.nlpcraft.model.tools.embedded.NCEmbeddedProbe;
-import org.apache.nlpcraft.model.tools.embedded.NCEmbeddedResult;
 
 import java.io.IOException;
 import java.lang.reflect.Type;
@@ -73,8 +71,6 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
@@ -131,15 +127,11 @@ public class NCClientImpl implements NCClient {
     private String email;
     private String pwd;
     private Boolean cancelOnExit;
-    private Boolean embeddedProbe;
-    
+
     private CloseableHttpClient httpCli;
     private String acsTok;
     private volatile boolean started = false;
     
-    private final Map<String, NCEmbeddedResult> embeddedResMap = new 
ConcurrentHashMap<>();
-    private final Object mux = new Object();
-    
     private static<T> T convert(JsonObject o, String name, 
Function<JsonElement, T> converter) {
         JsonElement e = o.get(name);
     
@@ -157,11 +149,6 @@ public class NCClientImpl implements NCClient {
     }
 
     @Override
-    public boolean isClientEmbeddedMode() {
-        return embeddedProbe;
-    }
-
-    @Override
     public boolean isClientCancelOnExit() {
         return cancelOnExit;
     }
@@ -220,22 +207,6 @@ public class NCClientImpl implements NCClient {
     }
 
     /**
-     * 
-     * @param embeddedProbe
-     */
-    public void setEmbeddedProbe(Boolean embeddedProbe) {
-        this.embeddedProbe = embeddedProbe;
-    }
-
-    /**
-     *
-     * @return
-     */
-    public Boolean isEmbeddedProbe() {
-        return embeddedProbe;
-    }
-    
-    /**
      *
      * @return
      */
@@ -294,18 +265,6 @@ public class NCClientImpl implements NCClient {
         if (reqCfg == null)
             reqCfg = RequestConfig.DEFAULT;
     
-        if (embeddedProbe) {
-            Consumer<NCEmbeddedResult> embeddedCb = (NCEmbeddedResult res) -> {
-                embeddedResMap.put(res.getServerRequestId(), res);
-        
-                synchronized (mux) {
-                    mux.notifyAll();
-                }
-            };
-        
-            NCEmbeddedProbe.registerCallback(embeddedCb);
-        }
-        
         acsTok = restSignin();
         
         started = true;
@@ -704,93 +663,6 @@ public class NCClientImpl implements NCClient {
         notNull(mdlId, "mdlId");
         notNull(txt, "txt");
 
-        if (embeddedProbe) {
-            String srvReqId = ask(mdlId, txt, data, enableLog, usrId, 
usrExtId);
-            int timeout = reqCfg.getSocketTimeout();
-            long maxTime = System.currentTimeMillis() + timeout;
-
-            while (true) {
-                NCEmbeddedResult res = embeddedResMap.get(srvReqId);
-
-                if (res != null)
-                    return new NCResult() {
-                        @Override
-                        public String getServerRequestId() {
-                            return res.getServerRequestId();
-                        }
-
-                        @Override
-                        public String getText() {
-                            return res.getOriginalText();
-                        }
-
-                        @Override
-                        public long getUserId() {
-                            return res.getUserId();
-                        }
-
-                        @Override
-                        public String getModelId() {
-                            return res.getModelId();
-                        }
-
-                        @Override
-                        public String getProbeId() {
-                            return res.getProbeId();
-                        }
-
-                        @Override
-                        public boolean isReady() {
-                            return true;
-                        }
-
-                        @Override
-                        public String getResultType() {
-                            return res.getType();
-                        }
-
-                        @Override
-                        public String getResultBody() {
-                            return res.getBody();
-                        }
-
-                        @Override
-                        public Integer getErrorCode() {
-                            return res.getErrorCode() ==  0 ? null : 
res.getErrorCode();
-                        }
-
-                        @Override
-                        public String getErrorMessage() {
-                            return res.getErrorMessage();
-                        }
-
-                        @Override
-                        public String getLogHolder() {
-                            return res.getLogJson();
-                        }
-
-                        @Override
-                        public Map<String, Object> getResultMeta() {
-                            return res.getMetadata();
-                        }
-                    };
-
-                long sleepTime = maxTime - System.currentTimeMillis();
-
-                if (sleepTime <= 0)
-                    throw new NCClientException(String.format("Request 
timeout: %d", timeout));
-
-                synchronized (mux) {
-                    try {
-                        mux.wait(sleepTime);
-                    }
-                    catch (InterruptedException e) {
-                        throw new NCClientException("Result wait thread 
interrupted.", e);
-                    }
-                }
-            }
-        }
-
         NCAskSyncBean b =
             checkAndExtract(
                 post(
diff --git 
a/src/main/java/org/apache/nlpcraft/client/impl/beans/NCElementBean.java 
b/src/main/java/org/apache/nlpcraft/client/impl/beans/NCElementBean.java
index 00f2391..109b71c 100644
--- a/src/main/java/org/apache/nlpcraft/client/impl/beans/NCElementBean.java
+++ b/src/main/java/org/apache/nlpcraft/client/impl/beans/NCElementBean.java
@@ -37,8 +37,10 @@ public class NCElementBean implements NCElement {
     @SerializedName("values") private List<NCValueBean> values;
     @SerializedName("parentId") private String parentId;
     @SerializedName("synonyms") private List<String> synonyms;
-    @SerializedName("permutateSynonyms") private Optional<Boolean> 
permutateSynonyms;
-    @SerializedName("sparse") private Optional<Boolean> sparse;
+    // java.lang.Boolean but not boolean
+    @SerializedName("permutateSynonyms") private Boolean permutateSynonyms;
+    // java.lang.Boolean but not boolean
+    @SerializedName("sparse") private Boolean sparse;
 
     @Override
     public String getId() {
@@ -77,11 +79,11 @@ public class NCElementBean implements NCElement {
 
     @Override
     public Optional<Boolean> isPermutateSynonyms() {
-        return permutateSynonyms != null ? permutateSynonyms: Optional.empty();
+        return Optional.ofNullable(permutateSynonyms);
     }
 
     @Override
     public Optional<Boolean> isSparse() {
-        return sparse != null ? sparse: Optional.empty();
+        return Optional.ofNullable(sparse);
     }
 }
diff --git 
a/src/main/java/org/apache/nlpcraft/client/impl/beans/NCValueBean.java 
b/src/main/java/org/apache/nlpcraft/client/impl/beans/NCValueBean.java
index 7eb7525..2d4880f 100644
--- a/src/main/java/org/apache/nlpcraft/client/impl/beans/NCValueBean.java
+++ b/src/main/java/org/apache/nlpcraft/client/impl/beans/NCValueBean.java
@@ -20,14 +20,22 @@ package org.apache.nlpcraft.client.impl.beans;
 import com.google.gson.annotations.SerializedName;
 import org.apache.nlpcraft.client.NCValue;
 
+import java.util.List;
+
 /**
  * REST bean.
  */
 public class NCValueBean implements NCValue {
     @SerializedName("name") private String name;
+    @SerializedName("synonyms") private List<String> synonyms;
 
     @Override
     public String getName() {
         return name;
     }
+
+    @Override
+    public List<String> getSynonyms() {
+        return synonyms;
+    }
 }
diff --git a/src/test/java/org/apache/nlpcraft/client/NCModelTest1.java 
b/src/test/java/org/apache/nlpcraft/client/NCModelTest1.java
index 0455c1d..3cc7e90 100644
--- a/src/test/java/org/apache/nlpcraft/client/NCModelTest1.java
+++ b/src/test/java/org/apache/nlpcraft/client/NCModelTest1.java
@@ -28,7 +28,7 @@ import java.util.Set;
 import java.util.stream.Collectors;
 
 import static org.apache.nlpcraft.client.models.NCRestSpecModel.MDL_ID;
-import static org.apache.nlpcraft.client.models.NCRestSpecModel.VAL_ELEM_ID;
+import static org.apache.nlpcraft.client.models.NCRestSpecModel.VAL_ELEM_ID1;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
@@ -43,7 +43,7 @@ class NCModelTest1 extends NCTestAdapter {
 
     @Test
     void testElementSynonyms() throws Exception {
-        NCElementSynonymsData data = admCli.getSynonyms(MDL_ID, VAL_ELEM_ID);
+        NCElementSynonymsData data = admCli.getSynonyms(MDL_ID, VAL_ELEM_ID1);
 
         assertTrue(data.getSynonymsCnt() > 0);
         assertTrue(data.getSynonymsExpCnt() > 0);
@@ -116,21 +116,20 @@ class NCModelTest1 extends NCTestAdapter {
             
elems2.stream().sorted(Comparator.comparing(org.apache.nlpcraft.client.NCElement::getId)).collect(Collectors.toList());
 
         for (int i = 0; i < elemsCnt; i++) {
-            org.apache.nlpcraft.model.NCElement e1 = elemList1.get(i);
-            org.apache.nlpcraft.client.NCElement e2 = elemList2.get(i);
-
-            assertEquals(e1.getId(), e2.getId());
-            assertEquals(e1.getGroups(), e2.getGroups());
-            assertEquals(e1.getMetadata(), e2.getMetadata());
-            assertEquals(e1.getDescription(), e2.getDescription());
-            assertEquals(e1.getParentId(), e2.getParentId());
-            // TODO ?
-            assertEquals(e1.getSynonyms(), e2.getSynonyms());
-            assertEquals(e1.isPermutateSynonyms(), e2.isPermutateSynonyms());
-            assertEquals(e1.isSparse(), e2.isSparse());
-
-            List<org.apache.nlpcraft.model.NCValue> vals1 = e1.getValues();
-            List<org.apache.nlpcraft.client.NCValue> vals2 = e2.getValues();
+            org.apache.nlpcraft.model.NCElement elemMdl = elemList1.get(i);
+            org.apache.nlpcraft.client.NCElement elemCli = elemList2.get(i);
+
+            assertEquals(elemMdl.getId(), elemCli.getId());
+            assertEquals(elemMdl.getGroups(), elemCli.getGroups());
+            assertEquals(elemMdl.getMetadata(), elemCli.getMetadata());
+            assertEquals(elemMdl.getDescription(), elemCli.getDescription());
+            assertEquals(elemMdl.getParentId(), elemCli.getParentId());
+            assertEquals(elemMdl.getSynonyms(), elemCli.getSynonyms());
+            assertEquals(elemMdl.isPermutateSynonyms(), 
elemCli.isPermutateSynonyms());
+            assertEquals(elemMdl.isSparse(), elemCli.isSparse());
+
+            List<org.apache.nlpcraft.model.NCValue> vals1 = 
elemMdl.getValues();
+            List<org.apache.nlpcraft.client.NCValue> vals2 = 
elemCli.getValues();
 
             int valsCnt1 = vals1 == null ? 0 : vals1.size();
             int valsCnt2 = vals2 == null ? 0 : vals2.size();
@@ -140,13 +139,13 @@ class NCModelTest1 extends NCTestAdapter {
             for (int j = 0; j < valsCnt1; j++) {
                 assert vals2 != null;
 
-                org.apache.nlpcraft.model.NCValue v1 = vals1.get(i);
-                org.apache.nlpcraft.client.NCValue v2 = vals2.get(i);
+                org.apache.nlpcraft.model.NCValue valMdl = vals1.get(i);
+                org.apache.nlpcraft.client.NCValue valCli = vals2.get(i);
 
-                assertEquals(v1.getName(), v2.getName());
+                System.out.println("Checked value: " + valMdl.getName());
 
-                // TODO ?
-                //assertEquals(v1.getSynonyms(), v2.getSynonyms());
+                assertEquals(valMdl.getName(), valCli.getName());
+                assertEquals(valMdl.getSynonyms(), valCli.getSynonyms());
             }
         }
     }
diff --git 
a/src/test/java/org/apache/nlpcraft/client/models/NCRestSpecModel.java 
b/src/test/java/org/apache/nlpcraft/client/models/NCRestSpecModel.java
index 71add6a..9ea41a9 100644
--- a/src/test/java/org/apache/nlpcraft/client/models/NCRestSpecModel.java
+++ b/src/test/java/org/apache/nlpcraft/client/models/NCRestSpecModel.java
@@ -17,16 +17,17 @@
 
 package org.apache.nlpcraft.client.models;
 
-import org.apache.nlpcraft.model.NCCustomParser;
 import org.apache.nlpcraft.model.NCElement;
 import org.apache.nlpcraft.model.NCIntent;
 import org.apache.nlpcraft.model.NCIntentSample;
+import org.apache.nlpcraft.model.NCValue;
 
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 
 /**
@@ -34,7 +35,8 @@ import java.util.Set;
  */
 public class NCRestSpecModel extends NCSpecModelAdapter {
     public static final String MDL_ID = NCRestSpecModel.class.getSimpleName();
-    public static final String VAL_ELEM_ID = "valTest";
+    public static final String VAL_ELEM_ID1 = "valTest1";
+    public static final String VAL_ELEM_ID2 = "valTest2";
 
     private static Set<String> mkSet(String ... data) {
         return new HashSet<>(Arrays.asList(data));
@@ -176,7 +178,7 @@ public class NCRestSpecModel extends NCSpecModelAdapter {
 
     @Override
     public Set<String> getAbstractTokens() {
-        return mkSet(VAL_ELEM_ID);
+        return mkSet(VAL_ELEM_ID1);
     }
 
     @Override
@@ -224,7 +226,97 @@ public class NCRestSpecModel extends NCSpecModelAdapter {
         vals.put("v1", List.of("v11", "v12"));
         vals.put("v2", List.of("v21", "v22"));
 
-        set.add(mkElement(VAL_ELEM_ID, List.of("vt1", "vt2"), vals));
+        set.add(
+            new NCElement() {
+                @Override
+                public String getId() {
+                    return VAL_ELEM_ID1;
+                }
+
+                @Override
+                public Map<String, Object> getMetadata() {
+                    Map<String, Object> m = new HashMap<>();
+
+                    m.put("k1", 12.12);
+                    m.put("k2", "word");
+
+                    return m;
+                }
+
+                @Override
+                public String getDescription() {
+                    return "Some description";
+                }
+
+                @Override
+                public List<NCValue> getValues() {
+                    return List.of(
+                        new NCValue() {
+                            @Override
+                            public String getName() {
+                                return "name1";
+                            }
+
+                            @Override
+                            public List<String> getSynonyms() {
+                                return List.of("v11", "v12");
+                            }
+                        },
+                        new NCValue() {
+                            @Override
+                            public String getName() {
+                                return "name2";
+                            }
+
+                            @Override
+                            public List<String> getSynonyms() {
+                                return List.of("v21", "v22");
+                            }
+                        }
+                    );
+                }
+
+                @Override
+                public List<String> getSynonyms() {
+                    return List.of("vt1", "vt2");
+                }
+
+                @Override
+                public Optional<Boolean> isPermutateSynonyms() {
+                    return Optional.empty();
+                }
+
+                @Override
+                public Optional<Boolean> isSparse() {
+                    return Optional.of(true);
+                }
+            }
+        );
+
+        set.add(
+            new NCElement() {
+                @Override
+                public String getId() {
+                    return VAL_ELEM_ID2;
+                }
+
+                @Override
+                public Optional<Boolean> isPermutateSynonyms() {
+                    return Optional.of(true);
+                }
+
+                @Override
+                public Optional<Boolean> isSparse() {
+                    return Optional.of(false);
+                }
+
+
+                @Override
+                public String getParentId() {
+                    return "valTest1";
+                }
+            }
+        );
 
         return set;
     }
diff --git 
a/src/test/java/org/apache/nlpcraft/client/models/NCSpecModelAdapter.java 
b/src/test/java/org/apache/nlpcraft/client/models/NCSpecModelAdapter.java
index 67a8ff4..19c7c42 100644
--- a/src/test/java/org/apache/nlpcraft/client/models/NCSpecModelAdapter.java
+++ b/src/test/java/org/apache/nlpcraft/client/models/NCSpecModelAdapter.java
@@ -19,13 +19,10 @@ package org.apache.nlpcraft.client.models;
 
 import org.apache.nlpcraft.model.NCElement;
 import org.apache.nlpcraft.model.NCModel;
-import org.apache.nlpcraft.model.NCValue;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * Test model adapter.
@@ -47,20 +44,6 @@ abstract class NCSpecModelAdapter implements NCModel {
      * @param syns
      * @return
      */
-    private static List<String> mkSynonyms(String id, List<String> syns) {
-        List<String> l = new ArrayList<>(syns);
-
-        l.add(id);
-
-        return l;
-    }
-
-    /**
-     *
-     * @param id
-     * @param syns
-     * @return
-     */
     protected NCElement mkElement(String id, String... syns) {
         return new NCElement() {
             @Override
@@ -70,46 +53,15 @@ abstract class NCSpecModelAdapter implements NCModel {
 
             @Override
             public List<String> getSynonyms() {
-                return mkSynonyms(id, Arrays.asList(syns));
-            }
-        };
-    }
+                List<String> l = new ArrayList<>();
 
-    /**
-     *
-     * @param id
-     * @param syns
-     * @param vals
-     * @return
-     */
-    protected NCElement mkElement(String id, List<String> syns, Map<String, 
List<String>> vals) {
-        return new NCElement() {
-            @Override
-            public String getId() {
-                return id;
-            }
+                if (syns.length != 0) {
+                    l.addAll(Arrays.asList(syns));
+                }
 
-            @Override
-            public List<String> getSynonyms() {
-                return mkSynonyms(id, syns);
-            }
-
-            @Override
-            public List<NCValue> getValues() {
-                return
-                    vals.entrySet().stream().map(p ->
-                        new NCValue() {
-                            @Override
-                            public String getName() {
-                                return p.getKey();
-                            }
+                l.add(id);
 
-                            @Override
-                            public List<String> getSynonyms() {
-                                return p.getValue();
-                            }
-                        }
-                    ).collect(Collectors.toList());
+                return l;
             }
         };
     }

Reply via email to