/*
* (C) Copyright 2015 Netcentric AG.
*
* 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
*/
package biz.netcentric.cq.tools.actool.jmx;
import javax.jcr.RepositoryException;
import com.adobe.granite.jmx.annotation.Description;
import com.adobe.granite.jmx.annotation.Name;
/**
* exposes functionalities of the Netcentric AC-Tool
*
* @author jochenkoschorke
*
*/
@Description("AC Service")
public interface AceServiceMBean {
@Description("Version")
public String getVersion();
@Description("Returns links to the existing configuration files in CRX")
public String[] getConfigurationFiles();
@Description("Provides status and links to the saved history logs")
String[] getSavedLogs() throws RepositoryException;
@Description("Applies the ACE configuration")
String apply();
@Description("Applies the ACE configuration, but restricted to given paths")
String applyRestrictedToPaths(
@Name("paths") @Description("comma separated list of paths to apply the configuration to, other paths will be skipped") String restrictedToPaths);
@Description("Applies the ACE configuration as located at given path")
String apply(@Name("configurationRootPath") @Description("The configuration root path") String configurationRootPath);
@Description("Applies the ACE configuration, but restricted to given paths")
String applyRestrictedToPaths(@Name("configurationRootPath") @Description("The configuration root path") String configurationRootPath,
@Name("paths") @Description("comma separated list of paths to apply the configuration to, other paths will be skipped") String restrictedToPaths);
@Description("Purges the AccessControlList of the given path, if existing")
String purgeACL(@Name("path") final String path);
@Description("Purges all AccessControlLists under the given path and its subpaths, if existing")
String purgeACLs(@Name("path") final String path);
@Description("Purges all authorizables contained in configuration files and all their ACEs from the system")
public String purgeAllAuthorizablesFromConfiguration();
@Description("Returns a configuration dump containing all groups and all ACLs ordered by path")
public String pathBasedDump();
@Description("Returns a configuration dump containing all groups and all ACEs ordered by groups (can be used as template for AC Tool configuration file)")
public String groupBasedDump();
@Description("Returns installation log for the given ordinal")
public String showInstallationLog(
@Name("installationLogNumber") @Description("Ordinal of the installation log to be shown") final String historyLogNumber);
@Description("Purges authorizable(s) and respective ACEs from the system.")
public String purgeAuthorizables(
@Name("authorizableIds") @Description("Authorizable Ids to be purged. Multiple authorizable ids may be given separated by comma.") String authorizableIds);
}