/* * Copyright 2013 Hewlett-Packard Development Company, L.P * * 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 com.hp.alm.ali.idea.cfg; import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; import org.jdom.Element; @State( name = "TaskboardConfiguration", storages = { @Storage(id = "default",file = "$WORKSPACE_FILE$") } ) public class TaskBoardConfiguration implements PersistentStateComponent<Element> { public static final String ALL_STATUSES = "<all>"; private String assignedTo; private boolean showDefects = true; private boolean showUserStories = true; private boolean showBlocked = true; private String showStatuses = ALL_STATUSES; private String filter; private String tasksCompletedStatus; private boolean assignTask; private boolean deactivateItem; private boolean activateItem; public boolean isShowDefects() { return showDefects; } public void setShowDefects(boolean showDefects) { this.showDefects = showDefects; } public boolean isShowUserStories() { return showUserStories; } public void setShowUserStories(boolean showUserStories) { this.showUserStories = showUserStories; } public boolean isShowBlocked() { return showBlocked; } public void setShowBlocked(boolean showBlocked) { this.showBlocked = showBlocked; } public String getShowStatuses() { return showStatuses; } public void setShowStatuses(String statuses) { this.showStatuses = statuses; } public String getAssignedTo() { return assignedTo; } public void setAssignedTo(String assignedTo) { this.assignedTo = assignedTo; } public String getFilter() { return filter; } public void setFilter(String filter) { this.filter = filter; } public String getTasksCompletedStatus() { return tasksCompletedStatus; } public void setTasksCompletedStatus(String status) { this.tasksCompletedStatus = status; } public boolean isAssignTask() { return assignTask; } public void setAssignTask(boolean b) { this.assignTask = b; } public boolean isDeactivateItem() { return deactivateItem; } public void setDeactivateItem(boolean deactivateItem) { this.deactivateItem = deactivateItem; } public boolean isActivateItem() { return activateItem; } public void setActivateItem(boolean activateItem) { this.activateItem = activateItem; } @Override public Element getState() { Element element = new Element(getClass().getSimpleName()); if(assignedTo != null) { element.setAttribute("assigned-to", assignedTo); } if(filter != null) { element.setAttribute("filter", filter); } element.setAttribute("showUserStories", String.valueOf(showUserStories)); element.setAttribute("showDefects", String.valueOf(showDefects)); element.setAttribute("showBlocked", String.valueOf(showBlocked)); element.setAttribute("showStatuses", showStatuses); if (tasksCompletedStatus != null) { element.setAttribute("tasksCompletedStatus", tasksCompletedStatus); } element.setAttribute("assignTask", String.valueOf(assignTask)); element.setAttribute("deactivateItem", String.valueOf(deactivateItem)); element.setAttribute("activateItem", String.valueOf(activateItem)); return element; } @Override public void loadState(Element element) { assignedTo = element.getAttributeValue("assigned-to"); filter = element.getAttributeValue("filter"); showUserStories = Boolean.parseBoolean(element.getAttributeValue("showUserStories", "true")); showDefects = Boolean.parseBoolean(element.getAttributeValue("showDefects", "true")); showBlocked = Boolean.parseBoolean(element.getAttributeValue("showBlocked", "true")); showStatuses = element.getAttributeValue("showStatuses", ALL_STATUSES); tasksCompletedStatus = element.getAttributeValue("tasksCompletedStatus"); assignTask = Boolean.parseBoolean(element.getAttributeValue("assignTask", "false")); deactivateItem = Boolean.parseBoolean(element.getAttributeValue("deactivateItem", "false")); activateItem = Boolean.parseBoolean(element.getAttributeValue("activateItem", "false")); } }