Package com.salesforce.ide.core.remote

Examples of com.salesforce.ide.core.remote.ToolingStubExt


                MetadataStubExt metadataStubExt = (MetadataStubExt) obj;
                Connection connection = metadataStubExt.getConnection();
                connection = connectionFactory.refreshConnection(connection);
                metadataStubExt = metadataFactory.refreshMetadataStubExt(connection);
            } else if (obj instanceof ToolingStubExt) {
                ToolingStubExt toolingStubExt = (ToolingStubExt) obj;
                Connection connection = toolingStubExt.getConnection();
                connection = connectionFactory.refreshConnection(connection);
                toolingStubExt = toolingFactory.refreshToolingStubExt(connection);
            }
        } catch (Exception e) {
            logger.warn("Unable to refresh connection", e);
View Full Code Here


            connection = (Connection) joinPoint.getTarget();
        } else if (joinPoint.getTarget() instanceof MetadataStubExt) {
            MetadataStubExt stub = (MetadataStubExt) joinPoint.getTarget();
            connection = stub.getConnection();
        } else if (joinPoint.getTarget() instanceof ToolingStubExt) {
            ToolingStubExt stub = (ToolingStubExt) joinPoint.getTarget();
            connection = stub.getConnection();
        } else if (Utils.isNotEmpty(joinPoint.getArgs())) {
            Object[] objects = joinPoint.getArgs();
            for (Object object : objects) {
                if (object instanceof IProject && connectionFactory != null) {
                    try {
View Full Code Here

    public ToolingFactory() {
        super();
    }

    public ToolingStubExt getToolingStubExtInstance() {
        return new ToolingStubExt();
    }
View Full Code Here

        return new ToolingStubExt();
    }

    private ToolingStubExt getNewToolingStubExt(ForceProject forceProject) throws ForceConnectionException,
            ForceRemoteException {
        ToolingStubExt stub = getToolingStubExtInstance();
        Connection connection = getConnectionFactory().getConnection(forceProject);
        stub.initializeToolingConnection(connection);
        return stub;
    }
View Full Code Here

        return stub;
    }

    public ToolingStubExt refreshToolingStubExt(Connection connection) throws ForceRemoteException {
        ForceProject project = connection.getForceProject();
        ToolingStubExt stub = toolingStubs.get(project);
        if (stub != null) {
            stub.initializeToolingConnection(connection);
        }
        return stub;
    }
View Full Code Here

        }
        return stub;
    }

    public boolean removeToolingStubExt(ForceProject project) {
        ToolingStubExt stub = toolingStubs.remove(project);
        return stub != null ? true : false;
    }
View Full Code Here

        return getToolingStubExt(connection.getForceProject());
    }

    public ToolingStubExt getToolingStubExt(ForceProject forceProject) throws ForceConnectionException,
            ForceRemoteException {
        ToolingStubExt stub = toolingStubs.get(forceProject);

        if (stub == null) {
            stub = getNewToolingStubExt(forceProject);
            cacheToolingStubExt(forceProject, stub);
        }
View Full Code Here

    public void deploy(ForceProject project, ComponentList list, IProgressMonitor monitor) {
        //TODO: Optimize for the case of a single save, where we can just use the ContainerAsyncRequest without MetadataContainer
        try {
            clearSaveLocallyOnlyMarkers(list);

            ToolingStubExt stub = factoryLocator.getToolingFactory().getToolingStubExt(project);

            MetadataContainer container = new MetadataContainer();
            container.setName(constructProjectIdentifier(project));
            SaveResult[] containerResults = stub.create(new SObject[] { container });

            if (containerResults[0].isSuccess()) {
                String containerId = containerResults[0].getId();
                SObject[] classMembers = createContainerMembers(containerId, list);

                SaveResult[] classMemberResults = stub.create(classMembers);
                boolean allClassMembersCreatedSuccessfully =
                        Iterables.all(Lists.newArrayList(classMemberResults), new Predicate<SaveResult>() {

                            @Override
                            public boolean apply(SaveResult result) {
                                return result.isSuccess();
                            }
                        });

                if (allClassMembersCreatedSuccessfully) {
                    ContainerAsyncRequest request = new ContainerAsyncRequest();
                    request.setIsCheckOnly(false);
                    request.setMetadataContainerId(containerId);
                    SaveResult[] requestResults = stub.create(new SObject[] { request });

                    if (requestResults[0].isSuccess()) {
                        ContainerAsyncRequest onGoingRequest = pollForStatus(stub, requestResults, monitor);
                        handleContainerAsyncMessages(list, onGoingRequest);
                    } else {
                        handleContainerAsyncRequestCreationFailure(list, requestResults);
                    }
                } else {
                    handleClassMembersCreationFailure(list, classMemberResults);
                }

                // Clean up and delete the container member (this also deletes any ContainerMembers still referencing it)
                // If deletion fails, we will see a duplicate container error the next time we deploy and handle it there.
                stub.delete(new String[] { containerResults[0].getId() });

            } else {
                handleMetadataContainerCreationFailure(project, stub, list, containerResults);
            }
View Full Code Here

TOP

Related Classes of com.salesforce.ide.core.remote.ToolingStubExt

Copyright © 2018 www.massapicom. 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.