Package com.salesforce.ide.core.internal.components.object

Source Code of com.salesforce.ide.core.internal.components.object.CustomObjectComponentController

/*******************************************************************************
* Copyright (c) 2014 Salesforce.com, inc..
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*     Salesforce.com, inc. - initial API and implementation
******************************************************************************/
package com.salesforce.ide.core.internal.components.object;

import java.io.IOException;
import java.lang.reflect.InvocationTargetException;

import org.apache.log4j.Logger;
import org.eclipse.core.runtime.IProgressMonitor;

import com.salesforce.ide.core.internal.components.ComponentController;
import com.salesforce.ide.core.internal.components.ComponentModel;
import com.salesforce.ide.core.internal.context.ContainerDelegate;
import com.salesforce.ide.core.internal.jobs.LoadSObjectsJob;
import com.salesforce.ide.core.project.ForceProjectException;
import com.salesforce.ide.core.remote.Connection;

public class CustomObjectComponentController extends ComponentController {

    private static final Logger logger = Logger.getLogger(CustomObjectComponentController.class);

    public CustomObjectComponentController() throws ForceProjectException {
        super(new CustomObjectModel());
    }

    /**
    * refresh custom object cache
    */
    @Override
    protected void postSaveProcess(ComponentModel componentWizardModel, IProgressMonitor monitor)
            throws InvocationTargetException, InterruptedException, IOException {
        if (componentWizardModel.getProject() == null || !componentWizardModel.getProject().exists()) {
            logger.warn("Unable to perform post finish jobs - project is null or does not exist");
            return;
        }

        try {
            Connection connection = ContainerDelegate.getInstance().getFactoryLocator().getConnectionFactory().getConnection(componentWizardModel.getProject());
            LoadSObjectsJob loadSObjectsJob =
                    new LoadSObjectsJob(ContainerDelegate.getInstance().getFactoryLocator().getConnectionFactory().getDescribeObjectRegistry(), connection,
                            componentWizardModel.getProject().getName());
            loadSObjectsJob.setSystem(true);
            loadSObjectsJob.schedule();
        } catch (Exception e) {
            // this is fine because we may load later
            logger.warn("Unable to refresh custom object cache: " + e.getMessage());
        }

        super.postSaveProcess(componentWizardModel, monitor);
    }
}
TOP

Related Classes of com.salesforce.ide.core.internal.components.object.CustomObjectComponentController

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.