org.apache.hadoop.chukwa.rest.bean.ViewBean.java Source code

Java tutorial

Introduction

Here is the source code for org.apache.hadoop.chukwa.rest.bean.ViewBean.java

Source

/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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.apache.hadoop.chukwa.rest.bean;

import java.text.ParseException;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import org.apache.hadoop.chukwa.util.ExceptionUtil;

@XmlRootElement
@XmlType
public class ViewBean {
    private PagesBean[] pages;
    private String description;
    private String owner;

    private String name;
    private String permissionType;
    private static Log log = LogFactory.getLog(ViewBean.class);

    public ViewBean() {
    }

    public ViewBean(JSONObject json) throws ParseException {
        try {
            if (json.has("description")) {
                this.description = json.getString("description");
            } else {
                this.description = "";
            }
            this.owner = json.getString("owner");
            this.name = json.getString("name");
            this.permissionType = json.getString("permissionType");
            int size = json.getJSONArray("pages").length();
            PagesBean[] pages = new PagesBean[size];
            for (int i = 0; i < size; i++) {
                pages[i] = new PagesBean(json.getJSONArray("pages").getJSONObject(i));
            }
            this.pages = pages;
        } catch (JSONException e) {
            log.error(ExceptionUtil.getStackTrace(e));
            throw new ParseException(ExceptionUtil.getStackTrace(e), 0);
        }
    }

    @XmlElement
    public PagesBean[] getPages() {
        return pages;
    }

    @XmlElement
    public int getPagesCount() {
        return pages.length;
    }

    @XmlElement
    public String getDescription() {
        return this.description;
    }

    @XmlElement
    public String getOwner() {
        return this.owner;
    }

    @XmlElement
    public String getName() {
        return this.name;
    }

    @XmlElement
    public String getPermissionType() {
        return this.permissionType;
    }

    public void setPages(PagesBean[] pages) {
        this.pages = pages;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public void setOwner(String owner) {
        this.owner = owner;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setPermissionType(String permissionType) {
        this.permissionType = permissionType;
    }

    public void update() {
        if (this.pages != null) {
            for (PagesBean page : pages) {
                page.update();
            }
        }
    }

    public String deserialize() {
        update();
        JSONObject json = new JSONObject();
        try {
            json.put("name", this.name);
            json.put("owner", this.owner);
            json.put("permissionType", this.permissionType);
            json.put("description", this.description);
            JSONArray ja = new JSONArray();
            for (int i = 0; i < this.pages.length; i++) {
                ja.put(this.pages[i].deserialize());
            }
            json.put("pages", (JSONArray) ja);
        } catch (Exception e) {
            log.error(ExceptionUtil.getStackTrace(e));
        }
        return json.toString();
    }
}