X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Ffile%2FCommonPathResolver.java;h=3641ec1bdfcc4b3415ff0833530d38d89b4730c6;hb=965adace2b47642e2ca84f499cc32683c12059c6;hp=d3c1f9ffd94f5c1217b73c672cf776767e5fa89c;hpb=f2f5769996256492b3cd430a4c57b1317582b340;p=svjatoslav_commons.git diff --git a/src/main/java/eu/svjatoslav/commons/file/CommonPathResolver.java b/src/main/java/eu/svjatoslav/commons/file/CommonPathResolver.java old mode 100644 new mode 100755 index d3c1f9f..3641ec1 --- a/src/main/java/eu/svjatoslav/commons/file/CommonPathResolver.java +++ b/src/main/java/eu/svjatoslav/commons/file/CommonPathResolver.java @@ -1,59 +1,65 @@ /* * Svjatoslav Commons - shared library of common functionality. - * Copyright ©2012-2013, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu - * + * Copyright ©2012-2019, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu + * * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public License - * as published by the Free Software Foundation. + * modify it under the terms of version 3 of the GNU Lesser General Public License + * or later as published by the Free Software Foundation. */ package eu.svjatoslav.commons.file; import java.io.File; +/** + * FIXME: Quite ugly and unreliable. Better solution is needed. + */ public class CommonPathResolver { - public static File desktopFile; + private static final String[] desktopNames = new String[]{"Tafelblad", "المكتب", + "Masa Üstü", "Сталец", "Десктоп", "ডেস্কটপ", "Desktop", + "Escriptori", "Prostředí pracovní plochy", "Penbwrdd", + "Skrivebord", "Επιφάνεια εργασίας", "Escritorio", "Töölaud", + "Mahaigaina", "Työpöytä", "Bureau", "Deasc", "ડૅસ્કટોપ", + "डेस्कटॉप", "Radna površina", "Munkaasztal", "デスクトップ", "დესკტოპი", + "데스크탑", "Darbastalis", "Дэлгэц", "Skrivebord", "Teseke", "ਵਿਹੜਾ", + "Pulpit", "Ambiente de Trabalho", "Área de Trabalho", + "Рабочий стол", "Pracovná plocha", "Hapësira e Punës", + "Радна површ", "Radna površ", "Skrivbord", "கணிமேசை", "Мизи корӣ", + "พื้นโต๊ะ", "Masaüstü", "Стільниця", "桌面", "Isiga-nyezi"}; - static final String[] desktopNames = new String[] { "Tafelblad", "المكتب", - "Masa Üstü", "Сталец", "Десктоп", "ডেস্কটপ", "Desktop", - "Escriptori", "Prostředí pracovní plochy", "Penbwrdd", - "Skrivebord", "Επιφάνεια εργασίας", "Escritorio", "Töölaud", - "Mahaigaina", "Työpöytä", "Bureau", "Deasc", "ડૅસ્કટોપ", - "डेस्कटॉप", "Radna površina", "Munkaasztal", "デスクトップ", "დესკტოპი", - "데스크탑", "Darbastalis", "Дэлгэц", "Skrivebord", "Teseke", "ਵਿਹੜਾ", - "Pulpit", "Ambiente de Trabalho", "Área de Trabalho", - "Рабочий стол", "Pracovná plocha", "Hapësira e Punës", - "Радна површ", "Radna površ", "Skrivbord", "கணிமேசை", "Мизи корӣ", - "พื้นโต๊ะ", "Masaüstü", "Стільниця", "桌面", "Isiga-nyezi" }; + private static File desktopFile; - /** - * This method tries to guess user desktop directory. Implementation is - * pretty lousy. Need to improve it some day. - */ - public static File getDesktopDirectory() { + /** + * This method tries to guess user desktop directory. Implementation is + * pretty lousy. Need to improve it some day. + * + * @return file that points to user desktop directory. + * @throws RuntimeException if user desktop directory is not found. + */ + public static File getDesktopDirectory() { - if (desktopFile != null) - return desktopFile; + if (desktopFile != null) + return desktopFile; - final String userHomePath = System.getProperty("user.home"); + final String userHomePath = System.getProperty("user.home"); - for (final String desktopName : desktopNames) { + for (final String desktopName : desktopNames) { - final String desktopPath = userHomePath + "/" + desktopName; + final String desktopPath = userHomePath + "/" + desktopName; - final File possibleDesktopFile = new File(desktopPath); - if (desktopFile.exists()) { - desktopFile = possibleDesktopFile; - return desktopFile; - } - } + final File possibleDesktopFile = new File(desktopPath); + if (possibleDesktopFile.exists()) { + desktopFile = possibleDesktopFile; + return desktopFile; + } + } - throw new RuntimeException("Cannot autodetect user desktop directory."); - } + throw new RuntimeException("Cannot autodetect user desktop directory."); + } - public static File getHomeDirectory() { - return new File(System.getProperty("user.home")); - } + public static File getHomeDirectory() { + return new File(System.getProperty("user.home")); + } }