import javax.swing.LookAndFeel;
import javax.swing.UIManager;
-import jalview.analytics.GoogleAnalytics4;
+import jalview.analytics.Plausible;
import jalview.datamodel.PDBEntry;
import jalview.gui.Preferences;
import jalview.gui.UserDefinedColours;
* service</li>
* <li>QUESTIONNAIRE last questionnaire:responder id string from questionnaire
* service</li>
- * <li>USAGESTATS (false - user prompted) Enable google analytics tracker for
+ * <li>USAGESTATS (false - user prompted) Enable analytics tracker for
* collecting usage statistics</li>
* <li>SHOW_OVERVIEW boolean for overview window display</li>
* <li>ANTI_ALIAS boolean for smooth fonts</li>
* <li>WRAP_ALIGNMENT</li>
* <li>EPS_RENDERING (Prompt each time|Lineart|Text) default for EPS rendering
* style check</li>
+ * <li>BITMAP_SCALE - scale factor for PNG export - default 0 - native resolution</li>
+ * <li>BITMAP_HEIGHT - height bound for PNG export or 0 for unbound</li>
+ * <li>BITMAP_WIDTH - width bound for PNG export or 0 for unbound</li>
* <li>SORT_ALIGNMENT (No sort|Id|Pairwise Identity)</li>
* <li>SEQUENCE_LINKS list of name|URL pairs for opening a url with
* $SEQUENCE_ID$</li>
fis = new URL(propertiesFile).openStream();
if (!Jalview.quiet())
{
- System.out.println(
+ jalview.bin.Console.outPrintln(
"Loading jalview properties from : " + propertiesFile);
- System.out.println(
+ jalview.bin.Console.outPrintln(
"Disabling Jalview writing to user's local properties file.");
}
propsAreReadOnly = true;
} catch (Exception ex)
{
if (!Jalview.quiet())
- System.out.println("Error reading properties file: " + ex);
+ jalview.bin.Console
+ .outPrintln("Error reading properties file: " + ex);
}
}
} catch (Exception ex)
{
if (!Jalview.quiet())
- System.out.println("Error reading author details: " + ex);
+ jalview.bin.Console
+ .outPrintln("Error reading author details: " + ex);
authorDetails = null;
}
if (authorDetails == null)
{
if (!Jalview.quiet())
{
- System.out.println(
+ jalview.bin.Console.outPrintln(
"Non-fatal exception when checking version at "
+ remoteBuildPropertiesUrl + ":");
- System.out.println(ex);
+ jalview.bin.Console.printStackTrace(ex);
}
remoteVersion = getProperty("VERSION");
}
url = Cache.class.getResource(resourcePath).toString();
} catch (Exception ex)
{
- System.err.println("Failed to resolve resource " + resourcePath
+ jalview.bin.Console.errPrintln("Failed to resolve resource " + resourcePath
+ ": " + ex.getMessage());
}
}
} catch (Exception ex)
{
if (!Jalview.quiet())
- System.out.println("Error reading build details: " + ex);
+ jalview.bin.Console
+ .outPrintln("Error reading build details: " + ex);
applicationProperties.remove("VERSION");
}
String codeVersion = getProperty("VERSION");
new BuildDetails(codeVersion, null, codeInstallation);
if (printVersion && reportVersion)
{
- System.out.println(ChannelProperties.getProperty("app_name")
- + " version: " + codeVersion + codeInstallation);
+ jalview.bin.Console
+ .outPrintln(ChannelProperties.getProperty("app_name")
+ + " version: " + codeVersion + codeInstallation);
}
}
} catch (NumberFormatException e)
{
if (!Jalview.quiet())
- System.out.println("Error parsing int property '" + property
- + "' with value '" + string + "'");
+ jalview.bin.Console.outPrintln("Error parsing int property '"
+ + property + "' with value '" + string + "'");
}
}
} catch (Exception ex)
{
if (!Jalview.quiet())
- System.out.println(
+ jalview.bin.Console.outPrintln(
"Error setting property: " + key + " " + obj + "\n" + ex);
}
return oldValue;
} catch (Exception ex)
{
if (!Jalview.quiet())
- System.out.println("Error saving properties: " + ex);
+ jalview.bin.Console.outPrintln("Error saving properties: " + ex);
}
}
}
}
/**
- * Initialise the google tracker if it is not done already.
+ * Initialise the tracker if it is not done already.
*/
- public static void initGoogleTracker()
+ public static void initAnalytics()
{
- initGoogleTracker(false);
- }
-
- public static void initGoogleTracker(boolean headless)
- {
- GoogleAnalytics4.setEnabled(true);
+ Plausible.setEnabled(true);
String appName = ChannelProperties.getProperty("app_name") + " Desktop";
String version = Cache.getProperty("VERSION") + "_"
pathParts.add(appName);
pathParts.add(version);
pathParts.add(APPLICATION_STARTED);
- if (headless)
- {
- pathParts.add("headless");
- }
path = ("/" + String.join("/", pathParts)).replace(' ', '+');
/*
}
*/
- GoogleAnalytics4 ga4 = GoogleAnalytics4.getInstance();
-
- // This will add a page_view similar to the old UA analytics.
- // We probably want to get rid of this once the application_launch event
- // is being processed properly.
- String[] params;
- if (headless)
- {
- params = new String[] { "page_location",
- GoogleAnalytics4.APPLICATION_BASE_URL + path, "page_title",
- APPLICATION_STARTED, "headless", "true" };
- }
- else
- {
- params = new String[] { "page_location", path, "page_title",
- APPLICATION_STARTED };
- }
- ga4.sendAnalytics("page_view", params);
+ Plausible plausible = Plausible.getInstance();
// This will send a new "application_launch" event with parameters
// including the old-style "path", the channel name and version
- ga4.sendAnalytics("application_launch", true, params);
+ plausible.sendEvent("application_launch", path, true);
}
- private static final String APPLICATION_STARTED = "Application Started.";
+ private static final String APPLICATION_STARTED = "Application Started";
/**
* get the user's default colour if available
return date_format.parse(val);
} catch (Exception ex)
{
- System.err.println("Invalid or corrupt date in property '"
+ jalview.bin.Console.errPrintln("Invalid or corrupt date in property '"
+ propertyName + "' : value was '" + val + "'");
}
}
return Integer.valueOf(val);
} catch (NumberFormatException x)
{
- System.err.println("Invalid integer in property '" + property
+ jalview.bin.Console.errPrintln("Invalid integer in property '" + property
+ "' (value was '" + val + "')");
}
}
} catch (Exception ex)
{
if (!Jalview.quiet())
- System.out.println("Error loading User ColourFile\n" + ex);
+ jalview.bin.Console
+ .outPrintln("Error loading User ColourFile\n" + ex);
}
}
if (!files.equals(coloursFound.toString()))
private static final Collection<String> bootstrapProperties = new ArrayList<>(
Arrays.asList(JALVIEWLOGLEVEL, BOOTSTRAP_TEST));
+
public static Properties bootstrapProperties(String filename)
{
Properties bootstrapProps = new Properties();
return null;
if (!file.exists())
{
- System.err.println("Could not load bootstrap preferences file '"
+ jalview.bin.Console.errPrintln("Could not load bootstrap preferences file '"
+ filename + "'");
return null;
}
}
} catch (FileNotFoundException e)
{
- System.err.println("Could not find bootstrap preferences file '"
+ jalview.bin.Console.errPrintln("Could not find bootstrap preferences file '"
+ file.getAbsolutePath() + "'");
} catch (IOException e)
{
- System.err.println(
+ jalview.bin.Console.errPrintln(
"IOException when loading bootstrap preferences file '"
+ file.getAbsolutePath() + "'");
}