com.threewks.thundr.http.service.ning.NingTransformers.java Source code

Java tutorial

Introduction

Here is the source code for com.threewks.thundr.http.service.ning.NingTransformers.java

Source

/*
 * This file is a component of thundr, a software library from 3wks.
 * Read more: http://3wks.github.io/thundr/
 * Copyright (C) 2014 3wks, <thundr@3wks.com.au>
 *
 * 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 com.threewks.thundr.http.service.ning;

import java.net.HttpCookie;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang3.StringUtils;

import com.atomicleopard.expressive.ETransformer;
import com.atomicleopard.expressive.Expressive;
import com.ning.http.client.Cookie;

import jodd.util.StringUtil;

class NingTransformers {
    protected static ETransformer<HttpCookie, Cookie> toNingCookie = new ETransformer<HttpCookie, Cookie>() {
        @SuppressWarnings("deprecation")
        @Override
        public Cookie from(HttpCookie from) {
            Cookie cookie = new Cookie(from.getDomain(), from.getName(), from.getValue(), from.getPath(),
                    (int) from.getMaxAge(), from.getSecure(), from.getVersion());
            List<Integer> ports = ports(from.getPortlist());
            if (Expressive.isNotEmpty(ports)) {
                cookie.setPorts(ports);
            }
            return cookie;
        }
    };
    protected static ETransformer<Cookie, HttpCookie> fromNingCookie = new ETransformer<Cookie, HttpCookie>() {
        @Override
        public HttpCookie from(Cookie from) {
            HttpCookie cookie = new HttpCookie(from.getName(), from.getValue());
            cookie.setDomain(from.getDomain());
            cookie.setPath(from.getPath());
            cookie.setMaxAge(from.getMaxAge());
            cookie.setSecure(from.isSecure());
            cookie.setVersion(from.getVersion());
            cookie.setPortlist(StringUtils.join(from.getPorts(), ","));
            cookie.setHttpOnly(from.isHttpOnly());
            return cookie;
        }
    };

    private static List<Integer> ports(String portString) {
        List<Integer> ports = new ArrayList<Integer>();
        if (portString != null) {
            for (String string : StringUtil.split(portString, ",")) {
                ports.add(Integer.parseInt(StringUtils.trimToEmpty(string)));
            }
        }
        return ports.isEmpty() ? null : ports;
    }
}