@Service @PerLookup class DeleteDecorator implements DeletionDecorator<LbConfigs, LbConfig> { @Inject private Domain domain; @Override public void decorate(AdminCommandContext context, LbConfigs parent, LbConfig child) throws PropertyVetoException, TransactionFailure { Logger logger = LogDomains.getLogger(LbConfig.class, LogDomains.ADMIN_LOGGER); LocalStringManagerImpl localStrings = new LocalStringManagerImpl(LbConfig.class); String lbConfigName = child.getName(); LbConfig lbConfig = domain.getExtensionByType(LbConfigs.class).getLbConfig(lbConfigName); //Ensure there are no refs if ( (lbConfig.getClusterRefOrServerRef().size() != 0 ) ) { String msg = localStrings.getLocalString("LbConfigNotEmpty", lbConfigName); throw new TransactionFailure(msg); } logger.info(localStrings.getLocalString("http_lb_admin.LbConfigDeleted", lbConfigName)); } } }
@Service @PerLookup public class CrDecorator implements CreationDecorator<SecureAdminInternalUser> { @Param(optional=false, primary=true) private String username; @Param(optional=false) private String passwordAlias; @Inject private SecureAdminHelper helper; @Override public void decorate(AdminCommandContext context, SecureAdminInternalUser instance) throws TransactionFailure, PropertyVetoException { try { helper.validateInternalUsernameAndPasswordAlias( username, passwordAlias); } catch (Exception ex) { throw new TransactionFailure("create", ex); } instance.setUsername(username); instance.setPasswordAlias(passwordAlias); } } }
@Service @PerLookup class DeleteDecorator implements DeletionDecorator<LbConfigs, LbConfig> { @Inject private Domain domain; @Override public void decorate(AdminCommandContext context, LbConfigs parent, LbConfig child) throws PropertyVetoException, TransactionFailure { Logger logger = LogDomains.getLogger(LbConfig.class, LogDomains.ADMIN_LOGGER); LocalStringManagerImpl localStrings = new LocalStringManagerImpl(LbConfig.class); String lbConfigName = child.getName(); LbConfig lbConfig = domain.getExtensionByType(LbConfigs.class).getLbConfig(lbConfigName); //Ensure there are no refs if ( (lbConfig.getClusterRefOrServerRef().size() != 0 ) ) { String msg = localStrings.getLocalString("LbConfigNotEmpty", lbConfigName); throw new TransactionFailure(msg); } logger.info(localStrings.getLocalString("http_lb_admin.LbConfigDeleted", lbConfigName)); } } }
@Service @PerLookup abstract class UninstallNodeBaseCommand extends NativeRemoteCommandsBase { @Param(name = "installdir", optional = true, defaultValue = "${com.sun.aas.productRoot}") private String installDir; @Param(optional = true, defaultValue = "false") private boolean force; @Inject private ServiceLocator habitat;
@Service(name="test-upgrade", metadata="mode=debug") @PerLookup public class V2ToV3ConfigUpgradeTester implements AdminCommand, AdminCommandSecurity.AccessCheckProvider { @Inject ServiceLocator habitat; @Inject V2ToV3ConfigUpgrade up; @Override public Collection<? extends AccessCheck> getAccessChecks() { final Collection<AccessCheck> accessChecks = new ArrayList<AccessCheck>(); for (JavaConfig jc : up.getJavaConfigs()) { accessChecks.add(new AccessCheck(jc, "update", true /* isFailureFatal */)); } return accessChecks; } @Override public void execute(AdminCommandContext context) { up.postConstruct(); String msg = "Testing upgrade!"; ActionReport report = context.getActionReport(); report.setActionExitCode(ExitCode.SUCCESS); report.setMessage(msg); } }
@Service(name = "rollback-transaction") @TargetType({CommandTarget.DAS,CommandTarget.STANDALONE_INSTANCE, CommandTarget.CLUSTERED_INSTANCE}) @ExecuteOn(RuntimeType.INSTANCE) @PerLookup @I18n("rollback.transaction") public class RollbackTransaction implements AdminCommand { private static StringManager localStrings = StringManager.getManager(RollbackTransaction.class); @Param(optional = true) String target = SystemPropertyConstants.DEFAULT_SERVER_INSTANCE_NAME; @Param(name = "transaction_id") String txnId; @Inject JavaEETransactionManager transactionMgr;
@Service(name = "list-nodes-config") @PerLookup @CommandLock(CommandLock.LockType.NONE) @I18n("list.nodes.config.command") @RestEndpoints({ @RestEndpoint(configBean=Domain.class, opType=RestEndpoint.OpType.GET, public class ListNodesConfigCommand implements AdminCommand{ @Inject Servers servers; @Inject private Nodes nodes; @Param(optional = true, defaultValue = "false", name="long", shortName="l") private boolean long_opt; @Param(optional = true) private boolean terse;
@Service(name = "_create-node-implicit") @I18n("create.node.implicit") @PerLookup @ExecuteOn({RuntimeType.DAS}) @RestEndpoints({ @RestEndpoint(configBean=Domain.class, opType=RestEndpoint.OpType.POST, public class CreateNodeImplicitCommand implements AdminCommand { @Inject Nodes nodes; @Inject private CommandRunner cr; @Param(name="name", optional= true) String name; @Param(name="nodedir", optional = true) String nodedir; @Param(name="nodehost", primary = true) String nodehost;
@Service(name = "list-nodes-ssh") @PerLookup @CommandLock(CommandLock.LockType.NONE) @I18n("list.nodes.ssh.command") @RestEndpoints({ @RestEndpoint(configBean=Nodes.class, opType=RestEndpoint.OpType.GET, public class ListNodesSshCommand implements AdminCommand{ @Inject Servers servers; @Inject private Nodes nodes; @Param(optional = true, defaultValue = "false", name="long", shortName="l") private boolean long_opt; @Param(optional = true) private boolean terse;
@Service(name = "list-nodes") @PerLookup @CommandLock(CommandLock.LockType.NONE) @I18n("list.nodes.command") @RestEndpoints({ @RestEndpoint(configBean=Domain.class, opType=RestEndpoint.OpType.GET, public class ListNodesCommand implements AdminCommand{ @Inject Servers servers; @Inject private Nodes nodes; @Param(optional = true, defaultValue = "false", name="long", shortName="l") private boolean long_opt; @Param(optional = true) private boolean terse;