public String determineDesignEncoding() {
return determineDesignEncoding(System.getProperty("file.encoding", "UTF-8"));
}
private String determineDesignEncoding(String fallBackEncoding) {
IFile syncInfo = _syncInfo;
if (syncInfo != null) {
try {
WGADesignConfigurationModel model = new WGADesignConfigurationModel(syncInfo.getLocation().toFile());
Encoding encoding = model.getDesignEncoding();
if (encoding != null && !encoding.getKey().equals(WGADesignConfigurationModel.STRING_NOT_SET)) {
return encoding.getKey();
} else {
Activator.getDefault().getLog().log(
new Status(Status.WARNING, Activator.PLUGIN_ID, "Design encoding not set for design '" + syncInfo.getParent().getLocation().toString() + "'. Using platform encoding '"
+ fallBackEncoding + "'."));
return fallBackEncoding;
}
} catch (IOException e) {
Activator.getDefault().getLog().log(
new Status(Status.ERROR, Activator.PLUGIN_ID, "Unable to determine design encoding for design '" + syncInfo.getParent().getLocation().toString()
+ "'. Using platform encoding '" + fallBackEncoding + "'."));
return fallBackEncoding;
}
} else {
Activator.getDefault().getLog().log(new Status(Status.WARNING, Activator.PLUGIN_ID, "TMLFile is not member of an WGADesign. Using platform encoding '" + fallBackEncoding + "'."));