private void exportClusters() throws IOException {
listener.onMessage("\nExporting clusters...");
writer.beginCollection(1, true, "clusters");
int exportedClusters = 0;
int maxClusterId = getMaxClusterId();
for (int clusterId = 0; clusterId <= maxClusterId; ++clusterId) {
final String clusterName = database.getClusterNameById(clusterId);
if (clusterName == null)
continue;
if (includeClusters != null) {
if (!includeClusters.contains(clusterName.toUpperCase(Locale.ENGLISH)))
continue;
} else if (excludeClusters != null) {
if (excludeClusters.contains(clusterName.toUpperCase(Locale.ENGLISH)))
continue;
}
writer.beginObject(2, true, null);
writer.writeAttribute(0, false, "name", clusterName);
writer.writeAttribute(0, false, "id", clusterId);
exportedClusters++;
writer.endObject(2, false);
}
listener.onMessage("OK (" + exportedClusters + " clusters)");
writer.endCollection(1, true);
}