/*
* Copyright (C) 2005-2010 Alfresco Software Limited.
*
* This file is part of Alfresco
*
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
package org.alfresco.web.bean.wcm;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;
import org.alfresco.web.app.Application;
import org.alfresco.web.ui.common.Utils;
/**
* Class for compareToAnySnapshot dialog
*
* @author Dmitry Velichkevich
* @author Dmitry Lazurkin
*/
public class CompareToAnySnapshotDialog extends CompareSnapshotDialog
{
private static final long serialVersionUID = 5483432383286687197L;
private static final String COMPARE_TO_ANY_SNAPSHOT_DESCRIPTION_MESSAGE_TEXT_ID = "snapshot_compare_to_any_description";
public static final String MSG_ERROR_VERSION_NOT_VALID = "error_version_validate";
private int userSpecifiedVersion;
private boolean storeChanged;
private String userSpecifiedStore;
private String userSpecifiedRoot;
private List availableVersionNumbers;
private int curAvailableVersionNumber;
private boolean compare;
/**
* Builds list of available version numbers
*/
private void buildAvailableVersionNumbers()
{
this.curAvailableVersionNumber = -1;
this.availableVersionNumbers = WCMCompareUtils.getAllVersionID(getSandboxService(), userSpecifiedStore);
Collections.sort(availableVersionNumbers);
}
@Override
public void init(Map parameters)
{
super.init(parameters);
userSpecifiedStore = sandbox;
userSpecifiedRoot = storeRoot;
userSpecifiedVersion = -1;
buildAvailableVersionNumbers();
this.compare = true;
this.storeChanged = false;
}
/**
* @return true if snapshot's version is correct
*/
private boolean isCorrectVersion(int userSpecVersion)
{
return userSpecVersion == -1 || availableVersionNumbers.contains(userSpecVersion);
}
@Override
public List