Seam 3.1.0.Beta5 released
by Shane Bryzak
Hi everyone,
I've released Seam 3.1.0.Beta5, and I'll shortly post a release
announcement on in.relation.to. I'd like to target November 30 for the
3.1.0.CR1 release, so over the next day I'll be going through the
outstanding issues and we can discuss them at this week's IRC meeting.
I'd like to thank everyone for the work that was done for this release,
there were a lot of bug fixes made and I'm pleased to say that we have a
new module in this release, Seam Spring thanks to Marius' hard work.
Thanks,
Shane
13 years
Third party dependencies
by Shane Bryzak
Hi everyone,
Could I please get a list from all module leads of the third party
dependencies that your module depends on, whether the dependency is
optional or required, and if possible a brief description (just a few
words will do) on what the dependency is used for. Please exclude other
Seam modules from this list. ;) If you also know which license the
dependency is available under, that would be much appreciated too
however if you're not sure, then no problem.
Thanks!
Shane
13 years
Seam 3.1 Beta 4 released
by Shane Bryzak
Hi all,
We've just finished rolling out Beta4 today, you can find the release
announcement here:
http://in.relation.to/Bloggers/Seam31Beta4Released
Thanks to the whole team for the hard work, we managed to close quite a
lot of issues for this release. We'll be doing another beta release to
address the remaining issues that are outstanding for 3.1. Module
leads, could you please review the open issues for your module/s for 3.1
and bump any to the 'Future' that we won't be able to address in time.
Likewise, if there are any outstanding issues that you think should be
included in 3.1 but aren't, please set a fix version of 3.1.0.CR1 so
that we can address it.
Thanks!
Shane
13 years
SEAMFACES-147 viewActions
by Adrian Gonzalez
Hello,
I'm working a bit on this issue.
But I'm stuck now and would like to know the better way to continue (sorry to bother once more ;( ).
For the moment I've :
1. registered all viewActionBindings into the viewConfigStore.
2. more or less replicated SecurityPhaseListener functionnality into a ViewActionPhaseListener.
But... viewConfigStore can only store Annotations. I need to store AnnotatedMethod (have a link back to the Method I'll need to call).
I see 4 possible solutions :
1 - Duplicate ViewConfigStoreImpl to store AnnotatedMethod elements.
Ugly, no ?
2 - Make ViewConfigStore manage all kind of AnnotatedElements with a wrapper interface like
interface AnnotatedElement<T> {
Annotation<T> annotation;
Object value;
}
ViewConfigStore :
public interface ViewConfigStore {
public abstract void addAnnotationData(String viewId, AnnotatedElement annotation);
public abstract AnnotatedElement<T> T getAnnotationData(String viewId, Class<T> type);
public abstract List<AnnotatedElement<T>> getAllAnnotationData(String viewId, Class<T> type);
public abstract List<AnnotatedElement> getAllQualifierData(String viewId, Class<? extends Annotation> qualifier);
public <T extends Annotation> Map<String, Annotation> getAllAnnotationViewMap(Class<T> type);
}
3 - ViewConfigStore could store Annotated elements instead of Annotations
This would make ViewConfigStore usage a little more complicated though.
4 - Have somes typed Page or View objects.
This need really more reflection since we need to know what is a View (security, view actions, ...).
And it's a big impact on current code.
The ViewConfigStore would be sthing like (really incomplete) :
ViewConfigStore :
public Map<String,ViewInfo> getView(String viewId);
public List<View> getViews();
}
with for instance :
class/interface View {
List<Restriction> getRestrictions();
List<ViewAction> getViewActions(); //or event List<Action> getAction(PhaseId)
}
WDYT ?
P.S. Sorry for the rather long mail........
More details on what I have done for now :
As noted in the ticket, I can now create a viewAction annotation like this one :
@ViewActionBindingType
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE})
public @interface MyViewAction {
MyAppViewConfig.Pages value();
}
MyAppViewConfig being the sample @ViewConfig annotated class in viewconfig sample.
I can then use MyViewAction like this :
@ViewScoped
@Named
public class PageController implements Serializable {
@MyViewAction(Pages.ITEM)
public void loadEntry() {
System.out.println("loadEntry called");
}
}
For the moment, my code doesn't call this method (I'll just need to copy Seam Security code for it ;) ).
I've also created the following annotation that you can use to annotate your own viewAction annotation :
- @Condition(condition=String) -> not really type safe.....
- @Immediate(immediate=Boolean)
- @OnPostback(onPostback=boolean)
- @Phase(value=PhaseIdType)
Also, if you need to customise those behaviour per-usage, you can add attributes into your viewAction annotation :
@MyViewAction(Pages.ITEM, immediate=true, condition="#{myBean.eager}")
public void loadEntry()
13 years, 1 month
This week's meeting
by Jason Porter
Unless people have something they feel needs to be discussed as a group,
I'm going to cancel the meeting for this week and instead focus on bug
fixes for 3.1.0 Beta5. I would appreciate any help on the list of issues I
mailed out earlier in lieu of the meeting :)
--
Jason Porter
http://lightguard-jp.blogspot.com
http://twitter.com/lightguardjp
Software Engineer
Open Source Advocate
Author of Seam Catch - Next Generation Java Exception Handling
PGP key id: 926CCFF5
PGP key available at: keyserver.net, pgp.mit.edu
13 years, 1 month