001/* 002 * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 * 009 * Contributors: 010 * Nuxeo - initial API and implementation 011 */ 012package org.nuxeo.ecm.core.management.api; 013 014import java.util.List; 015 016/** 017 * Service interface used to manage AdministrativeStatus of Nuxeo's services on a given Nuxeo Instance (node) 018 * 019 * @author tiry 020 */ 021public interface AdministrativeStatusManager { 022 023 String ADMINISTRATIVE_INSTANCE_ID = "org.nuxeo.ecm.instance.administrative.id"; 024 025 String GLOBAL_INSTANCE_AVAILABILITY = "org.nuxeo.ecm.instance.availability"; 026 027 String ADMINISTRATIVE_EVENT_CATEGORY = "administrativeCategory"; 028 029 String ADMINISTRATIVE_EVENT_INSTANCE = "instanceIdentifier"; 030 031 String ADMINISTRATIVE_EVENT_SERVICE = "serviceIdentifier"; 032 033 String ACTIVATED_EVENT = "serviceActivated"; 034 035 String PASSIVATED_EVENT = "servicePassivated"; 036 037 /** 038 * List {@link AdministrativeStatus} for all tracked resources (Servers or Services). 039 */ 040 List<AdministrativeStatus> getAllStatuses(); 041 042 /** 043 * Get the {@link AdministrativeStatus} of a given resource. 044 */ 045 AdministrativeStatus getStatus(String serviceIdentifier); 046 047 /** 048 * Get the {@link AdministrativeStatus} of a the local Nuxeo Instance. 049 */ 050 AdministrativeStatus getNuxeoInstanceStatus(); 051 052 /** 053 * Sets the {@link AdministrativeStatus} of a given resource. 054 */ 055 AdministrativeStatus setStatus(String serviceIdentifier, String state, String message, String login); 056 057 /** 058 * Sets the {@link AdministrativeStatus} of the Local Nuxeo Instance. 059 */ 060 AdministrativeStatus setNuxeoInstanceStatus(String state, String message, String login); 061 062 /** 063 * Mark a given resource as active. 064 */ 065 AdministrativeStatus activate(String serviceIdentifier, String message, String login); 066 067 /** 068 * Mark local Nuxeo instance as active. 069 */ 070 AdministrativeStatus activateNuxeoInstance(String message, String login); 071 072 /** 073 * Mark a given resource as non active. 074 */ 075 AdministrativeStatus deactivate(String serviceIdentifier, String message, String login); 076 077 /** 078 * Mark local Nuxeo instance as non active. 079 */ 080 AdministrativeStatus deactivateNuxeoInstance(String message, String login); 081 082}