/*
* Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Nuxeo - initial API and implementation
*/
package org.nuxeo.ecm.core.management.api;
import java.util.List;
/**
* Service interface used to manage AdministrativeStatus of Nuxeo's services on
* a given Nuxeo Instance (node)
*
* @author tiry
*/
public interface AdministrativeStatusManager {
String ADMINISTRATIVE_INSTANCE_ID = "org.nuxeo.ecm.instance.administrative.id";
String GLOBAL_INSTANCE_AVAILABILITY = "org.nuxeo.ecm.instance.availability";
String ADMINISTRATIVE_EVENT_CATEGORY = "administrativeCategory";
String ADMINISTRATIVE_EVENT_INSTANCE = "instanceIdentifier";
String ADMINISTRATIVE_EVENT_SERVICE = "serviceIdentifier";
String ACTIVATED_EVENT = "serviceActivated";
String PASSIVATED_EVENT = "servicePassivated";
/**
* List {@link AdministrativeStatus} for all tracked resources (Servers or
* Services).
*/
List<AdministrativeStatus> getAllStatuses();
/**
* Get the {@link AdministrativeStatus} of a given resource.
*/
AdministrativeStatus getStatus(String serviceIdentifier);
/**
* Get the {@link AdministrativeStatus} of a the local Nuxeo Instance.
*/
AdministrativeStatus getNuxeoInstanceStatus();
/**
* Sets the {@link AdministrativeStatus} of a given resource.
*/
AdministrativeStatus setStatus(String serviceIdentifier, String state,
String message, String login);
/**
* Sets the {@link AdministrativeStatus} of the Local Nuxeo Instance.
*/
AdministrativeStatus setNuxeoInstanceStatus(String state, String message,
String login);
/**
* Mark a given resource as active.
*/
AdministrativeStatus activate(String serviceIdentifier, String message,
String login);
/**
* Mark local Nuxeo instance as active.
*/
AdministrativeStatus activateNuxeoInstance(String message, String login);
/**
* Mark a given resource as non active.
*/
AdministrativeStatus deactivate(String serviceIdentifier, String message,
String login);
/**
* Mark local Nuxeo instance as non active.
*/
AdministrativeStatus deactivateNuxeoInstance(String message, String login);
}