From eb3befec0e5bbf774b9a2794d19ebcc4511fbe35 Mon Sep 17 00:00:00 2001
From: Moises Sacal <moisbo@gmail.com>
Date: Mon, 3 Jun 2019 13:57:02 +1000
Subject: [PATCH] added entryPoints starter function

---
 .idea/workspace.xml | 52 ++++++++++++++++++++++-----------------------
 lib/JsonLdSolr.js   | 24 ++++++++++++++++++++-
 2 files changed, 48 insertions(+), 28 deletions(-)

diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 743f44c..ddae0f9 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,9 +2,7 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="ad75bb9b-12db-4cad-af64-4c68cecdb87b" name="Default Changelist" comment="">
-      <change afterPath="$PROJECT_DIR$/jsonld_config.json" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/lib/JsonLdSolr.js" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/JsonLdSolr.js" beforeDir="false" afterPath="$PROJECT_DIR$/lib/JsonLdSolr.js" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/.tmp/" />
     <ignored path="$PROJECT_DIR$/temp/" />
@@ -76,20 +74,11 @@
               </provider>
             </entry>
           </file>
-          <file pinned="false" current-in-tab="false">
-            <entry file="file://$PROJECT_DIR$/lib/CatalogSolr.js">
-              <provider selected="true" editor-type-id="text-editor">
-                <state>
-                  <caret column="19" selection-end-line="1" />
-                </state>
-              </provider>
-            </entry>
-          </file>
           <file pinned="false" current-in-tab="true">
             <entry file="file://$PROJECT_DIR$/lib/JsonLdSolr.js">
               <provider selected="true" editor-type-id="text-editor">
-                <state>
-                  <caret column="28" selection-start-column="28" selection-end-column="28" />
+                <state relative-caret-position="630">
+                  <caret line="42" column="14" lean-forward="true" selection-start-line="42" selection-start-column="14" selection-end-line="42" selection-end-column="14" />
                 </state>
               </provider>
             </entry>
@@ -117,10 +106,19 @@
       <split-second>
         <leaf>
           <file pinned="false" current-in-tab="true">
+            <entry file="file://$PROJECT_DIR$/lib/CatalogSolr.js">
+              <provider selected="true" editor-type-id="text-editor">
+                <state relative-caret-position="420">
+                  <caret line="155" selection-start-line="155" selection-end-line="157" selection-end-column="9" />
+                </state>
+              </provider>
+            </entry>
+          </file>
+          <file pinned="false" current-in-tab="false">
             <entry file="file://$PROJECT_DIR$/jsonld_config.json">
               <provider selected="true" editor-type-id="text-editor">
-                <state relative-caret-position="510">
-                  <caret line="34" column="10" lean-forward="true" selection-start-line="34" selection-start-column="10" selection-end-line="34" selection-end-column="10" />
+                <state relative-caret-position="630">
+                  <caret line="42" column="18" selection-start-line="42" selection-start-column="7" selection-end-line="42" selection-end-column="18" />
                 </state>
               </provider>
             </entry>
@@ -326,7 +324,7 @@
     </history-entry>
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="126079000" />
+    <option name="totallyTimeSpent" value="128719000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="1440" y="-277" width="1920" height="1177" extended-state="6" />
@@ -461,31 +459,31 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/jsonld_config.json">
+    <entry file="file://$PROJECT_DIR$/fields.json">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="75">
-          <caret line="70" column="5" selection-start-line="70" selection-start-column="5" selection-end-line="70" selection-end-column="5" />
+        <state relative-caret-position="472">
+          <caret line="49" column="31" lean-forward="true" selection-start-line="49" selection-start-column="31" selection-end-line="49" selection-end-column="31" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/fields.json">
+    <entry file="file://$PROJECT_DIR$/jsonld_config.json">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="472">
-          <caret line="49" column="31" lean-forward="true" selection-start-line="49" selection-start-column="31" selection-end-line="49" selection-end-column="31" />
+        <state relative-caret-position="75">
+          <caret line="70" column="5" selection-start-line="70" selection-start-column="5" selection-end-line="70" selection-end-column="5" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/lib/CatalogSolr.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state>
-          <caret column="19" selection-end-line="1" />
+        <state relative-caret-position="420">
+          <caret line="155" selection-start-line="155" selection-end-line="157" selection-end-column="9" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/lib/JsonLdSolr.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state>
-          <caret column="28" selection-start-column="28" selection-end-column="28" />
+        <state relative-caret-position="630">
+          <caret line="42" column="14" lean-forward="true" selection-start-line="42" selection-start-column="14" selection-end-line="42" selection-end-column="14" />
         </state>
       </provider>
     </entry>
diff --git a/lib/JsonLdSolr.js b/lib/JsonLdSolr.js
index 96c3f24..0d386a4 100644
--- a/lib/JsonLdSolr.js
+++ b/lib/JsonLdSolr.js
@@ -11,7 +11,7 @@ class JsonLdSolr {
   validateConfig() {
     // Validate the configuration needs.
     _.each(this.config, (config) => {
-      assert.strictEqual(_.isObject(config['entryPoints']), true, 'missing entryPoints in configuration');
+      assert.strictEqual(_.isArray(config['entryPoints']), true, 'missing entryPoints in configuration');
       _.each(config, function (entryPoints) {
         assert.strictEqual(_.isObject(entryPoints['facets']), true, 'missing facets in entryPoints configuration');
         assert.strictEqual(_.isObject(entryPoints['flatten']), true, 'missing flatten in entryPoints configuration');
@@ -20,6 +20,28 @@ class JsonLdSolr {
       return true;
     });
   }
+
+  ensureObjArray(graphElement) {
+    _.forOwn(graphElement, (ge, prop) => {
+      if (!_.isArray(ge)) {
+        graphElement[prop] = [ge];
+      }
+    });
+    return graphElement;
+  }
+
+  entryPoints(entryPoints, graph) {
+    _.forEach(entryPoints, (eP) => {
+      let graphElement = _.filter(graph, (g) => {
+        return _.find(g['@type'], (gg) => gg === eP['@type']) ? g : undefined;
+      });
+        this.getGraphElement(eP, graph, graphElement);
+    })
+  }
+
+  getGraphElement(config, graph, graphElement){
+    //TODO me!
+  }
 }
 
 JsonLdSolr.config = {};
-- 
GitLab