org.gitana.platform.client.job.JobImpl.java Source code

Java tutorial

Introduction

Here is the source code for org.gitana.platform.client.job.JobImpl.java

Source

/**
 * Copyright 2013 Gitana Software, Inc.
 *
 * 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.
 *
 * For more information, please contact Gitana Software, Inc. at this
 * address:
 *
 *   info@gitanasoftware.com
 */

package org.gitana.platform.client.job;

import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;

import org.gitana.platform.client.cluster.AbstractClusterDocumentImpl;
import org.gitana.platform.client.cluster.Cluster;
import org.gitana.platform.services.job.JobState;
import org.gitana.platform.support.TypedIDConstants;
import org.gitana.util.DateUtil;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

/**
 * @author uzi
 */
public class JobImpl extends AbstractClusterDocumentImpl implements Job {
    public JobImpl(Cluster cluster, ObjectNode obj, boolean isSaved) {
        super(cluster, obj, isSaved);
    }

    @Override
    public String getTypeId() {
        return TypedIDConstants.TYPE_JOB;
    }

    @Override
    protected String getResourceUri() {
        return "/jobs/" + getId();
    }

    @Override
    public boolean equals(Object object) {
        boolean equals = false;

        if (object instanceof Job) {
            Job other = (Job) object;

            equals = (this.getId().equals(other.getId()));
        }

        return equals;
    }

    @Override
    public String getType() {
        return getString(FIELD_TYPE);
    }

    @Override
    public String getRunAsPrincipalId() {
        return getString(FIELD_RUN_AS_PRINCIPAL_ID);
    }

    @Override
    public String getRunAsPrincipalDomainId() {
        return getString(FIELD_RUN_AS_PRINCIPAL_DOMAIN_ID);
    }

    @Override
    public ObjectNode getStartedTimestamp() {
        return getObject(FIELD_STARTED_TIMESTAMP);
    }

    @Override
    public ObjectNode getStoppedTimestamp() {
        return getObject(FIELD_STOPPED_TIMESTAMP);
    }

    @Override
    public Calendar getStartedTime() {
        Calendar calendar = null;

        ObjectNode timestamp = getStartedTimestamp();
        if (timestamp != null) {
            calendar = DateUtil.getTime(timestamp);
        }

        return calendar;
    }

    @Override
    public boolean getStopped() {
        return getBoolean(FIELD_STOPPED);
    }

    @Override
    public Calendar getStoppedTime() {
        Calendar calendar = null;

        ObjectNode timestamp = getStoppedTimestamp();
        if (timestamp != null) {
            calendar = DateUtil.getTime(timestamp);
        }

        return calendar;
    }

    @Override
    public boolean getPaused() {
        return getBoolean(FIELD_PAUSED);
    }

    @Override
    public String getPausedBy() {
        return getString(FIELD_PAUSED_BY);
    }

    @Override
    public ObjectNode getPausedTimestamp() {
        return getObject(FIELD_PAUSED_TIMESTAMP);
    }

    @Override
    public Calendar getPausedTime() {
        Calendar calendar = null;

        ObjectNode timestamp = getPausedTimestamp();
        if (timestamp != null) {
            calendar = DateUtil.getTime(timestamp);
        }

        return calendar;
    }

    @Override
    public String getSubmittedBy() {
        return getString(FIELD_SUBMITTED_BY);
    }

    @Override
    public ObjectNode getSubmittedTimestamp() {
        return getObject(FIELD_SUBMITTED_TIMESTAMP);
    }

    @Override
    public Calendar getSubmittedTime() {
        Calendar calendar = null;

        ObjectNode timestamp = getSubmittedTimestamp();
        if (timestamp != null) {
            calendar = DateUtil.getTime(timestamp);
        }

        return calendar;
    }

    @Override
    public boolean getStarted() {
        return getBoolean(FIELD_STARTED);
    }

    @Override
    public List<JobLogEntry> getLogEntries() {
        List<JobLogEntry> list = new ArrayList<JobLogEntry>();

        ArrayNode entries = getArray(FIELD_LOG_ENTRIES);
        for (int i = 0; i < entries.size(); i++) {
            ObjectNode object = (ObjectNode) entries.get(i);

            JobLogEntry entry = new JobLogEntry(object);
            list.add(entry);
        }

        return list;
    }

    @Override
    public int getPriority() {
        return getInt(FIELD_PRIORITY);
    }

    @Override
    public void setPriority(int priority) {
        set(FIELD_PRIORITY, priority);
    }

    @Override
    public void setCurrentThreadId(String currentThreadId) {
        set(FIELD_CURRENT_THREAD, currentThreadId);
    }

    @Override
    public String getCurrentThreadId() {
        return getString(FIELD_CURRENT_THREAD);
    }

    @Override
    public void setCurrentServerId(String currentMemberId) {
        set(FIELD_CURRENT_SERVER, currentMemberId);
    }

    @Override
    public String getCurrentServerId() {
        return getString(FIELD_CURRENT_SERVER);
    }

    @Override
    public void setCurrentServerTimestamp(long currentServerTimestamp) {
        set(FIELD_CURRENT_SERVER_TIMESTAMP, currentServerTimestamp);
    }

    @Override
    public long getCurrentServerTimestamp() {
        return getLong(FIELD_CURRENT_SERVER_TIMESTAMP);
    }

    @Override
    public void setScheduleStart(long ms) {
        set(FIELD_SCHEDULE_START_MS, ms);
    }

    @Override
    public long getScheduleStart() {
        return getLong(FIELD_SCHEDULE_START_MS);
    }

    @Override
    public int getAttempts() {
        int attempts = getInt(FIELD_ATTEMPTS);
        if (attempts == -1) {
            attempts = 0;
        }

        return attempts;
    }

    @Override
    public void setAttempts(int attempts) {
        set(FIELD_ATTEMPTS, attempts);
    }

    @Override
    public String getPlatformId() {
        return getString(FIELD_PLATFORM_ID);
    }

    @Override
    public void setPlatformId(String platformId) {
        set(FIELD_PLATFORM_ID, platformId);
    }

    @Override
    public JobState getState() {
        JobState state = null;

        String str = getString(FIELD_STATE);
        if (str != null) {
            state = JobState.valueOf(str);
        }

        return state;
    }

    @Override
    public void setState(JobState state) {
        set(FIELD_STATE, state.toString());
    }
}