That may be the issue. Provide it with a default constructor and @Inject the dependencies
instead of using the constructor. A good option is to split into interface+impl. That
would allow the proxy to function properly.
Em 28/02/2014, às 12:12, "Ivan St. Ivanov"
<ivan.st.ivanov(a)gmail.com> escreveu:
Hi Lincoln,
It's a class that extends AbstractFacet<Project> and implements ProjectFacet.
It has just one constructor:
@Inject
public SapHanaCloudFacet(DependencyInstaller dependencyInstaller) {
this.dependencyInstaller = dependencyInstaller;
}
Cheers,
Ivan
> On Fri, Feb 28, 2014 at 4:22 PM, Lincoln Baxter, III <lincolnbaxter(a)gmail.com>
wrote:
> Is com.sap.cloud.forge.SapHanaCloudFacet an interface or a Class? If it is a Class or
abstract Class, does it have a default constructor?
>
>
>> On Fri, Feb 28, 2014 at 9:06 AM, Ivan St. Ivanov <ivan.st.ivanov(a)gmail.com>
wrote:
>> Hi George,
>>
>> OK, I will try to reproduce it. Could you tell me what kind of test should I
write? Something that calls isEnabled or constraintsMet in a situation that it is assumed
that they are true?
>>
>> Cheers,
>> Ivan
>>
>>> On Feb 28, 2014 12:56 AM, "George Gastaldi"
<ggastald(a)redhat.com> wrote:
>>> Hi Ivan,
>>>
>>> This is because Furnace proxies the objects to avoid ClassCastExceptions.
This shouldn't present a problem though. Are your addon dependencies correctly
configured? I haven't seen your project yet, but if you could reproduce this error in
a test that would be great.
>>>
>>>> Em 27/02/2014, às 18:24, "Ivan St. Ivanov"
<ivan.st.ivanov(a)gmail.com> escreveu:
>>>>
>>>> Hi folks,
>>>>
>>>> I am testing my Forge 2.0 addon for SAP HANA Cloud. One of my commands
(the setup command) installs the special facet that I have developer (SapHanaCloudFacet).
Another command is annotated with @FacetConstraint(SapHanaCloudFacet.class). Even after I
do setup, the other command is not enabled.
>>>>
>>>> I started the debugger. The isInstalled method of my facet returned true.
So I went on to see what happens with the isEnabled() method. I dug as deep as the
AbstractFaceted::safeGetFacet(Class<F> type) method. What it does is: it searches
all the installed facets and it checks whether the expected one is among them by calling
type.isInstance(facet).
>>>>
>>>> The problem in my case is that all the facet objects are actually
proxies. So I expect the type to be com.sap.cloud.forge.SapHanaCloudFacet, but it is
actually something like
org.jboss.forge.addon.facets.AbstractFacet_$$_javassist_904cc85e-43dd-404a-846c-ed4709d14dea.
Eventually, the isInstance method returns false.
>>>>
>>>> Am I doing something wrong? The code of the addon can be found here:
https://github.com/ivannov/addon-saphcp.
>>>>
>>>> Thanks,
>>>> Ivan
>>>>
>>>> P.S. Did you, guys, bring anything new to the Windows shell? I am still
using my Linux VM for Forge development.
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>
>
>
> --
> Lincoln Baxter, III
>
http://ocpsoft.org
> "Simpler is better."
>
> _______________________________________________
> forge-dev mailing list
> forge-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/forge-dev
_______________________________________________
forge-dev mailing list
forge-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev