Skip to content

Commit

Permalink
Merge pull request #17311 from soul2zimate/WFLY-18664-main
Browse files Browse the repository at this point in the history
[WFLY-18664] Fix i18n of exception messages in transactions
  • Loading branch information
bstansberry committed Apr 15, 2024
2 parents 9243568 + f4198e8 commit a07eed4
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -237,4 +237,19 @@ public interface TransactionLogger extends BasicLogger {

@Message(id = 40, value = "There is no active transaction at the current context to register synchronization '%s'")
IllegalStateException noActiveTransactionToRegisterSynchronization(Synchronization sync);

@Message(id = 41, value = "JMX error: %s")
OperationFailedException jmxError(String message);

@Message(id = 42, value = "Transaction discovery error")
OperationFailedException transactionDiscoveryError(@Cause Exception e);

@Message(id = 43, value = "InboundTransactionCurrentImpl unable to determine inbound transaction context")
RuntimeException unableToDetermineInboundTransactionContext(@Cause Exception e);

@Message(id = 44, value = "InboundTransactionCurrentImpl unable to suspend inbound transaction context")
RuntimeException unableToSuspendInboundTransactionContext(@Cause Exception e);

@Message(id = 45, value = "Could not register initial reference for InboundTransactionCurrent implementation")
RuntimeException cannotRegister(@Cause Exception e);
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.jboss.as.controller.OperationStepHandler;
import org.jboss.as.controller.PathAddress;
import org.jboss.as.controller.registry.Resource;
import org.jboss.as.txn.logging.TransactionLogger;
import org.jboss.dmr.ModelNode;

import javax.management.MBeanServer;
Expand All @@ -36,7 +37,7 @@ public void execute(OperationContext context, ModelNode operation) throws Operat
mbs.invoke(on, operationName, null, null);

} catch (Exception e) {
throw new OperationFailedException("JMX error: " + e.getMessage());
throw TransactionLogger.ROOT_LOGGER.jmxError(e.getMessage());
}

// refresh the attributes of this participant (the status attribute should have changed to PREPARED
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.jboss.as.controller.OperationStepHandler;
import org.jboss.as.controller.PathAddress;
import org.jboss.as.controller.registry.Resource;
import org.jboss.as.txn.logging.TransactionLogger;
import org.jboss.dmr.ModelNode;

import javax.management.AttributeList;
Expand Down Expand Up @@ -44,7 +45,7 @@ public void execute(OperationContext context, ModelNode operation) throws Operat
// Replace the model
resource.writeModel(model);
} catch (Exception e) {
throw new OperationFailedException("JMX error: " + e.getMessage());
throw TransactionLogger.ROOT_LOGGER.jmxError(e.getMessage());
}

context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import org.jboss.as.controller.PathAddress;
import org.jboss.as.controller.PathElement;
import org.jboss.as.controller.registry.Resource;
import org.jboss.as.txn.logging.TransactionLogger;
import org.jboss.dmr.ModelNode;

import javax.management.AttributeList;
Expand Down Expand Up @@ -146,9 +147,9 @@ private Resource probeTransactions(MBeanServer mbs, boolean exposeAllLogs)
return resource;

} catch (JMException e) {
throw new OperationFailedException("Transaction discovery error: ", e);
throw TransactionLogger.ROOT_LOGGER.transactionDiscoveryError(e);
} catch (IOException e) {
throw new OperationFailedException("Transaction discovery error: ", e);
throw TransactionLogger.ROOT_LOGGER.transactionDiscoveryError(e);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,24 +179,20 @@ private void populateModelWithCoreEnvConfig(ModelNode operation, ModelNode model
if (operation.hasDefined(TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName()) && operation.get(TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName()).asBoolean()) {
TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.validateAndSet(operation, model);
if (operation.hasDefined(TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName())) {
throw new OperationFailedException(String.format("%s must be undefined if %s is 'true'.",
TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName(), TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName()));
throw TransactionLogger.ROOT_LOGGER.mustBeUndefinedIfTrue(TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName(), TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName());
} else if (operation.hasDefined(TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.getName())) {
throw new OperationFailedException(String.format("%s must be undefined if %s is 'true'.",
TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.getName(), TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName()));
throw TransactionLogger.ROOT_LOGGER.mustBeUndefinedIfTrue(TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.getName(), TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName());
}
//model.get(TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName());
//model.get(TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.getName());
} else if (operation.hasDefined(TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName())) {
TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.validateAndSet(operation, model);
TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.validateAndSet(operation, model);
} else if (operation.hasDefined(TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.getName())) {
throw new OperationFailedException(String.format("%s must be defined if %s is defined.",
TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName(), TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.getName()));
throw TransactionLogger.ROOT_LOGGER.mustBedefinedIfDefined(TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName(), TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.getName());
} else {
// not uuid and also not sockets!
throw new OperationFailedException(String.format("Either %s must be 'true' or %s must be defined.",
TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName(), TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName()));
throw TransactionLogger.ROOT_LOGGER.eitherTrueOrDefined(TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName(), TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName());
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import jakarta.transaction.SystemException;
import jakarta.transaction.Transaction;

import org.jboss.as.txn.logging.TransactionLogger;
import org.omg.CORBA.LocalObject;
import org.wildfly.transaction.client.ContextTransactionManager;
import org.wildfly.transaction.client.LocalTransactionContext;
Expand All @@ -21,13 +22,13 @@ public Transaction getCurrentTransaction() {
try {
current.importProviderTransaction();
} catch (SystemException e) {
throw new RuntimeException("InboundTransactionCurrentImpl unable to determine inbound transaction context", e);
throw TransactionLogger.ROOT_LOGGER.unableToDetermineInboundTransactionContext(e);
}

try {
return ContextTransactionManager.getInstance().suspend();
} catch (SystemException e) {
throw new RuntimeException("InboundTransactionCurrentImpl unable to suspend inbound transaction context", e);
throw TransactionLogger.ROOT_LOGGER.unableToSuspendInboundTransactionContext(e);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

package org.jboss.iiop.tm;

import org.jboss.as.txn.logging.TransactionLogger;
import org.omg.CORBA.LocalObject;
import org.omg.PortableInterceptor.ORBInitInfo;
import org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName;
Expand All @@ -17,8 +18,7 @@ public void pre_init(ORBInitInfo info) {
// Create and register the InboundTransactionCurrent implementation class
info.register_initial_reference(InboundTransactionCurrent.NAME, new InboundTransactionCurrentImpl());
} catch (InvalidName e) {
throw new RuntimeException("Could not register initial " +
"reference for InboundTransactionCurrent implementation: " + e, e);
throw TransactionLogger.ROOT_LOGGER.cannotRegister(e);
}
}

Expand Down

0 comments on commit a07eed4

Please sign in to comment.