Package com.taobao.eclipse.plugin.reviewboard.subclipse.actions

Source Code of com.taobao.eclipse.plugin.reviewboard.subclipse.actions.PostCommitReviewBoardAction

/*
* (C) 2007-2011 Alibaba Group Holding Limited
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
*
* If you have any question, please contact:千丫 <qianya@taobao.com>
* Authors:智清 <zhiqing.ht@taobao.com>;银时<yinshi.nc@taobao.com>
*
*/
package com.taobao.eclipse.plugin.reviewboard.subclipse.actions;

import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;

import org.eclipse.core.resources.IResource;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.wizard.WizardDialog;

import com.taobao.eclipse.plugin.reviewboard.core.config.RbConfig;
import com.taobao.eclipse.plugin.reviewboard.core.config.RbConfigReader;
import com.taobao.eclipse.plugin.reviewboard.core.exception.ReviewboardException;
import com.taobao.eclipse.plugin.reviewboard.subclipse.RbSubclipseMessages;
import com.taobao.eclipse.plugin.reviewboard.subclipse.util.RbSVNUrlUtils;
import com.taobao.eclipse.plugin.reviewboard.subclipse.wizard.WizardDialogReviewBoardLocation;
import com.taobao.eclipse.plugin.reviewboard.subclipse.wizard.requestoperation.postcommit.PostCommitRequestWizard;

/**
* 类说明:提交ReviewBoard Action(pre-commit),入口。
*
* @author 智清
* 创建时间:2010-11-8
*/
@SuppressWarnings({"unchecked"})
public class PostCommitReviewBoardAction extends AbstarctReviewBoardAction {
   
    @Override
    protected boolean validateOther(){
        return true;
    }

    @Override
    protected boolean setOperationResource() throws InvocationTargetException, InterruptedException{
        IResource[] resourcesSelectedByUserTmp = getSelectedResourcesByUser();
        List<IResource> resourcesSelectedByUserList = new ArrayList<IResource>();
        if( null != resourcesSelectedByUserTmp && resourcesSelectedByUserTmp.length > 0 ){
            for( IResource resource : resourcesSelectedByUserTmp ){
                try {
                    if(RbSVNUrlUtils.isResourceHasSVNProperty(resource)){
                        resourcesSelectedByUserList.add(resource);
                    }
                } catch (ReviewboardException e) {
                }
            }
        }
        if( resourcesSelectedByUserList.isEmpty() ){
            resourcesSelectedByUser = null;
            MessageDialog.openError(getShell(), RbSubclipseMessages.getString("ERROR_INFORMATION_LABLE"),
                    RbSubclipseMessages.getString("ERROR_FOLDERNOTSVN"));
            return false;
        }else{
            resourcesSelectedByUser = new IResource[resourcesSelectedByUserList.size()];
            resourcesSelectedByUser = resourcesSelectedByUserList.toArray(resourcesSelectedByUser);
            return true;
        }
    }

    @Override
    protected void openAndSetWizard() {
        IResource[] unaddedResources = new IResource[unaddedList.size()];
        unaddedList.toArray(unaddedResources);
       
        //进入向导页
        PostCommitRequestWizard wizardCommitRequestWizard = new PostCommitRequestWizard( getTargetPart(), getTargetPage(),
                null == modifiedResources ? null : new StructuredSelection(modifiedResources),
                        resourcesSelectedByUser, statusMap, reviewboardClient);
        wizardCommitRequestWizard.setWindowTitle(RbSubclipseMessages.getString("PostReviewBoardAction.dialogTitle"));
        wizardCommitRequestWizard.setSelectedResources(getSelectedResources());
        int height = 645;
        RbConfig rbConfig = RbConfigReader.getRbConfig(null);
        if( rbConfig.isAllowOptionBugClosed() ){
            height += 30;
        }
        WizardDialog dialogCommitRequestWizard = new WizardDialogReviewBoardLocation(getShell(), wizardCommitRequestWizard, 820, height); //$NON-NLS-1$
        dialogCommitRequestWizard.setMinimumPageSize(350, 500);
        dialogCommitRequestWizard.open();
    }
   
}
TOP

Related Classes of com.taobao.eclipse.plugin.reviewboard.subclipse.actions.PostCommitReviewBoardAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.