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@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@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@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@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@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev

_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev

_______________________________________________
forge-dev mailing list
forge-dev@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev

_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev