/** * Copyright (c) 2010 Yahoo! Inc. All rights reserved. * 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. See accompanying LICENSE file. */ package org.apache.oozie.command.coord; import java.util.List; import org.apache.oozie.SLAEventBean; import org.apache.oozie.command.Command; import org.apache.oozie.command.CommandException; import org.apache.oozie.store.SLAStore; import org.apache.oozie.store.Store; import org.apache.oozie.store.StoreException; import org.apache.oozie.util.XLog; public class SLAEventsCommand extends Command<List<SLAEventBean>, SLAStore> { private long seqId; private int maxNoEvents; private long lastSeqId = -1; public SLAEventsCommand(long seqId, int maxNoEvnts) { super("SLAEventsCommand", "SLAEventsCommand", 1, XLog.OPS); this.seqId = seqId; this.maxNoEvents = maxNoEvnts; } @Override protected List<SLAEventBean> call(SLAStore store) throws StoreException, CommandException { long lsId[] = new long[1]; List<SLAEventBean> slaEvntList = store.getSLAEventListNewerSeqLimited(seqId, maxNoEvents, lsId); store.getEntityManager().clear(); setLastSeqId(lsId[0]); return slaEvntList; } public void setLastSeqId(long lastSeqId) { this.lastSeqId = lastSeqId; } public long getLastSeqId() { return lastSeqId; } @Override public Class<? extends Store> getStoreClass() { // TODO Auto-generated method stub return SLAStore.class; } }