jakarta-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: [JMeter] evolution request - handle BeanDescriptor.hidden flag in JMeter
Date Wed, 09 Nov 2011 10:48:22 GMT
2011/11/9 Stéphane Hoblingre <stephane.hoblingre@gmail.com>:
> Thank you Sebb for your quick response!
>
> I know about not_in_menu configuration, but we would like to avoid JMeter
> users to edit propertie file from JMeter to install the plugins. So this is
> why we would like to do it from the plugin code itself. I did the
> modification in MenuFactory.java from trunk (r1199633), please find attached
> the patch / file.
>
> The modification is very light (in bold):
>
> if (name.endsWith("JMeterTreeNode") // $NON-NLS-1$
>         || name.endsWith("TestBeanGUI")) {// $NON-NLS-1$
>     continue;// Don't try to instantiate these
> }
>
>>//Handle BeanDescriptor hidden property
>>boolean isHiddenBean = false;
>
> JMeterGUIComponent item;
> try {
>     Class<?> c = Class.forName(name);
>     if (TestBean.class.isAssignableFrom(c)) {
>         item = new TestBeanGUI(c);
>>        try {
>>           isHiddenBean =
>> Introspector.getBeanInfo(c).getBeanDescriptor().isHidden();
>>        } catch (IntrospectionException e) {
>>            log.warn("Cannot get bean info from class " + name + ".");
>>        }
>
>     } else {
>         item = (JMeterGUIComponent) c.newInstance();
>     }
> } catch (NoClassDefFoundError e) {
>     log.warn("Missing jar? Could not create " + name + ". " + e);
>     continue;
> } catch (Throwable e) {
>     log.warn("Could not instantiate " + name, e);
>     if (e instanceof Error){
>         throw (Error) e;
>     }
>     if (e instanceof RuntimeException){
>         throw (RuntimeException) e;
>     }
>     continue;
> }
>> if (elementsToSkip.contains(name) ||
>> elementsToSkip.contains(item.getStaticLabel()) || isHiddenBean) {
>     log.info("Skipping " + name);
>     continue;
> }
>
> Could this be added in the next version of JMeter?

If you provide a patch as a Bugzilla enhancement we will take a look.

> Thanks,
>
> Stef
>
> On Wed, Nov 9, 2011 at 12:06 AM, sebb <sebbaz@gmail.com> wrote:
>>
>> 2011/11/8 Stéphane Hoblingre <stephane.hoblingre@gmail.com>:
>> > Dear JMeter dev team,
>> >
>> > I have an evolution request for JMeter which will help plugin
>> > developers.
>> > In our plugins, we implemented one component using TestBeans. We have
>> > now
>> > rewrote this component and use regular test elements, so we need to hide
>> > the previous one from jmeter add menus (backward jmx compatibility). The
>> > only way I found is very dirty, that is setting its name to null. But in
>>
>> You can also edit the JMeter property:
>>
>> not_in_menu
>>
>> see jmeter.properties.
>>
>> You might also be able to make use of upgrade.properties and dispense
>> with the old class altogether.
>>
>> > BeanDescriptor class, there is one attribute:
>> >
>> > isHidden
>> > public boolean isHidden()
>> >    The "hidden" flag is used to identify features that are intended only
>> > for tool use, and which should not be exposed to humans.
>> >
>> > While building the add component menu, could you check the hidden flag
>> > and
>> > if true not add it in the menu? That would allow to plugin developers to
>> > hide properly it.
>> >
>> > Is it possible? Do you want me to open a bug for it?
>>
>> If it can be done without affecting the existing API, then I suppose
>> it would be possible to interpret the isHidden() status as meaning
>> that the TestBean is not added to the display.
>>
>> If you provide a patch as a Bugzilla enhancement we will take a look.
>>
>> > Thanks,
>> >
>> > Stef
>> > JMeter Plugins - http://code.google.com/p/jmeter-plugins
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: dev-help@jakarta.apache.org
>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: dev-help@jakarta.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: dev-help@jakarta.apache.org


Mime
View raw message