[JBoss JIRA] (JASSIST-239) javassist.CannotCompileException: [source error] Method m is private
by Eric Nielsen (JIRA)
[ https://issues.jboss.org/browse/JASSIST-239?page=com.atlassian.jira.plugi... ]
Eric Nielsen closed JASSIST-239.
--------------------------------
Resolution: Done
> javassist.CannotCompileException: [source error] Method m is private
> --------------------------------------------------------------------
>
> Key: JASSIST-239
> URL: https://issues.jboss.org/browse/JASSIST-239
> Project: Javassist
> Issue Type: Enhancement
> Affects Versions: 3.18.2-GA
> Reporter: Eric Nielsen
> Assignee: Shigeru Chiba
>
> Given these classes:
> {code}
> public abstract class A {
> public static void m() {
> return m(aClass());
> }
> private static void m(Class<? extends A> aClass) {
> // some logic here
> }
> private static Class<? extends A> aClass() {
> // some logic here, subclasses will have own implementation
> }
> }
> public class B extends A {
> }
> {code}
> I'm writing instrumentation for subclasses of {{A}} (like {{B}} above). The code is something like:
> {code}
> // source is class A, target is subclass of A
> private void instrument(CtClass source, CtClass target)
> throws NotFoundException, CannotCompileException {
> CtMethod[] sourceMethods = source.getDeclaredMethods();
> for (CtMethod method : sourceMethods) {
> int modifiers = method.getModifiers();
> if (Modifier.isStatic(modifiers)) {
> CtMethod newMethod;
> if (Modifier.isPublic(modifiers)
> || Modifier.isProtected(modifiers)) {
> newMethod = CtNewMethod.copy(method, target, null);
> StringBuilder body = new StringBuilder().append("{ ");
> if (!CtClass.voidType.equals(method.getReturnType())) {
> body.append("return ");
> }
> body.append(method.getName()).append("(aClass()");
> if (method.getParameterTypes().length > 0) {
> body.append(", $$");
> }
> body.append("); }");
> newMethod.setBody(body.toString());
> } else if ("aClass".equals(method.getName())) {
> newMethod = CtNewMethod.copy(method, target, null);
> newMethod.setBody("{ return "
> + target.getName() + ".class; }");
> } else {
> newMethod = CtNewMethod.delegator(method, target);
> }
> // include the generic signature
> for (Object attr : method.getMethodInfo().getAttributes()) {
> if (attr instanceof SignatureAttribute) {
> newMethod.getMethodInfo().addAttribute(
> (SignatureAttribute) attr);
> }
> }
> target.addMethod(newMethod);
> }
> }
> }
> {code}
> I want to achieve the result below with the instrumentation:
> {code}
> public class B extends A {
> public static void m() {
> return m(aClass()); // a copy of superclass code
> }
> private static void m(Class<? extends A> aClass) {
> super.m(aClass); // delegates to superclass
> }
> private static Class<? extends A> aClass() {
> return B.class; // returns this class
> }
> }
> {code}
> So when calling {{B.m()}}, the logic in the {{m(Class)}} superclass method will run receiving {{B.class}} as parameter.
> When running instrumentation, I get the following error message:
> {code}
> javassist.CannotCompileException: [source error] Method m is private
> {code}
> What's wrong?
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 7 months
[JBoss JIRA] (JASSIST-239) javassist.CannotCompileException: [source error] Method m is private
by Eric Nielsen (JIRA)
[ https://issues.jboss.org/browse/JASSIST-239?page=com.atlassian.jira.plugi... ]
Eric Nielsen commented on JASSIST-239:
--------------------------------------
Oh, sorry. The problem is that I'm trying to call a private method in {{A}} from class {{B}}.
> javassist.CannotCompileException: [source error] Method m is private
> --------------------------------------------------------------------
>
> Key: JASSIST-239
> URL: https://issues.jboss.org/browse/JASSIST-239
> Project: Javassist
> Issue Type: Enhancement
> Affects Versions: 3.18.2-GA
> Reporter: Eric Nielsen
> Assignee: Shigeru Chiba
>
> Given these classes:
> {code}
> public abstract class A {
> public static void m() {
> return m(aClass());
> }
> private static void m(Class<? extends A> aClass) {
> // some logic here
> }
> private static Class<? extends A> aClass() {
> // some logic here, subclasses will have own implementation
> }
> }
> public class B extends A {
> }
> {code}
> I'm writing instrumentation for subclasses of {{A}} (like {{B}} above). The code is something like:
> {code}
> // source is class A, target is subclass of A
> private void instrument(CtClass source, CtClass target)
> throws NotFoundException, CannotCompileException {
> CtMethod[] sourceMethods = source.getDeclaredMethods();
> for (CtMethod method : sourceMethods) {
> int modifiers = method.getModifiers();
> if (Modifier.isStatic(modifiers)) {
> CtMethod newMethod;
> if (Modifier.isPublic(modifiers)
> || Modifier.isProtected(modifiers)) {
> newMethod = CtNewMethod.copy(method, target, null);
> StringBuilder body = new StringBuilder().append("{ ");
> if (!CtClass.voidType.equals(method.getReturnType())) {
> body.append("return ");
> }
> body.append(method.getName()).append("(aClass()");
> if (method.getParameterTypes().length > 0) {
> body.append(", $$");
> }
> body.append("); }");
> newMethod.setBody(body.toString());
> } else if ("aClass".equals(method.getName())) {
> newMethod = CtNewMethod.copy(method, target, null);
> newMethod.setBody("{ return "
> + target.getName() + ".class; }");
> } else {
> newMethod = CtNewMethod.delegator(method, target);
> }
> // include the generic signature
> for (Object attr : method.getMethodInfo().getAttributes()) {
> if (attr instanceof SignatureAttribute) {
> newMethod.getMethodInfo().addAttribute(
> (SignatureAttribute) attr);
> }
> }
> target.addMethod(newMethod);
> }
> }
> }
> {code}
> I want to achieve the result below with the instrumentation:
> {code}
> public class B extends A {
> public static void m() {
> return m(aClass()); // a copy of superclass code
> }
> private static void m(Class<? extends A> aClass) {
> super.m(aClass); // delegates to superclass
> }
> private static Class<? extends A> aClass() {
> return B.class; // returns this class
> }
> }
> {code}
> So when calling {{B.m()}}, the logic in the {{m(Class)}} superclass method will run receiving {{B.class}} as parameter.
> When running instrumentation, I get the following error message:
> {code}
> javassist.CannotCompileException: [source error] Method m is private
> {code}
> What's wrong?
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 7 months
[JBoss JIRA] (WFLY-4182) wildfly-arquillian-container-managed: conflicting xnio versions
by Tomaz Cerar (JIRA)
[ https://issues.jboss.org/browse/WFLY-4182?page=com.atlassian.jira.plugin.... ]
Tomaz Cerar commented on WFLY-4182:
-----------------------------------
Can you post your pom.xml
> wildfly-arquillian-container-managed: conflicting xnio versions
> ---------------------------------------------------------------
>
> Key: WFLY-4182
> URL: https://issues.jboss.org/browse/WFLY-4182
> Project: WildFly
> Issue Type: Bug
> Affects Versions: 8.2.0.Final
> Reporter: Brett Meyer
> Assignee: Jason Greene
>
> wildfly-arquillian-container-managed:8.2.0.Final produces the following stack when it tries to start Wildfly 8.2:
> {code}
> java.lang.AbstractMethodError: org.xnio.XnioWorker.chooseThread()Lorg/xnio/XnioIoThread;
> at org.xnio.XnioWorker.openStreamConnection(XnioWorker.java:342)
> at org.xnio.http.HttpUpgrade$HttpUpgradeState.doUpgrade(HttpUpgrade.java:247)
> at org.xnio.http.HttpUpgrade$HttpUpgradeState.access$100(HttpUpgrade.java:165)
> at org.xnio.http.HttpUpgrade.performUpgrade(HttpUpgrade.java:112)
> at org.jboss.remoting3.remote.HttpUpgradeConnectionProvider.createConnection(HttpUpgradeConnectionProvider.java:116)
> at org.jboss.remoting3.remote.RemoteConnectionProvider.connect(RemoteConnectionProvider.java:221)
> at org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:298)
> at org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:253)
> at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:351)
> at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:339)
> at org.jboss.as.protocol.ProtocolConnectionUtils.connect(ProtocolConnectionUtils.java:78)
> at org.jboss.as.protocol.ProtocolConnectionUtils.connectSync(ProtocolConnectionUtils.java:109)
> at org.jboss.as.protocol.ProtocolConnectionManager$EstablishingConnection.connect(ProtocolConnectionManager.java:256)
> at org.jboss.as.protocol.ProtocolConnectionManager.connect(ProtocolConnectionManager.java:70)
> at org.jboss.as.protocol.mgmt.FutureManagementChannel$Establishing.getChannel(FutureManagementChannel.java:204)
> at org.jboss.as.controller.client.impl.RemotingModelControllerClient.getOrCreateChannel(RemotingModelControllerClient.java:148)
> at org.jboss.as.controller.client.impl.RemotingModelControllerClient$1.getChannel(RemotingModelControllerClient.java:67)
> at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:117)
> at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:92)
> at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeRequest(AbstractModelControllerClient.java:236)
> at org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:141)
> at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeForResult(AbstractModelControllerClient.java:127)
> at org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:71)
> at org.jboss.as.arquillian.container.ManagementClient.isServerInRunningState(ManagementClient.java:186)
> at org.jboss.as.arquillian.container.managed.ManagedDeployableContainer.startInternal(ManagedDeployableContainer.java:192)
> at org.jboss.as.arquillian.container.CommonDeployableContainer.start(CommonDeployableContainer.java:112)
> at org.jboss.arquillian.container.impl.ContainerImpl.start(ContainerImpl.java:199)
> at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$8.perform(ContainerLifecycleController.java:163)
> at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$8.perform(ContainerLifecycleController.java:157)
> at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forContainer(ContainerLifecycleController.java:255)
> at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.startContainer(ContainerLifecycleController.java:156)
> at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57)
> at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$2.perform(ContainerLifecycleController.java:77)
> at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$2.perform(ContainerLifecycleController.java:70)
> at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forEachSuiteContainer(ContainerLifecycleController.java:221)
> at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.startSuiteContainers(ContainerLifecycleController.java:69)
> at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:86)
> at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
> at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
> at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeSuite(EventTestRunnerAdaptor.java:68)
> at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:97)
> at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
> at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
> at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
> {code}
> org.wildfly:wildfly-arquillian-container-managed:8.2.0.Final includes the following transitive dependencies:
> org.jboss.xnio:xnio-api:3.3.0.Final
> org.jboss.xnio:xnio-nio:3.0.9.GA
> Does the xnio-nio version need upgraded to 3.3.0? Would anything else be causing this?
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 7 months
[JBoss JIRA] (WFLY-4182) wildfly-arquillian-container-managed: conflicting xnio versions
by Brett Meyer (JIRA)
Brett Meyer created WFLY-4182:
---------------------------------
Summary: wildfly-arquillian-container-managed: conflicting xnio versions
Key: WFLY-4182
URL: https://issues.jboss.org/browse/WFLY-4182
Project: WildFly
Issue Type: Bug
Affects Versions: 8.2.0.Final
Reporter: Brett Meyer
Assignee: Jason Greene
wildfly-arquillian-container-managed:8.2.0.Final produces the following stack when it tries to start Wildfly 8.2:
{code}
java.lang.AbstractMethodError: org.xnio.XnioWorker.chooseThread()Lorg/xnio/XnioIoThread;
at org.xnio.XnioWorker.openStreamConnection(XnioWorker.java:342)
at org.xnio.http.HttpUpgrade$HttpUpgradeState.doUpgrade(HttpUpgrade.java:247)
at org.xnio.http.HttpUpgrade$HttpUpgradeState.access$100(HttpUpgrade.java:165)
at org.xnio.http.HttpUpgrade.performUpgrade(HttpUpgrade.java:112)
at org.jboss.remoting3.remote.HttpUpgradeConnectionProvider.createConnection(HttpUpgradeConnectionProvider.java:116)
at org.jboss.remoting3.remote.RemoteConnectionProvider.connect(RemoteConnectionProvider.java:221)
at org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:298)
at org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:253)
at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:351)
at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:339)
at org.jboss.as.protocol.ProtocolConnectionUtils.connect(ProtocolConnectionUtils.java:78)
at org.jboss.as.protocol.ProtocolConnectionUtils.connectSync(ProtocolConnectionUtils.java:109)
at org.jboss.as.protocol.ProtocolConnectionManager$EstablishingConnection.connect(ProtocolConnectionManager.java:256)
at org.jboss.as.protocol.ProtocolConnectionManager.connect(ProtocolConnectionManager.java:70)
at org.jboss.as.protocol.mgmt.FutureManagementChannel$Establishing.getChannel(FutureManagementChannel.java:204)
at org.jboss.as.controller.client.impl.RemotingModelControllerClient.getOrCreateChannel(RemotingModelControllerClient.java:148)
at org.jboss.as.controller.client.impl.RemotingModelControllerClient$1.getChannel(RemotingModelControllerClient.java:67)
at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:117)
at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:92)
at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeRequest(AbstractModelControllerClient.java:236)
at org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:141)
at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeForResult(AbstractModelControllerClient.java:127)
at org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:71)
at org.jboss.as.arquillian.container.ManagementClient.isServerInRunningState(ManagementClient.java:186)
at org.jboss.as.arquillian.container.managed.ManagedDeployableContainer.startInternal(ManagedDeployableContainer.java:192)
at org.jboss.as.arquillian.container.CommonDeployableContainer.start(CommonDeployableContainer.java:112)
at org.jboss.arquillian.container.impl.ContainerImpl.start(ContainerImpl.java:199)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$8.perform(ContainerLifecycleController.java:163)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$8.perform(ContainerLifecycleController.java:157)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forContainer(ContainerLifecycleController.java:255)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.startContainer(ContainerLifecycleController.java:156)
at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$2.perform(ContainerLifecycleController.java:77)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$2.perform(ContainerLifecycleController.java:70)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forEachSuiteContainer(ContainerLifecycleController.java:221)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.startSuiteContainers(ContainerLifecycleController.java:69)
at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:86)
at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeSuite(EventTestRunnerAdaptor.java:68)
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:97)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
{code}
org.wildfly:wildfly-arquillian-container-managed:8.2.0.Final includes the following transitive dependencies:
org.jboss.xnio:xnio-api:3.3.0.Final
org.jboss.xnio:xnio-nio:3.0.9.GA
Does the xnio-nio version need upgraded to 3.3.0? Would anything else be causing this?
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 7 months
[JBoss JIRA] (DROOLS-665) Cannot extends rule from another one with the same package name
by Davide Sottara (JIRA)
[ https://issues.jboss.org/browse/DROOLS-665?page=com.atlassian.jira.plugin... ]
Davide Sottara commented on DROOLS-665:
---------------------------------------
We know that the extension mechanism is not perfect, to this date you can only extend rules within the same package.
This mechanism, however, should work even across mutiple drls - see the unit tests in
https://github.com/droolsjbpm/drools/blob/dd59435b623cc5dfdbb3ba9b0ff18b1...
This said, in your reproducer the base rule is called "Parend" while the child extends "parent".
Since the mechanism uses string comparison, please double check the spelling in your original rulebase or submit a full reproducer.
I will close this ticket for now, feel free to reopen it if you can isolate the problem.
Best
Davide
> Cannot extends rule from another one with the same package name
> ---------------------------------------------------------------
>
> Key: DROOLS-665
> URL: https://issues.jboss.org/browse/DROOLS-665
> Project: Drools
> Issue Type: Bug
> Affects Versions: 6.0.0.Final, 6.2.0.CR3
> Reporter: Yacine Jaber
> Assignee: Mark Proctor
> Attachments: wod-drools-test.7z
>
>
> When I extends a rule from another one with the same package, but into two differents .drl files. I got the following message :
> Unable to resolve parent rule, please check that both rules are in the same package.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 7 months
[JBoss JIRA] (JASSIST-239) javassist.CannotCompileException: [source error] Method m is private
by Eric Nielsen (JIRA)
Eric Nielsen created JASSIST-239:
------------------------------------
Summary: javassist.CannotCompileException: [source error] Method m is private
Key: JASSIST-239
URL: https://issues.jboss.org/browse/JASSIST-239
Project: Javassist
Issue Type: Enhancement
Affects Versions: 3.18.2-GA
Reporter: Eric Nielsen
Assignee: Shigeru Chiba
Given these classes:
{code}
public abstract class A {
public static void m() {
return m(aClass());
}
private static void m(Class<? extends A> aClass) {
// some logic here
}
private static Class<? extends A> aClass() {
// some logic here, subclasses will have own implementation
}
}
public class B extends A {
}
{code}
I'm writing instrumentation for subclasses of {{A}} (like {{B}} above). The code is something like:
{code}
// source is class A, target is subclass of A
private void instrument(CtClass source, CtClass target)
throws NotFoundException, CannotCompileException {
CtMethod[] sourceMethods = source.getDeclaredMethods();
for (CtMethod method : sourceMethods) {
int modifiers = method.getModifiers();
if (Modifier.isStatic(modifiers)) {
CtMethod newMethod;
if (Modifier.isPublic(modifiers)
|| Modifier.isProtected(modifiers)) {
newMethod = CtNewMethod.copy(method, target, null);
StringBuilder body = new StringBuilder().append("{ ");
if (!CtClass.voidType.equals(method.getReturnType())) {
body.append("return ");
}
body.append(method.getName()).append("(aClass()");
if (method.getParameterTypes().length > 0) {
body.append(", $$");
}
body.append("); }");
newMethod.setBody(body.toString());
} else if ("aClass".equals(method.getName())) {
newMethod = CtNewMethod.copy(method, target, null);
newMethod.setBody("{ return "
+ target.getName() + ".class; }");
} else {
newMethod = CtNewMethod.delegator(method, target);
}
// include the generic signature
for (Object attr : method.getMethodInfo().getAttributes()) {
if (attr instanceof SignatureAttribute) {
newMethod.getMethodInfo().addAttribute(
(SignatureAttribute) attr);
}
}
target.addMethod(newMethod);
}
}
}
{code}
I want to achieve the result below with the instrumentation:
{code}
public class B extends A {
public static void m() {
return m(aClass()); // a copy of superclass code
}
private static void m(Class<? extends A> aClass) {
super.m(aClass); // delegates to superclass
}
private static Class<? extends A> aClass() {
return B.class; // returns this class
}
}
{code}
So when calling {{B.m()}}, the logic in the {{m(Class)}} superclass method will run receiving {{B.class}} as parameter.
When running instrumentation, I get the following error message:
{code}
javassist.CannotCompileException: [source error] Method m is private
{code}
What's wrong?
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 7 months
[JBoss JIRA] (WFCORE-470) support patching through the http mgmt API
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-470?page=com.atlassian.jira.plugin... ]
Brian Stansberry moved WFLY-2629 to WFCORE-470:
-----------------------------------------------
Project: WildFly Core (was: WildFly)
Key: WFCORE-470 (was: WFLY-2629)
Affects Version/s: 1.0.0.Alpha1
(was: 8.0.0.Final)
Component/s: Patching
(was: Patching)
Fix Version/s: 1.0.0.Beta1
(was: 9.0.0.Beta1)
> support patching through the http mgmt API
> ------------------------------------------
>
> Key: WFCORE-470
> URL: https://issues.jboss.org/browse/WFCORE-470
> Project: WildFly Core
> Issue Type: Feature Request
> Components: Patching
> Affects Versions: 1.0.0.Alpha1
> Reporter: Emanuel Muckenhuber
> Fix For: 1.0.0.Beta1
>
>
> The patch operation requires an input stream attachment of the patch content, which is not generally supported for all operations of the http API. We probably need to do something similar to the deployment add-content handler.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 7 months