diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 743f44cd8b24ee26722400a5fdf1af6aaddba62b..ddae0f96a8c161f93e93e481ae256e14b55224b2 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 96c3f24f428d71d0d7e4f5d1922b93d607c4da68..0d386a42a9c15894a68fe201503f2eb470b541f0 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 = {};