/*
* Copyright 2015 JBoss, by Red Hat, Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.uberfire.ext.services.shared.preferences;
import java.util.ArrayList;
import java.util.HashMap;
import org.jboss.errai.common.client.api.annotations.Portable;
@Portable
public class MultiGridPreferencesStore extends UserPreference {
private String multiGridId;
private HashMap<String, HashMap> gridsSettings = new HashMap<String, HashMap>();
private ArrayList<String> gridsIds = new ArrayList<String>();
private String selectedGrid = "NONE";
private int refreshInterval = 10;
public MultiGridPreferencesStore() {
}
public MultiGridPreferencesStore(String multiGridId) {
this.multiGridId = multiGridId;
super.type = UserPreferencesType.MULTIGRIDPREFERENCES;
super.preferenceKey = multiGridId;
}
public String getMultiGridId() {
return multiGridId;
}
public void setMultiGridId(String multiGridId) {
this.multiGridId = multiGridId;
}
public HashMap getGridSettings(String key) {
if (gridsSettings != null) {
return gridsSettings.get(key);
}
return null;
}
public String getGridSettingParam(String key,
String paramId) {
HashMap<String, String> params = getGridSettings(key);
if (params != null) {
return params.get(paramId);
}
return null;
}
public void setGridSettings(String key,
HashMap params) {
gridsSettings.put(key,
params);
}
public ArrayList<String> getGridsId() {
return gridsIds;
}
public void addGridId(String gridKey) {
getGridsId().add(gridKey);
}
public void addNewTab(String gridKey,
HashMap gridsSettings) {
addGridId(gridKey);
setGridSettings(gridKey,
gridsSettings);
}
public void removeTab(String gridKey) {
gridsSettings.remove(gridKey);
for (int i = 0; i < getGridsId().size(); i++) {
if (gridsIds.get(i).equals(gridKey)) {
gridsIds.remove(i);
}
}
if (isSelectedGrid(gridKey)) {
selectedGrid = "";
}
}
public boolean isSelectedGrid(String gridKey) {
if (selectedGrid != null) {
return selectedGrid.equals(gridKey);
}
return false;
}
public String getSelectedGrid() {
return selectedGrid;
}
public void setSelectedGrid(String gridKey) {
selectedGrid = gridKey;
}
public int getRefreshInterval() {
return refreshInterval;
}
public void setRefreshInterval(int refreshInterval) {
this.refreshInterval = refreshInterval;
}
}