@@ -133,8 +133,8 @@ public String toString() {
133133 * Finds the install directories and returns the {@link InstallLocations}
134134 * instance describing those locations.
135135 *
136- * @param senzingDir The optional Senzing installation directory if one has
137- * been provided, <code>null</code> otherwise.
136+ * @param senzingDir The optional Senzing installation directory if one has been
137+ * provided, <code>null</code> otherwise.
138138 *
139139 * @return The {@link InstallLocations} instance describing the install
140140 * locations.
@@ -148,12 +148,14 @@ public static InstallLocations findLocations() {
148148 String lowerOSName = osName .toLowerCase ().trim ();
149149 if (lowerOSName .startsWith ("windows" )) {
150150 windows = true ;
151- } else if (lowerOSName .startsWith ("mac" )
152- || lowerOSName .indexOf ("darwin" ) >= 0 )
153- {
151+ } else if (lowerOSName .startsWith ("mac" ) || lowerOSName .indexOf ("darwin" ) >= 0 ) {
154152 macOS = true ;
155153 }
156154
155+ File homeDir = new File (System .getProperty ("user.home" ));
156+ File homeSenzing = new File (homeDir , "senzing" );
157+ File homeInstall = new File (homeSenzing , "er" );
158+ File homeSupport = new File (homeInstall , "data" );
157159 File installDir = null ;
158160 File configDir = null ;
159161 File resourceDir = null ;
@@ -165,14 +167,14 @@ public static InstallLocations findLocations() {
165167 String defaultSupportPath = null ;
166168
167169 if (windows ) {
168- defaultInstallPath = "C: \\ Program Files \\ Senzing \\ er" ;
169- defaultSupportPath = "C: \\ Program Files \\ Senzing \\ er \\ data" ;
170+ defaultInstallPath = homeInstall . getCanonicalPath () ;
171+ defaultSupportPath = homeSupport . getCanonicalPath () ;
170172 } else if (macOS ) {
171- defaultInstallPath = "/opt/senzing/er" ;
172- defaultSupportPath = "/opt/senzing/er/data" ;
173+ defaultInstallPath = homeInstall . getCanonicalPath () ;
174+ defaultSupportPath = homeSupport . getCanonicalPath () ;
173175 } else {
174176 defaultInstallPath = "/opt/senzing/er" ;
175- defaultConfigPath = "/etc/opt/senzing" ;
177+ defaultConfigPath = "/etc/opt/senzing" ;
176178 defaultSupportPath = "/opt/senzing/data" ;
177179 }
178180
@@ -214,22 +216,18 @@ public static InstallLocations findLocations() {
214216 System .err .println (" " + installDir );
215217 System .err .println ();
216218 if (installPath != null ) {
217- System .err .println (
218- "Check the -Dsenzing.install.dir=[path] command line option." );
219+ System .err .println ("Check the -Dsenzing.install.dir=[path] command line option." );
219220 } else {
220- System .err .println (
221- "Use the -Dsenzing.install.dir=[path] command line option to "
222- + "specify a path" );
221+ System .err
222+ .println ("Use the -Dsenzing.install.dir=[path] command line option to " + "specify a path" );
223223 }
224224
225225 return null ;
226226 }
227227
228228 // normalize the senzing directory
229229 String dirName = installDir .getName ();
230- if (installDir .isDirectory () && !dirName .equalsIgnoreCase ("er" )
231- && dirName .equalsIgnoreCase ("senzing" ))
232- {
230+ if (installDir .isDirectory () && !dirName .equalsIgnoreCase ("er" ) && dirName .equalsIgnoreCase ("senzing" )) {
233231 // for windows or linux allow the "Senzing" dir as well
234232 installDir = new File (installDir , "er" );
235233 }
@@ -239,12 +237,10 @@ public static InstallLocations findLocations() {
239237 System .err .println (" " + installDir );
240238 System .err .println ();
241239 if (installPath != null ) {
242- System .err .println (
243- "Check the -Dsenzing.install.dir=[path] command line option." );
240+ System .err .println ("Check the -Dsenzing.install.dir=[path] command line option." );
244241 } else {
245- System .err .println (
246- "Use the -Dsenzing.install.dir=[path] command line option to "
247- + "specify a path" );
242+ System .err
243+ .println ("Use the -Dsenzing.install.dir=[path] command line option to " + "specify a path" );
248244 }
249245
250246 return null ;
@@ -260,7 +256,7 @@ public static InstallLocations findLocations() {
260256 supportDir = new File (installDir , "data" );
261257 } else {
262258 // no explicit path, try the default support path
263- supportDir = new File (defaultSupportPath );
259+ supportDir = new File (defaultSupportPath );
264260 }
265261
266262 } else {
@@ -274,8 +270,8 @@ public static InstallLocations findLocations() {
274270 if (supportPath != null ) {
275271 System .err .println ("Check the -Dsenzing.support.dir=[path] command line option." );
276272 } else {
277- System .err . println ( "Use the -Dsenzing.support.dir=[path] command line option to "
278- + "specify a path" );
273+ System .err
274+ . println ( "Use the -Dsenzing.support.dir=[path] command line option to " + "specify a path" );
279275 }
280276
281277 throw new IllegalStateException ("The support directory does not exist: " + supportDir );
@@ -287,8 +283,8 @@ public static InstallLocations findLocations() {
287283 if (supportPath != null ) {
288284 System .err .println ("Check the -Dsenzing.support.dir=[path] command line option." );
289285 } else {
290- System .err . println ( "Use the -Dsenzing.support.dir=[path] command line option to "
291- + "specify a path" );
286+ System .err
287+ . println ( "Use the -Dsenzing.support.dir=[path] command line option to " + "specify a path" );
292288 }
293289 throw new IllegalStateException ("The support directory is invalid: " + supportDir );
294290
@@ -317,24 +313,21 @@ public static InstallLocations findLocations() {
317313 configDir = new File (installDir , "etc" );
318314 if (!configDir .exists ()) {
319315 configDir = null ;
320- }
316+ }
321317 }
322318
323319 if (configPath != null && !configDir .exists ()) {
324- System .err .println (
325- "The -Dsenzing.config.dir=[path] option specifies a path that does not exist:" );
320+ System .err .println ("The -Dsenzing.config.dir=[path] option specifies a path that does not exist:" );
326321 System .err .println (" " + configPath );
327322
328323 throw new IllegalStateException ("Explicit config path does not exist: " + configPath );
329324 }
330325 if (configDir != null && configDir .exists ()) {
331326 if (!configDir .isDirectory ()) {
332- System .err .println (
333- "The -Dsenzing.config.dir=[path] option specifies a file, not a directory:" );
327+ System .err .println ("The -Dsenzing.config.dir=[path] option specifies a file, not a directory:" );
334328 System .err .println (" " + configPath );
335329
336- throw new IllegalStateException (
337- "Explicit config path is not directory: " + configPath );
330+ throw new IllegalStateException ("Explicit config path is not directory: " + configPath );
338331 }
339332
340333 String [] requiredFiles = { "cfgVariant.json" };
@@ -348,13 +341,11 @@ public static InstallLocations findLocations() {
348341 }
349342 }
350343 if (missingFiles .size () > 0 && configPath != null ) {
351- System .err .println (
352- "The -Dsenzing.config.dir=[path] option specifies an invalid config directory:" );
344+ System .err .println ("The -Dsenzing.config.dir=[path] option specifies an invalid config directory:" );
353345 for (String missing : missingFiles ) {
354346 System .err .println (" " + missing + " was not found" );
355347 }
356- throw new IllegalStateException (
357- "Explicit config path missing required files: " + missingFiles );
348+ throw new IllegalStateException ("Explicit config path missing required files: " + missingFiles );
358349 }
359350 }
360351
@@ -372,22 +363,19 @@ public static InstallLocations findLocations() {
372363
373364 if (resourcePath != null ) {
374365 if (!resourceDir .exists ()) {
375- System .err . println (
376- "The -Dsenzing.resource.dir=[path] option specifies a path that does not exist:" );
366+ System .err
367+ . println ( "The -Dsenzing.resource.dir=[path] option specifies a path that does not exist:" );
377368 System .err .println (" " + resourcePath );
378369
379- throw new IllegalStateException (
380- "Explicit resource path does not exist: " + resourcePath );
370+ throw new IllegalStateException ("Explicit resource path does not exist: " + resourcePath );
381371 }
382372
383373 if (!resourceDir .isDirectory () || !templatesDir .exists () || !templatesDir .isDirectory ()) {
384374 System .err .println (
385- "The -Dsenzing.resource.dir=[path] option specifies an invalid "
386- + "resource directory:" );
375+ "The -Dsenzing.resource.dir=[path] option specifies an invalid " + "resource directory:" );
387376 System .err .println (" " + resourcePath );
388377
389- throw new IllegalStateException (
390- "Explicit resource path is not valid: " + resourcePath );
378+ throw new IllegalStateException ("Explicit resource path is not valid: " + resourcePath );
391379 }
392380
393381 } else if (!resourceDir .exists () || !resourceDir .isDirectory () || !templatesDir .exists ()
0 commit comments