Package org.eurekastreams.server.action.execution.opensocial

Source Code of org.eurekastreams.server.action.execution.opensocial.OAuthEntryConversionStrategy

/*
* Copyright (c) 2009-2010 Lockheed Martin Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.eurekastreams.server.action.execution.opensocial;

import org.apache.shindig.social.opensocial.oauth.OAuthEntry;
import org.apache.shindig.social.opensocial.oauth.OAuthEntry.Type;
import org.eurekastreams.server.domain.OAuthConsumer;
import org.eurekastreams.server.domain.OAuthDomainEntry;
import org.eurekastreams.server.persistence.mappers.DomainMapper;

/**
* This class provides the strategy for converting {@link OAuthEntry} objects to {@link OAuthDomainEntry} objects
* and vice versa.
*
*/
public class OAuthEntryConversionStrategy
{
    /**
     * Instance of the {@link DomainMapper}.
     */
    private final DomainMapper<String, OAuthConsumer> mapper;
   
    /**
     * Constructor.
     * @param inMapper - instance of the {@link DomainMapper} to retrieve consumer information.
     */
    public OAuthEntryConversionStrategy(final DomainMapper<String, OAuthConsumer> inMapper)
    {
        mapper = inMapper;
    }
   
    /**
     * Maps an entry to an entry data transfer object.
     * @param entry
     *          the entry to convert.
     * @return the converted entry dto.
     */
    public OAuthDomainEntry convertToEntryDTO(final OAuthEntry entry)
    {
        OAuthDomainEntry dto = new OAuthDomainEntry();
        dto.setAppId(entry.getAppId());
        dto.setAuthorized(entry.isAuthorized());
        dto.setCallbackToken(entry.getCallbackToken());
        dto.setCallbackTokenAttempts(entry.getCallbackTokenAttempts());
        dto.setCallbackUrl(entry.getCallbackUrl());
        dto.setCallbackUrlSigned(entry.isCallbackUrlSigned());
        dto.setConsumer(mapper.execute(entry.getConsumerKey()));
        dto.setContainer(entry.getContainer());
        dto.setDomain(entry.getDomain());
        dto.setIssueTime(entry.getIssueTime());
        dto.setOauthVersion(entry.getOauthVersion());
        dto.setToken(entry.getToken());
        dto.setTokenSecret(entry.getTokenSecret());
        dto.setType(entry.getType().toString());
        dto.setUserId(entry.getUserId());
        return dto;
    }

    /**
     * Maps an entry dto to an entry.
     * @param dto
     *          the dto to convert.
     * @return the converted entry.
     */
    public OAuthEntry convertToEntry(final OAuthDomainEntry dto)
    {
        OAuthEntry entry = new OAuthEntry();
        entry.setAppId(dto.getAppId());
        entry.setAuthorized(dto.isAuthorized());
        entry.setCallbackToken(dto.getCallbackToken());
        entry.setCallbackTokenAttempts(dto.getCallbackTokenAttempts());
        entry.setCallbackUrl(dto.getCallbackUrl());
        entry.setCallbackUrlSigned(dto.isCallbackUrlSigned());
        entry.setConsumerKey(dto.getConsumer().getConsumerKey());
        entry.setContainer(dto.getContainer());
        entry.setDomain(dto.getDomain());
        entry.setIssueTime(dto.getIssueTime());
        entry.setOauthVersion(dto.getOauthVersion());
        entry.setToken(dto.getToken());
        entry.setTokenSecret(dto.getTokenSecret());
        entry.setType(Type.valueOf(dto.getType()));
        entry.setUserId(dto.getUserId());
        return entry;
    }
}
TOP

Related Classes of org.eurekastreams.server.action.execution.opensocial.OAuthEntryConversionStrategy

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.