Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,12 @@ transaction.log
.floo
.flooignore
gh-pages

# Agents
.claude
.vscode

# Beads / Dolt files (added by bd init)
.dolt/
*.db
.beads-credential-key
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
/*
* JBoss, Home of Professional Open Source
* Copyright 2011 Red Hat Inc. and/or its affiliates and other contributors
* as indicated by the @authors tag. All rights reserved.
* See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* 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.
*/
package org.jboss.arquillian.container.impl;

import org.jboss.arquillian.container.spi.ContainerControlListener;
import org.jboss.arquillian.container.spi.event.DeployDeployment;
import org.jboss.arquillian.container.spi.event.KillContainer;
import org.jboss.arquillian.container.spi.event.SetupContainer;
import org.jboss.arquillian.container.spi.event.StartContainer;
import org.jboss.arquillian.container.spi.event.StopContainer;
import org.jboss.arquillian.container.spi.event.UnDeployDeployment;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.annotation.Inject;
import org.jboss.arquillian.core.api.annotation.Observes;
import org.jboss.arquillian.core.spi.Manager;

/**
* Adaptor that bridges single-container control events to the {@link ContainerControlListener} SPI.
*
* @author Arquillian
*/
public class ContainerControlListenerAdaptor {

@Inject
private Instance<Manager> manager;

public void onSetupContainer(@Observes SetupContainer event) throws Exception {
for (ContainerControlListener listener : manager.get().getListeners(ContainerControlListener.class)) {
listener.setupContainer(event.getContainer());
}
}

public void onStartContainer(@Observes StartContainer event) throws Exception {
for (ContainerControlListener listener : manager.get().getListeners(ContainerControlListener.class)) {
listener.startContainer(event.getContainer());
}
}

public void onStopContainer(@Observes StopContainer event) throws Exception {
for (ContainerControlListener listener : manager.get().getListeners(ContainerControlListener.class)) {
listener.stopContainer(event.getContainer());
}
}

public void onKillContainer(@Observes KillContainer event) throws Exception {
for (ContainerControlListener listener : manager.get().getListeners(ContainerControlListener.class)) {
listener.killContainer(event.getContainer());
}
}

public void onDeployDeployment(@Observes DeployDeployment event) throws Exception {
for (ContainerControlListener listener : manager.get().getListeners(ContainerControlListener.class)) {
listener.deployDeployment(event.getContainer(), event.getDeployment());
}
}

public void onUndeployDeployment(@Observes UnDeployDeployment event) throws Exception {
for (ContainerControlListener listener : manager.get().getListeners(ContainerControlListener.class)) {
listener.undeployDeployment(event.getContainer(), event.getDeployment());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
import org.jboss.arquillian.container.impl.context.DeploymentContextImpl;
import org.jboss.arquillian.core.spi.LoadableExtension;



/**
* ContainerExtension
*
Expand All @@ -43,6 +45,9 @@ public void register(ExtensionBuilder builder) {
.observer(ContainerLifecycleController.class)
.observer(ContainerDeployController.class)
.observer(ArchiveDeploymentExporter.class)
.observer(DeploymentExceptionHandler.class);
.observer(DeploymentExceptionHandler.class)
.observer(ContainerLifecycleListenerAdaptor.class)
.observer(ContainerControlListenerAdaptor.class)
.observer(ContainerMultiControlListenerAdaptor.class);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
/*
* JBoss, Home of Professional Open Source
* Copyright 2011 Red Hat Inc. and/or its affiliates and other contributors
* as indicated by the @authors tag. All rights reserved.
* See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* 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.
*/
package org.jboss.arquillian.container.impl;

import org.jboss.arquillian.container.spi.ContainerLifecycleListener;
import org.jboss.arquillian.container.spi.event.container.AfterDeploy;
import org.jboss.arquillian.container.spi.event.container.AfterKill;
import org.jboss.arquillian.container.spi.event.container.AfterSetup;
import org.jboss.arquillian.container.spi.event.container.AfterStart;
import org.jboss.arquillian.container.spi.event.container.AfterStop;
import org.jboss.arquillian.container.spi.event.container.AfterUnDeploy;
import org.jboss.arquillian.container.spi.event.container.BeforeDeploy;
import org.jboss.arquillian.container.spi.event.container.BeforeKill;
import org.jboss.arquillian.container.spi.event.container.BeforeSetup;
import org.jboss.arquillian.container.spi.event.container.BeforeStart;
import org.jboss.arquillian.container.spi.event.container.BeforeStop;
import org.jboss.arquillian.container.spi.event.container.BeforeUnDeploy;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.annotation.Inject;
import org.jboss.arquillian.core.api.annotation.Observes;
import org.jboss.arquillian.core.spi.Manager;

/**
* Adaptor that bridges per-container notification events to the {@link ContainerLifecycleListener} SPI.
*
* @author Arquillian
*/
public class ContainerLifecycleListenerAdaptor {

@Inject
private Instance<Manager> manager;

public void onBeforeSetup(@Observes BeforeSetup event) throws Exception {
for (ContainerLifecycleListener listener : manager.get().getListeners(ContainerLifecycleListener.class)) {
listener.beforeSetup(event.getDeployableContainer());
}
}

public void onAfterSetup(@Observes AfterSetup event) throws Exception {
for (ContainerLifecycleListener listener : manager.get().getListeners(ContainerLifecycleListener.class)) {
listener.afterSetup(event.getDeployableContainer());
}
}

public void onBeforeStart(@Observes BeforeStart event) throws Exception {
for (ContainerLifecycleListener listener : manager.get().getListeners(ContainerLifecycleListener.class)) {
listener.beforeStart(event.getDeployableContainer());
}
}

public void onAfterStart(@Observes AfterStart event) throws Exception {
for (ContainerLifecycleListener listener : manager.get().getListeners(ContainerLifecycleListener.class)) {
listener.afterStart(event.getDeployableContainer());
}
}

public void onBeforeStop(@Observes BeforeStop event) throws Exception {
for (ContainerLifecycleListener listener : manager.get().getListeners(ContainerLifecycleListener.class)) {
listener.beforeStop(event.getDeployableContainer());
}
}

public void onAfterStop(@Observes AfterStop event) throws Exception {
for (ContainerLifecycleListener listener : manager.get().getListeners(ContainerLifecycleListener.class)) {
listener.afterStop(event.getDeployableContainer());
}
}

public void onBeforeKill(@Observes BeforeKill event) throws Exception {
for (ContainerLifecycleListener listener : manager.get().getListeners(ContainerLifecycleListener.class)) {
listener.beforeKill(event.getDeployableContainer());
}
}

public void onAfterKill(@Observes AfterKill event) throws Exception {
for (ContainerLifecycleListener listener : manager.get().getListeners(ContainerLifecycleListener.class)) {
listener.afterKill(event.getDeployableContainer());
}
}

public void onBeforeDeploy(@Observes BeforeDeploy event) throws Exception {
for (ContainerLifecycleListener listener : manager.get().getListeners(ContainerLifecycleListener.class)) {
listener.beforeDeploy(event.getDeployableContainer(), event.getDeployment());
}
}

public void onAfterDeploy(@Observes AfterDeploy event) throws Exception {
for (ContainerLifecycleListener listener : manager.get().getListeners(ContainerLifecycleListener.class)) {
listener.afterDeploy(event.getDeployableContainer(), event.getDeployment());
}
}

public void onBeforeUndeploy(@Observes BeforeUnDeploy event) throws Exception {
for (ContainerLifecycleListener listener : manager.get().getListeners(ContainerLifecycleListener.class)) {
listener.beforeUndeploy(event.getDeployableContainer(), event.getDeployment());
}
}

public void onAfterUndeploy(@Observes AfterUnDeploy event) throws Exception {
for (ContainerLifecycleListener listener : manager.get().getListeners(ContainerLifecycleListener.class)) {
listener.afterUndeploy(event.getDeployableContainer(), event.getDeployment());
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
/*
* JBoss, Home of Professional Open Source
* Copyright 2011 Red Hat Inc. and/or its affiliates and other contributors
* as indicated by the @authors tag. All rights reserved.
* See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* 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.
*/
package org.jboss.arquillian.container.impl;

import org.jboss.arquillian.container.spi.ContainerMultiControlListener;
import org.jboss.arquillian.container.spi.event.DeployManagedDeployments;
import org.jboss.arquillian.container.spi.event.SetupContainers;
import org.jboss.arquillian.container.spi.event.StartClassContainers;
import org.jboss.arquillian.container.spi.event.StartSuiteContainers;
import org.jboss.arquillian.container.spi.event.StopClassContainers;
import org.jboss.arquillian.container.spi.event.StopManualContainers;
import org.jboss.arquillian.container.spi.event.StopSuiteContainers;
import org.jboss.arquillian.container.spi.event.UnDeployManagedDeployments;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.annotation.Inject;
import org.jboss.arquillian.core.api.annotation.Observes;
import org.jboss.arquillian.core.spi.Manager;

/**
* Adaptor that bridges multi-container control events to the {@link ContainerMultiControlListener} SPI.
*
* @author Arquillian
*/
public class ContainerMultiControlListenerAdaptor {

@Inject
private Instance<Manager> manager;

public void onSetupContainers(@Observes SetupContainers event) throws Exception {
for (ContainerMultiControlListener listener : manager.get().getListeners(ContainerMultiControlListener.class)) {
listener.setupContainers();
}
}

public void onStartSuiteContainers(@Observes StartSuiteContainers event) throws Exception {
for (ContainerMultiControlListener listener : manager.get().getListeners(ContainerMultiControlListener.class)) {
listener.startSuiteContainers();
}
}

public void onStartClassContainers(@Observes StartClassContainers event) throws Exception {
for (ContainerMultiControlListener listener : manager.get().getListeners(ContainerMultiControlListener.class)) {
listener.startClassContainers();
}
}

public void onStopSuiteContainers(@Observes StopSuiteContainers event) throws Exception {
for (ContainerMultiControlListener listener : manager.get().getListeners(ContainerMultiControlListener.class)) {
listener.stopSuiteContainers();
}
}

public void onStopClassContainers(@Observes StopClassContainers event) throws Exception {
for (ContainerMultiControlListener listener : manager.get().getListeners(ContainerMultiControlListener.class)) {
listener.stopClassContainers();
}
}

public void onStopManualContainers(@Observes StopManualContainers event) throws Exception {
for (ContainerMultiControlListener listener : manager.get().getListeners(ContainerMultiControlListener.class)) {
listener.stopManualContainers();
}
}

public void onDeployManagedDeployments(@Observes DeployManagedDeployments event) throws Exception {
for (ContainerMultiControlListener listener : manager.get().getListeners(ContainerMultiControlListener.class)) {
listener.deployManagedDeployments();
}
}

public void onUndeployManagedDeployments(@Observes UnDeployManagedDeployments event) throws Exception {
for (ContainerMultiControlListener listener : manager.get().getListeners(ContainerMultiControlListener.class)) {
listener.undeployManagedDeployments();
}
}
}
Loading