[JBoss Seam] - Re: s:button and data store
by Premheiko
Here is the code :
mitarbeiter.xhtml:
| <div class="scrollTableContainer_1000">
| <h4>JBPM-Workflow-2</h4>
| <t:dataTable id="postkorbTable-workflow-2" width="1000" cellpadding="0"
| cellspacing="0"
| columnClasses="column1,column2,column3,column4,column5,column6,column7,column8,column9,column10"
| rowClasses="oddRow,evenRow" styleClass="sortable"
| headerClass="iceTblHeader"
| rowOnMouseOver="highlightRowOver(this);"
| rowOnMouseOut="highlightRowOut(this);"
| value="#{pooledTaskInstanceList}" var="task" rendered="#{not empty pooledTaskInstanceList}"
| rowIndexVar="rowNumber">
|
| <h:column >
| <f:facet name="header">
| <h:outputText value="." styleClass="HIDE_TEXT"></h:outputText>
| </f:facet>
| <s:link styleClass="editIcon" style="font-weight:bold;text-decoration: underline;" taskInstance="#{task}" value="" action="#{mitarbeiterAction.erfassungEdit}" rendered="#{task.contextInstance.variables['activTab']==laufzettelBean.prozessTab}">
|
| <f:param name="laufzettelId" value="#{task.contextInstance.variables['laufzettelEntity'].id}"/>
| <f:param name="taskId" value="#{task.id}"/>
|
| </s:link>
| </h:column>
|
|
| <h:column >
| <f:facet name="header">
| <h:outputText id="datum"
| value="#{bundle.datum}" />
| </f:facet>
| <h:outputText value="#{task.contextInstance.variables['laufzettelEntity'].lastChanged}" rendered="#{task.contextInstance.variables['activTab']==laufzettelBean.prozessTab}">
| <s:convertDateTime type="both" pattern="dd.MM.yyyy hh:mm" />
| </h:outputText>
|
| </h:column>
| .
| .
| .
| </h:column>
|
|
MitarbeiterAction.java
|
| @Scope(SESSION)
| @Name("mitarbeiterAction")
|
| public class MitarbeiterAction {
|
|
|
|
| @In(create=true)
| EntityManager em;
|
|
|
| @In(required=false)
| LaufzettelEntity laufzettelEntity;
|
|
| @Out(scope = ScopeType.CONVERSATION,required=false)
| String activTab;
|
| @In(required=false)
| Integer laufzettelEntityId;
|
| @In(create=true)
| LaufzettelBean laufzettelBean;
|
| @In(create=true,required = false)
| ProcessInstance processInstance;
|
|
|
| //@RequestParameter("aufzettelTaskId")
| private String taskID;
|
| //Liste von LaufzettelEntiyten:
| // private List<WorkOnLaufzettel> workOnLaufzettelList = new ArrayList<WorkOnLaufzettel>();
| // private List<ProcessInstance> processInstanceListe = new ArrayList<ProcessInstance>();
|
|
|
|
|
| @BeginTask
| public String erfassungEdit() {
|
| String rueckSeite=laufzettelBean.jBPMPostkorbProcessEdit();
|
| //Für Mitarbeiter und SuperVisorbereich
| initlaufzettelEntity(laufzettelBean.getWorkOnLaufzettel().getLaufzettelEntity(),ABSConstants.PROZESS_P1,ABSConstants.STATUS_IN_ARBEIT,"",ABSConstants.TAB_ACTIVE_P1UndP2);
|
| return rueckSeite;
|
| }
|
|
| @EndTask(transition="start")
| public String start() {
| laufzettelBean.jBPMErfassungStart();
|
| //Für Mitarbeiter und SuperVisorbereich
| initlaufzettelEntity(ABSConstants.PROZESS_P1,ABSConstants.STATUS_IN_ARBEIT,"",ABSConstants.TAB_ACTIVE_P1UndP2);
|
|
| //Für Sichersteller ,Rücknehmer und Platzlogistiker-Bereich
| initProviderStatus();
|
| return "postkorb";
|
| }
|
|
| @EndTask(transition="speichern")
| public String speichern() {
| initlaufzettelEntity(ABSConstants.PROZESS_P0,ABSConstants.STATUS_IN_ARBEIT,"",ABSConstants.TAB_ACTIVE_P0);
| return "postkorb";
|
| }
|
|
|
| @EndTask(transition="abbrechen")
| public String abbrechen() {
| initlaufzettelEntity(ABSConstants.PROZESS_P0,ABSConstants.STATUS_OFFEN,"",ABSConstants.TAB_ACTIVE_P0);
| return laufzettelBean.jBPMErfassungAbbrechen();
|
| }
| .....
|
Bearbeitung.xhtml
|
| <div style="width: 1000px;" id="yContentBox3">
| <span class="ct">
| <span class="cl" />
| </span>
| <div>
|
|
| <table>
| <tr>
| <td>
| <h:commandButton value="#{bundle.speichern}" action="#{laufzettelBean.jBPMErfassungSpeichern}" >
|
| </h:commandButton>
|
| </td>
| <td>
| <h:commandButton value="Upload Dialog" action="#{laufzettelBean.erfassungShowUpload}"/>
| </td>
| <td>
| <h:commandButton value="#{bundle.abbrechen}" action="#{mitarbeiterAction.abbrechen}" />
| </td>
| <td>
| <h:commandButton value="#{bundle.start}" action="#{mitarbeiterAction.start}" />
| </td>
| </tr>
|
| </table>
|
|
|
|
|
|
|
| </div>
| <span class="cb">
| <span class="cl" />
| </span>
| </div>
|
|
processDefinition.xml:
|
| <?xml version="1.0" encoding="UTF-8"?>
|
| <process-definition
| xmlns="urn:jbpm.org:jpdl-3.1" name="RemaProzess">
| <start-state name="Start">
| <transition name="" to="erfassungEdit"></transition>
| </start-state>
| <task-node name="Postkorb" end-tasks="true">
| <task name="erfassungEdit" description="Erfassung wird bearbeitet">
| <assignment pooled-actors="#{myAssignment.pooledActorsMitarbeiterUndSuperVisor}"/></task>
| <transition name="start" to="fork1"></transition>
| <transition name="abbrechen" to="Postkorb"></transition>
| <transition name="speichern" to="Postkorb"></transition>
| </task-node>
| .
| .
| .
| </process-definition>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4054394#4054394
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4054394
19Â years
[JBoss Messaging] - 1.3.0 Temporary Destination - Full security
by aslak
Hi
I have a JMS Client sending to a destination(write-only permission), and using a temp destination as a replyto channel.
My first problem is that the temp destination seems to be handled through the same security model as any normal destination.
To work around this, one could setup a role with read permissions true as Default, but that would give the client read access to the sending destination as well.
As far as I can see from the JMS Spec.. A temp destination is unique pr connection, and only consumers from the owning connection is allowed.
I've been trying to look through some code to see what is going on, and found something a bit strange..
In ServerSessionEndpoint.addTemporaryDestination it creates a new ManagedTopic/ManagedQueue based on the incoming Destination name, but
ManagedTopic.setTemporary(true) is never called. Then when DestinationJNDIMapper.registerDestination is called, the temporary flag is lost.
DestinationJNDIMapper.registerDestination checks to see if the destination is temporary or not. If it is not temporary, it should be bound to JNDI.
Then there is a new check to see if it is temporary or not, to bind either JbossTemporaryQueue/Topic or JbossTopic/Queue to jndi..
Any thoughts?
-aslak-
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4054389#4054389
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4054389
19Â years