| /* |
| * Copyright 2000-2012 JetBrains s.r.o. |
| * |
| * 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.intellij.cvsSupport2.config; |
| |
| import com.intellij.cvsSupport2.CvsUtil; |
| import com.intellij.cvsSupport2.keywordSubstitution.KeywordSubstitutionWrapper; |
| import com.intellij.lifecycle.PeriodicalTasksCloser; |
| import com.intellij.openapi.components.PersistentStateComponent; |
| import com.intellij.openapi.components.State; |
| import com.intellij.openapi.components.Storage; |
| import com.intellij.openapi.components.StoragePathMacros; |
| import com.intellij.openapi.project.Project; |
| import com.intellij.openapi.vcs.VcsShowConfirmationOption; |
| import com.intellij.util.Options; |
| import com.intellij.util.xmlb.XmlSerializerUtil; |
| import org.netbeans.lib.cvsclient.command.Watch; |
| |
| import java.util.Arrays; |
| import java.util.List; |
| |
| /** |
| * author: lesya |
| */ |
| |
| @State( |
| name="Cvs2Configuration", |
| storages= { |
| @Storage( |
| file = StoragePathMacros.WORKSPACE_FILE |
| )} |
| ) |
| public class CvsConfiguration implements PersistentStateComponent<CvsConfiguration> { |
| |
| public static final int DO_NOT_MERGE = 0; |
| public static final int MERGE_WITH_BRANCH = 1; |
| public static final int MERGE_TWO_BRANCHES = 2; |
| |
| |
| public boolean PRUNE_EMPTY_DIRECTORIES = true; |
| |
| public int MERGING_MODE = DO_NOT_MERGE; |
| public String MERGE_WITH_BRANCH1_NAME = CvsUtil.HEAD; |
| public String MERGE_WITH_BRANCH2_NAME = CvsUtil.HEAD; |
| public boolean RESET_STICKY = false; |
| public boolean CREATE_NEW_DIRECTORIES = true; |
| public String DEFAULT_TEXT_FILE_SUBSTITUTION = KeywordSubstitutionWrapper.KEYWORD_EXPANSION.getSubstitution().toString(); |
| |
| public boolean PROCESS_UNKNOWN_FILES; |
| public boolean PROCESS_DELETED_FILES; |
| public boolean PROCESS_IGNORED_FILES; |
| |
| public boolean RESERVED_EDIT; |
| public DateOrRevisionSettings CHECKOUT_DATE_OR_REVISION_SETTINGS = new DateOrRevisionSettings(); |
| public DateOrRevisionSettings UPDATE_DATE_OR_REVISION_SETTINGS = new DateOrRevisionSettings(); |
| public DateOrRevisionSettings SHOW_CHANGES_REVISION_SETTINGS = new DateOrRevisionSettings(); |
| public boolean SHOW_OUTPUT = false; |
| public int ADD_WATCH_INDEX = 0; |
| public List<Watch> WATCHERS = Arrays.asList(Watch.ALL, Watch.EDIT, Watch.UNEDIT, Watch.COMMIT); |
| public int REMOVE_WATCH_INDEX = 0; |
| public String UPDATE_KEYWORD_SUBSTITUTION = null; |
| |
| public boolean MAKE_NEW_FILES_READONLY = false; |
| public int SHOW_CORRUPTED_PROJECT_FILES = Options.SHOW_DIALOG; |
| |
| public boolean TAG_AFTER_PROJECT_COMMIT = false; |
| public boolean OVERRIDE_EXISTING_TAG_FOR_PROJECT = true; |
| public String TAG_AFTER_PROJECT_COMMIT_NAME = ""; |
| public boolean CLEAN_COPY = false; |
| |
| |
| public static CvsConfiguration getInstance(Project project) { |
| return PeriodicalTasksCloser.getInstance().safeGetService(project, CvsConfiguration.class); |
| } |
| |
| public static VcsShowConfirmationOption.Value convertToEnumValue(boolean value, boolean onOk) { |
| if (value) { |
| return VcsShowConfirmationOption.Value.SHOW_CONFIRMATION; |
| } |
| else if (onOk) { |
| return VcsShowConfirmationOption.Value.DO_ACTION_SILENTLY; |
| } |
| else { |
| return VcsShowConfirmationOption.Value.DO_NOTHING_SILENTLY; |
| } |
| } |
| |
| public CvsConfiguration getState() { |
| return this; |
| } |
| |
| public void loadState(CvsConfiguration object) { |
| XmlSerializerUtil.copyBean(object, this); |
| // safeguard (IDEADEV-15053) |
| if (CHECKOUT_DATE_OR_REVISION_SETTINGS == null) { |
| CHECKOUT_DATE_OR_REVISION_SETTINGS = new DateOrRevisionSettings(); |
| } |
| if (UPDATE_DATE_OR_REVISION_SETTINGS == null) { |
| UPDATE_DATE_OR_REVISION_SETTINGS = new DateOrRevisionSettings(); |
| } |
| if (SHOW_CHANGES_REVISION_SETTINGS == null) { |
| SHOW_CHANGES_REVISION_SETTINGS = new DateOrRevisionSettings(); |
| } |
| } |
| } |