Examples of SalesforceSession


Examples of org.apache.camel.component.salesforce.internal.SalesforceSession

        // start the Jetty client to initialize thread pool, etc.
        httpClient.start();

        // support restarts
        if (null == this.session) {
            this.session = new SalesforceSession(httpClient, loginConfig);
        }

        // login at startup if lazyLogin is disabled
        if (!loginConfig.isLazyLogin()) {
            ServiceHelper.startService(session);
View Full Code Here

Examples of org.apache.camel.component.salesforce.internal.SalesforceSession

            httpClient.start();
        } catch (Exception e) {
            throw new MojoExecutionException("Error creating HTTP client: " + e.getMessage(), e);
        }

        final SalesforceSession session = new SalesforceSession(httpClient,
                new SalesforceLoginConfig(SalesforceLoginConfig.DEFAULT_LOGIN_URL,
                        clientId, clientSecret, userName, password, false));

        getLog().info("Salesforce login...");
        try {
            session.login(null);
        } catch (SalesforceException e) {
            String msg = "Salesforce login error " + e.getMessage();
            throw new MojoExecutionException(msg, e);
        }
        getLog().info("Salesforce login successful");

        // create rest client
        RestClient restClient;
        try {
            restClient = new DefaultRestClient(httpClient,
                    version, PayloadFormat.JSON, session);
            // remember to start the active client object
            ((DefaultRestClient) restClient).start();
        } catch (Exception e) {
            final String msg = "Unexpected exception creating Rest client: " + e.getMessage();
            throw new MojoExecutionException(msg, e);
        }

        try {
            // use Jackson json
            final ObjectMapper mapper = new ObjectMapper();

            // call getGlobalObjects to get all SObjects
            final Set<String> objectNames = new HashSet<String>();
            final SyncResponseCallback callback = new SyncResponseCallback();
            try {
                getLog().info("Getting Salesforce Objects...");
                restClient.getGlobalObjects(callback);
                if (!callback.await(TIMEOUT, TimeUnit.MILLISECONDS)) {
                    throw new MojoExecutionException("Timeout waiting for getGlobalObjects!");
                }
                final SalesforceException ex = callback.getException();
                if (ex != null) {
                    throw ex;
                }
                final GlobalObjects globalObjects = mapper.readValue(callback.getResponse(),
                        GlobalObjects.class);

                // create a list of object names
                for (SObject sObject : globalObjects.getSobjects()) {
                    objectNames.add(sObject.getName());
                }
            } catch (Exception e) {
                String msg = "Error getting global Objects " + e.getMessage();
                throw new MojoExecutionException(msg, e);
            }

            // check if we are generating POJOs for all objects or not
            if ((includes != null && includes.length > 0)
                    || (excludes != null && excludes.length > 0)
                    || (includePattern != null && !includePattern.trim().isEmpty())
                    || (excludePattern != null && !excludePattern.trim().isEmpty())) {

                getLog().info("Looking for matching Object names...");
                // create a list of accepted names
                final Set<String> includedNames = new HashSet<String>();
                if (includes != null && includes.length > 0) {
                    for (String name : includes) {
                        name = name.trim();
                        if (name.isEmpty()) {
                            throw new MojoExecutionException("Invalid empty name in includes");
                        }
                        includedNames.add(name);
                    }
                }

                final Set<String> excludedNames = new HashSet<String>();
                if (excludes != null && excludes.length > 0) {
                    for (String name : excludes) {
                        name = name.trim();
                        if (name.isEmpty()) {
                            throw new MojoExecutionException("Invalid empty name in excludes");
                        }
                        excludedNames.add(name);
                    }
                }

                // check whether a pattern is in effect
                Pattern incPattern;
                if (includePattern != null && !includePattern.trim().isEmpty()) {
                    incPattern = Pattern.compile(includePattern.trim());
                } else if (includedNames.isEmpty()) {
                    // include everything by default if no include names are set
                    incPattern = Pattern.compile(".*");
                } else {
                    // include nothing by default if include names are set
                    incPattern = Pattern.compile("^$");
                }

                // check whether a pattern is in effect
                Pattern excPattern;
                if (excludePattern != null && !excludePattern.trim().isEmpty()) {
                    excPattern = Pattern.compile(excludePattern.trim());
                } else {
                    // exclude nothing by default
                    excPattern = Pattern.compile("^$");
                }

                final Set<String> acceptedNames = new HashSet<String>();
                for (String name : objectNames) {
                    // name is included, or matches include pattern
                    // and is not excluded and does not match exclude pattern
                    if ((includedNames.contains(name) || incPattern.matcher(name).matches())
                            && !excludedNames.contains(name) && !excPattern.matcher(name).matches()) {
                        acceptedNames.add(name);
                    }
                }
                objectNames.clear();
                objectNames.addAll(acceptedNames);

                getLog().info(String.format("Found %s matching Objects", objectNames.size()));
            } else {
                getLog().warn(String.format("Generating Java classes for all %s Objects, this may take a while...", objectNames.size()));
            }

            // for every accepted name, get SObject description
            final Set<SObjectDescription> descriptions = new HashSet<SObjectDescription>();

            try {
                getLog().info("Retrieving Object descriptions...");
                for (String name : objectNames) {
                    callback.reset();
                    restClient.getDescription(name, callback);
                    if (!callback.await(TIMEOUT, TimeUnit.MILLISECONDS)) {
                        throw new MojoExecutionException("Timeout waiting for getDescription for sObject " + name);
                    }
                    final SalesforceException ex = callback.getException();
                    if (ex != null) {
                        throw ex;
                    }
                    descriptions.add(mapper.readValue(callback.getResponse(), SObjectDescription.class));
                }
            } catch (Exception e) {
                String msg = "Error getting SObject description " + e.getMessage();
                throw new MojoExecutionException(msg, e);
            }

            // create package directory
            // validate package name
            if (!packageName.matches(PACKAGE_NAME_PATTERN)) {
                throw new MojoExecutionException("Invalid package name " + packageName);
            }
            final File pkgDir = new File(outputDirectory, packageName.trim().replace('.', File.separatorChar));
            if (!pkgDir.exists()) {
                if (!pkgDir.mkdirs()) {
                    throw new MojoExecutionException("Unable to create " + pkgDir);
                }
            }

            getLog().info("Generating Java Classes...");
            // generate POJOs for every object description
            final GeneratorUtility utility = new GeneratorUtility();
            // should we provide a flag to control timestamp generation?
            final String generatedDate = new Date().toString();
            for (SObjectDescription description : descriptions) {
                processDescription(pkgDir, description, utility, generatedDate);
            }
            getLog().info(String.format("Successfully generated %s Java Classes", descriptions.size() * 2));

        } finally {
            // remember to stop the client
            try {
                ((DefaultRestClient) restClient).stop();
            } catch (Exception ignore) {
            }

            // Salesforce session stop
            try {
                session.stop();
            } catch (Exception ignore) {
            }

            // release HttpConnections
            try {
View Full Code Here

Examples of org.apache.camel.component.salesforce.internal.SalesforceSession

        // start the Jetty client to initialize thread pool, etc.
        httpClient.start();

        // support restarts
        if (null == this.session) {
            this.session = new SalesforceSession(httpClient, loginConfig);
        }

        // login at startup if lazyLogin is disabled
        if (!loginConfig.isLazyLogin()) {
            ServiceHelper.startService(session);
View Full Code Here

Examples of org.apache.camel.component.salesforce.internal.SalesforceSession

        // start the Jetty client to initialize thread pool, etc.
        httpClient.start();

        // support restarts
        if (null == this.session) {
            this.session = new SalesforceSession(httpClient, loginConfig);
        }

        // login at startup if lazyLogin is disabled
        if (!loginConfig.isLazyLogin()) {
            ServiceHelper.startService(session);
View Full Code Here

Examples of org.wso2.carbon.business.messaging.salesforce.core.session.SalesforceSession

                                                          InvalidFieldFault {

        if (loggedIn) {
            SaveResult[] results = null;
            try {
                SalesforceSession session = SessionManager.getManager().getSalesforceSession(getBindingSession().getId());
                SforceServiceStub binding = null;
                SessionHeader sh;
                QueryResult qr;
                if (session != null) {
                    synchronized (session) {
                        //check if not removed already
                        if (SessionManager.getManager().getSalesforceSession(session.getId()) != null) {
                            binding = createAuthServiceInstance(session.getAuthSalsesforceSession());
                            sh = getAuthHeader(session.getAuthSalsesforceSession());
                            results = binding.create(sObjects, sh, null, null, null, null, null, null, null);
                        } else {
                            //session removed/expired
                            //TODO handle this ? retry / ignore
                            return null;
View Full Code Here

Examples of org.wso2.carbon.business.messaging.salesforce.core.session.SalesforceSession

                                                        UnexpectedErrorFault, InvalidIdFault,
                                                        InvalidQueryLocatorFault {

        if (loggedIn) {
            try {
                SalesforceSession session = SessionManager.getManager().getSalesforceSession(getBindingSession().getId());
                SforceServiceStub binding = null;
                SessionHeader sh = null;
                QueryOptions qo = null;
                QueryResult qr = null;
                if (session != null) {
                    synchronized (session) {
                        //check if not removed already
                        if (SessionManager.getManager().getSalesforceSession(session.getId()) != null) {
                            binding = createAuthServiceInstance(session.getAuthSalsesforceSession());
                            sh = getAuthHeader(session.getAuthSalsesforceSession());
                            qo = new QueryOptions();
                            qo.setBatchSize(DEFAULT_QUERY_SIZE);
                            qr = binding.query(queryString, sh, qo, null, null);
                        } else {
                            return null;
View Full Code Here

Examples of org.wso2.carbon.business.messaging.salesforce.core.session.SalesforceSession

     * @throws RemoteException
     */
    public boolean logout() throws UnexpectedErrorFault, RemoteException {

        try {
            SalesforceSession session = SessionManager.getManager().getSalesforceSession(getBindingSession().getId());
            SforceServiceStub binding = null;
            SessionHeader sh;
            if (session != null) {
                synchronized (session) {
                    //check if not removed already
                    if (SessionManager.getManager().getSalesforceSession(session.getId()) != null) {
                        binding = createAuthServiceInstance(session.getAuthSalsesforceSession());
                        sh = getAuthHeader(session.getAuthSalsesforceSession());
                        binding.logout(sh);
                        removeSession();
                    } else {
                        return false;
                    }
View Full Code Here

Examples of org.wso2.carbon.business.messaging.salesforce.core.session.SalesforceSession

    public boolean login(String username, String password) {
        loginResult = null;
        SforceServiceStub binding = null;
        try {
            //check globally available sessions
            SalesforceSession session = SessionManager.createNewSession(username, password, cfgCtx);
            //check if oldSession exist
            SalesforceSession oldSession = SessionManager.getManager().getSalesforceSession(session.getId());
            if (oldSession != null) {
                synchronized (oldSession) {
                    //check if sessions has been removed
                    if (SessionManager.getManager().getSalesforceSession(oldSession.getId()) != null) {
                        setBindingSession(oldSession);
                        loginWithSession(oldSession);
                    } else {
                        //if already removed use new session
                        SessionManager.getManager().addSalesforceSession(session.getId(), session);
View Full Code Here

Examples of org.wso2.carbon.business.messaging.salesforce.core.session.SalesforceSession

    public GetUserInfoResult getUserInfo() {
        if (loggedIn) {
            GetUserInfoResult userInfo = null;

            try {
                SalesforceSession session = SessionManager.getManager().getSalesforceSession(getBindingSession().getId());
                SforceServiceStub binding = null;
                SessionHeader sh;
                if (session != null) {
                    synchronized (session) {
                        //check if not removed already
                        if (SessionManager.getManager().getSalesforceSession(session.getId()) != null) {
                            binding = createAuthServiceInstance(session.getAuthSalsesforceSession());
                            sh = getAuthHeader(session.getAuthSalsesforceSession());
                            userInfo = binding.getUserInfo(sh);
                        } else {
                            return null;
                        }
                    }
View Full Code Here

Examples of org.wso2.carbon.business.messaging.salesforce.core.session.SalesforceSession

        this.bindingSession = bindingSession;
    }


    private void removeSession() {
        SalesforceSession bindedSession = SessionManager.getManager().getSalesforceSession(getBindingSession().getId());
        if (bindedSession != null) {
            synchronized (bindedSession) {
                SessionManager.getManager().removeSession(bindedSession.getId());
                loggedIn = false;
                loginResult = null;
                setBindingSession(null);
            }
        }
View Full Code Here
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.