[ 
https://jira.jboss.org/browse/SEAMINTL-7?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12562378#action_12562378
 ] 

Dan Allen edited comment on SEAMINTL-7 at 11/11/10 2:23 PM:
------------------------------------------------------------

I forgot about the fact that status messages may need to have a target (i.e., 
the input to which it applies). This can be solved in three ways.

Assume we have the following status reporter definition:

@StatusReporter
public interface RegistrationStatusReporter
{
   @Message(level = WARN, value = "Username taken!") @ReportStatus
   void duplicateUsername(String username);
}

1. Add target to message definition

@Message(level = WARN, value = "Username taken!") @ReportStatus(target = 
"username")
void duplicateUsername(String username); 

2. Qualify the reporter at the injection point (much like selecting a locale)

@Inject @ForTarget("username") RegistrationStatusReporter usernameStatus; 
...
usernameStatus.duplicateUsername(username);

3. Using a selector (when the target is dynamic) 

@Inject @Any Instance<RegistrationStatusReporter> status;
...
status.select(new ForTargetLiteral(clientId)).get().duplicateUsername(username);

      was (Author: dan.j.allen):
    I forgot about the fact that status messages may need to have a target 
(i.e., the input to which it applies). This can be solved in three ways.

Assume we have the following status reporter definition:

@StatusReporter
public interface RegistrationStatusReporter
{
   @Message(level = WARN, value = "Username taken!") @ReportStatus
   void duplicateUsername(String username);
}

1. Add target to message definition

@Message(level = WARN, value = "Username taken!") @ReportStatus(target = 
"username")
void duplicateUsername(String username); 

2. Qualify the reporter at the injection point (much like selecting a locale)

@Inject @StatusReporter @ForTarget("username") RegistrationStatusReporter 
usernameStatus; 
...
usernameStatus.duplicateUsername(username);

3. Using a selector (when the target is dynamic) 

@Inject @Any @StatusReporter Instance<RegistrationStatusReporter> status;
...
status.select(new ForTargetLiteral(clientId)).get().duplicateUsername(username);
  
> Rewrite Messages API along the lines of JBoss Logging 3
> -------------------------------------------------------
>
>                 Key: SEAMINTL-7
>                 URL: https://jira.jboss.org/browse/SEAMINTL-7
>             Project: Seam i18n
>          Issue Type: Feature Request
>          Components: Messages
>    Affects Versions: 3.0.0.Alpha1
>            Reporter: Ken Finnigan
>            Assignee: Pete Muir
>             Fix For: 3.0.0.Beta1
>
>
> Rewrite messages API along the lines of JBoss Logging 3 to be consistent with 
> the logging approach once the switch from slf4j is made to JBoss Logging 3.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
seam-issues mailing list
seam-issues@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/seam-issues

Reply via email to