use of org.jvnet.hk2.config in project Payara by payara.
the class DeleteTransport method execute.
/**
* Executes the command with the command parameters passed as Properties
* where the keys are the paramter names and the values the parameter values
*
* @param context information
*/
public void execute(AdminCommandContext context) {
Target targetUtil = services.getService(Target.class);
Config newConfig = targetUtil.getConfig(target);
if (newConfig != null) {
config = newConfig;
}
ActionReport report = context.getActionReport();
NetworkConfig networkConfig = config.getNetworkConfig();
Transports transports = networkConfig.getTransports();
try {
for (Transport transport : transports.getTransport()) {
if (transportName.equalsIgnoreCase(transport.getName())) {
transportToBeRemoved = transport;
}
}
if (transportToBeRemoved == null) {
report.setMessage(MessageFormat.format(rb.getString(LogFacade.DELETE_TRANSPORT_NOT_EXISTS), transportName));
report.setActionExitCode(ActionReport.ExitCode.FAILURE);
return;
}
// check if the transport to be deleted is being used by
// any network listener
List<NetworkListener> nwlsnrList = transportToBeRemoved.findNetworkListeners();
for (NetworkListener nwlsnr : nwlsnrList) {
if (transportToBeRemoved.getName().equals(nwlsnr.getTransport())) {
report.setMessage(MessageFormat.format(rb.getString(LogFacade.DELETE_TRANSPORT_BEINGUSED), transportName, nwlsnr.getName()));
report.setActionExitCode(ActionReport.ExitCode.FAILURE);
return;
}
}
ConfigSupport.apply(new SingleConfigCode<Transports>() {
public Object run(Transports param) {
param.getTransport().remove(transportToBeRemoved);
return transportToBeRemoved;
}
}, transports);
} catch (TransactionFailure e) {
report.setMessage(MessageFormat.format(rb.getString(LogFacade.DELETE_TRANSPORT_FAIL), transportName) + " " + e.getLocalizedMessage());
report.setActionExitCode(ActionReport.ExitCode.FAILURE);
report.setFailureCause(e);
return;
}
report.setActionExitCode(ActionReport.ExitCode.SUCCESS);
}
use of org.jvnet.hk2.config in project Payara by payara.
the class GetHttpListener method execute.
@Override
public void execute(AdminCommandContext context) {
ActionReport report = context.getActionReport();
// Check that a configuration can be found
if (targetUtil.getConfig(target) == null) {
report.failure(logger, MessageFormat.format(logger.getResourceBundle().getString(LogFacade.UNKNOWN_CONFIG), target));
return;
}
Config config = targetUtil.getConfig(target);
// Check that a matching listener can be found
List<NetworkListener> listeners = config.getNetworkConfig().getNetworkListeners().getNetworkListener();
Optional<NetworkListener> optionalListener = listeners.stream().filter(listener -> listener.getName().equals(listenerName)).findFirst();
if (!optionalListener.isPresent()) {
report.failure(logger, MessageFormat.format(logger.getResourceBundle().getString(LogFacade.UNKNOWN_NETWORK_LISTENER), listenerName, target));
return;
}
NetworkListener listener = optionalListener.get();
// Write message body
report.appendMessage(String.format("Name: %s\n", listener.getName()));
report.appendMessage(String.format("Enabled: %s\n", listener.getEnabled()));
report.appendMessage(String.format("Port: %s\n", listener.getPort()));
if (listener.getPortRange() != null) {
report.appendMessage(String.format("Port Range: %s\n", listener.getPortRange()));
}
report.appendMessage(String.format("Address: %s\n", listener.getAddress()));
report.appendMessage(String.format("Protocol: %s\n", listener.getProtocol()));
if (verbose) {
report.appendMessage(String.format("Transport: %s\n", listener.getTransport()));
report.appendMessage(String.format("Type: %s\n", listener.getType()));
report.appendMessage(String.format("Thread Pool: %s\n", listener.getThreadPool()));
report.appendMessage(String.format("JK Enabled: %s\n", listener.getJkEnabled()));
report.appendMessage(String.format("JK Configuration File: %s\n", listener.getJkConfigurationFile()));
}
// Write the variables as properties
Properties properties = new Properties();
properties.put("name", listener.getName());
properties.put("enabled", listener.getEnabled());
properties.put("port", listener.getPort());
if (listener.getPortRange() != null) {
properties.put("portRange", listener.getPortRange());
}
properties.put("address", listener.getAddress());
properties.put("protocol", listener.getProtocol());
properties.put("transport", listener.getTransport());
properties.put("type", listener.getType());
properties.put("threadPool", listener.getThreadPool());
properties.put("jkEnabled", listener.getJkEnabled());
properties.put("jkConfigurationFile", listener.getJkConfigurationFile());
report.setExtraProperties(properties);
}
use of org.jvnet.hk2.config in project Payara by payara.
the class WebContainerImpl method setConfiguration.
// --------------------------------------------------------- Public Methods
public void setConfiguration(WebContainerConfig config) {
if (!initialized) {
init();
}
this.config = config;
final WebContainerConfig webConfig = config;
try {
VirtualServer vs = getVirtualServer(config.getVirtualServerId());
if (vs != null) {
((StandardHost) vs).setDefaultWebXmlLocation(config.getDefaultWebXml().getPath());
}
com.sun.enterprise.config.serverbeans.VirtualServer vsBean = httpService.getVirtualServerByName(config.getVirtualServerId());
if (vsBean != null) {
ConfigSupport.apply(new SingleConfigCode<com.sun.enterprise.config.serverbeans.VirtualServer>() {
public Object run(com.sun.enterprise.config.serverbeans.VirtualServer avs) throws PropertyVetoException, TransactionFailure {
avs.setId(webConfig.getVirtualServerId());
if (webConfig.getDocRootDir() != null) {
avs.setDocroot(webConfig.getDocRootDir().getAbsolutePath());
}
avs.setHosts(webConfig.getHostNames());
avs.setNetworkListeners(webConfig.getListenerName());
Property property = avs.createChild(Property.class);
property.setName("default-web-xml");
property.setValue(webConfig.getDefaultWebXml().getPath());
avs.getProperty().add(property);
return avs;
}
}, vsBean);
} else {
vs = createVirtualServer(config.getVirtualServerId(), config.getDocRootDir());
addVirtualServer(vs);
}
EmbeddedWebArchivist archivist = habitat.<EmbeddedWebArchivist>getService(EmbeddedWebArchivist.class);
archivist.setDefaultWebXml(config.getDefaultWebXml());
embedded.setDirectoryListing(config.getListings());
WebListener listener = getWebListener(config.getListenerName());
if (listener == null) {
listener = getWebListener(config.getPort());
if (listener == null) {
boolean found = false;
for (Map.Entry entry : webContainer.getConnectorMap().entrySet()) {
if (((WebConnector) entry.getValue()).getPort() == config.getPort()) {
found = true;
log.info("Port " + config.getPort() + " is already configured");
}
}
if (!found) {
listener = createWebListener(config.getListenerName(), HttpListener.class);
listener.setPort(config.getPort());
addWebListener(listener, config.getVirtualServerId());
}
}
} else {
if (listener.getPort() != config.getPort()) {
listener.setPort(config.getPort());
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
use of org.jvnet.hk2.config in project Payara by payara.
the class DefaultConfigUpgrade method createProviderConfigProperty.
private void createProviderConfigProperty(ProviderConfig pc) throws PropertyVetoException {
while (!(parser.getEventType() == END_ELEMENT && parser.getLocalName().equals("provider-config"))) {
try {
if (parser.next() == START_ELEMENT && parser.getLocalName().equals("property") && pc != null) {
Property p = pc.createChild(Property.class);
pc.getProperty().add(p);
createProperty(p);
}
} catch (TransactionFailure ex) {
LOGGER.log(Level.SEVERE, createProviderConfigPropertyFailed, ex);
} catch (XMLStreamException ex) {
LOGGER.log(Level.SEVERE, problemParsingProviderConfigProp, ex);
}
}
}
use of org.jvnet.hk2.config in project Payara by payara.
the class DirectAccessTest method doTest.
public void doTest() throws TransactionFailure {
NetworkConfig networkConfig = habitat.getService(NetworkConfig.class);
final NetworkListener listener = networkConfig.getNetworkListeners().getNetworkListener().get(0);
final Http http = listener.findHttpProtocol().getHttp();
ConfigBean config = (ConfigBean) ConfigBean.unwrap(http.getFileCache());
ConfigBean config2 = (ConfigBean) ConfigBean.unwrap(http);
Map<ConfigBean, Map<String, String>> changes = new HashMap<ConfigBean, Map<String, String>>();
Map<String, String> configChanges = new HashMap<String, String>();
configChanges.put("max-age-seconds", "12543");
configChanges.put("max-cache-size-bytes", "1200");
Map<String, String> config2Changes = new HashMap<String, String>();
config2Changes.put("http2-enabled", "false");
changes.put(config, configChanges);
changes.put(config2, config2Changes);
JavaConfig javaConfig = habitat.getService(JavaConfig.class);
ConfigBean javaConfigBean = (ConfigBean) ConfigBean.unwrap(javaConfig);
Map<String, String> javaConfigChanges = new HashMap<String, String>();
javaConfigChanges.put("jvm-options", "-XFooBar=false");
changes.put(javaConfigBean, javaConfigChanges);
getHabitat().<ConfigSupport>getService(ConfigSupport.class).apply(changes);
}
Aggregations