[Design of JBoss jBPM] - Re: Task Forms
by tom.baeyens@jboss.com
"david.lloyd(a)jboss.com" wrote : Ok, in that case probably it's more appropriate to say:
| <h:inputText value="#{var['payment ID']}"/>
|
| "tom.baeyens(a)jboss.com" wrote : Also I not so sure if a dependency on the runtime environment is a problem if that environment is properly documented and makes use of known technologies.
|
| But requiring certain beans to be present is a nuicance. I don't want the task forms to be expecting certain managed beans, because this restricts my ability to make changes.
|
I see. But you have to fix something anyway. Either a bean or a special variable resolver.
The var[...] notation is more concise.
I have a slight preference for a bean because developers will understand the bean way more rapidly. The special variable resolver might seem like magic. Something which is not appreciated in the post-ejb2 era :-)
Afaik, all my arguments are on the table. Now you can just decide what you think is best.
"david.lloyd(a)jboss.com" wrote :
| <tf:button transition="to receive payments" .../>
| ...but still be able to specify all the standard JSF button attributes as well, including images, ID, styleClass, etc.
|
Yes that solves my problem and is the best solution.
As for the task form generation planning, Koen is now finishing a fix for a bug that disabled the task form generation in 3.2.Alpha1. Once that is done, i want to release 3.2.Alpha2 (hopefully before the end of the week). That version should give you a good basis for testing the task forms in the web console.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3984046#3984046
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3984046
19 years, 5 months
[Design of JBossCache] - Re: Possible optimization of CachedSetImpl
by ben.wang@jboss.com
"genman" wrote : 1. I actually don't know the difference ... I may have copied that from the original implementation. The tests seemed to pass. What's the sematic difference?
attach/detach/find will go through the proper PojoCache interceptors (e.g., tx lock and rollback). See pojocache-aop.xml for the corresponding stack.
anonymous wrote :
| 2. I'm not sure how this would work better?
|
| The need for offsetting the hashcode is to deal with a typically rare edge condition. If the hash function is reasonably distributed, then the chances of hash code collision (and therefore the need to do the hash code+1 trick) would be at best 1 in 2^32 and likely only a few orders of magnitude worse otherwise.
|
| I think people expect hash collisions would happen more often, but that's because in ordinary hash tables, collisions happen from evaluating (hash code % some small number).
I am not talking about offsetting the hashcode. I like your implementation! What I was referring to is the need to loop through the cache index consecutively, e.g., for remove(), you have:
| for (int i = 0; i < size; i++)
| {
| Object key = toLong(hashCode, i);
| Object o2 = getNoUnmask(key);
| if (o2 == null)
| break;
| if (removed)
| {
| // move o2 to old key
| pCache_.detach(AopUtil.constructFqn(getFqn(), key));
| pCache_.attach(AopUtil.constructFqn(getFqn(), oldkey), o2);
| }
| if (o.equals(o2))
| {
| pCache_.detach(AopUtil.constructFqn(getFqn(), key));
| removed = true;
| }
| oldkey = key;
| }
| return removed;
|
insead of index looping, I could have like in pseudo code:
| // This is assumed to consist of only set objects.
| Collection list = cache.getNode(getFqn()).getChildren();
| for(Collection c: list)
| {
| // check if o is present
| Object o2 = cache.find(c);
| if(o == o2) cache.detach(c);
| return;
| }
|
This way, we don't maintain odered list of index.
BTW, the unit tests have some failure from the Set tests. I will probably need to look into to see where they go wrong.
Thanks,
-Ben
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3984022#3984022
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3984022
19 years, 5 months