mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Merged V3.2 to HEAD:
16713: ETHREEOH-2379 deployment missing crypto libraries. 16722: ETHREEOH-2798 - java.lang.NullPointerException while deleting a folder node with emptyTranslation 16752: ETHREEOH-2946 - Release a test server from inside an Approve/Reject task 16796: ETHREEOH-1841 - MBean error when running in a WebSphere cluster 16920: ETHREEOH-2796 - Word 97 To Text transformation fails 16955: Merge V3.1 to V3.2 14275: Invitation change for ETHREEOH-1456, Missed change from check in 14222. 14222: ETHREEOH-1456 - accepting a rejected invitation. 16963: ETHREEOH-3029 - Strange defaltOnLoadListsner in hibernate-context.xml git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16966 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -111,7 +111,7 @@
|
|||||||
|
|
||||||
<!-- Custom MBeanServer -->
|
<!-- Custom MBeanServer -->
|
||||||
<bean id="alfrescoMBeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean">
|
<bean id="alfrescoMBeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean">
|
||||||
<property name="locateExistingServerIfPossible" value="true" />
|
<property name="locateExistingServerIfPossible" value="${mbean.server.locateExistingServerIfPossible}" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="registry"
|
<bean id="registry"
|
||||||
|
@@ -32,7 +32,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="defaltOnLoadListsner" class="org.hibernate.event.def.DefaultLoadEventListener" />
|
<bean id="defaltOnLoadListener" class="org.hibernate.event.def.DefaultLoadEventListener" />
|
||||||
|
|
||||||
<bean id="clearCGLibThreadLocal" class="org.alfresco.repo.domain.hibernate.HibernateLoadListener" />
|
<bean id="clearCGLibThreadLocal" class="org.alfresco.repo.domain.hibernate.HibernateLoadListener" />
|
||||||
|
|
||||||
@@ -58,7 +58,7 @@
|
|||||||
<map>
|
<map>
|
||||||
<entry key="load">
|
<entry key="load">
|
||||||
<list>
|
<list>
|
||||||
<ref bean="defaltOnLoadListsner" />
|
<ref bean="defaltOnLoadListener" />
|
||||||
<ref bean="clearCGLibThreadLocal" />
|
<ref bean="clearCGLibThreadLocal" />
|
||||||
</list>
|
</list>
|
||||||
</entry>
|
</entry>
|
||||||
|
@@ -8,4 +8,5 @@ invitation.error.invalid_inviteId_format "Invitation Id not valid format, valid
|
|||||||
invitation.invite.already_member "The user , {0} is already a member of {1} and cannot be invited again"
|
invitation.invite.already_member "The user , {0} is already a member of {1} and cannot be invited again"
|
||||||
invitation.cancel.not_site_manager "Current user, {0}, cannot cancel invitation: {1} because they are not a Site Manager for site: {2}
|
invitation.cancel.not_site_manager "Current user, {0}, cannot cancel invitation: {1} because they are not a Site Manager for site: {2}
|
||||||
invitation.invite.not_site_manager "Current user, {0}, is not a Site Manager for site: {1}
|
invitation.invite.not_site_manager "Current user, {0}, is not a Site Manager for site: {1}
|
||||||
invitation.invite.unable_generate_id "Unable to generate a user name for invitee, which doesn't already belong to someone else firstName:{0} lastName:{1} email:{2}"
|
invitation.invite.unable_generate_id "Unable to generate a user name for invitee, which doesn't already belong to someone else firstName:{0} lastName:{1} email:{2}"
|
||||||
|
invitation.invite.already_finished "Invitation, {0} has already been accepted, cancelled or rejected"
|
@@ -338,6 +338,10 @@ repo.rmi.service.port=50505
|
|||||||
action.rmi.service.port=50506
|
action.rmi.service.port=50506
|
||||||
deployment.rmi.service.port=50507
|
deployment.rmi.service.port=50507
|
||||||
|
|
||||||
|
# Should the Mbean server bind to an existing server. Set to true for most application servers.
|
||||||
|
# false for WebSphere clusters.
|
||||||
|
mbean.server.locateExistingServerIfPossible=true
|
||||||
|
|
||||||
# External executable locations
|
# External executable locations
|
||||||
ooo.exe=soffice
|
ooo.exe=soffice
|
||||||
ooo.user=${dir.root}/oouser
|
ooo.user=${dir.root}/oouser
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
|
|
||||||
wcmwf_submit.workflow.title=Web Site Submission
|
wcmwf_submit.workflow.title=Web Site Submission
|
||||||
wcmwf_submit.workflow.description=Submit changes for approval
|
wcmwf_submit.workflow.description=Submit changes for approval
|
||||||
wcmwf_submit.node.verifybrokenlinks.transition.abort.title=Abort Submisson
|
wcmwf_submit.node.verifybrokenlinks.transition.abort.title=Abort Submission
|
||||||
wcmwf_submit.node.verifybrokenlinks.transition.abort.description=Abort Submisson
|
wcmwf_submit.node.verifybrokenlinks.transition.abort.description=Abort Submission
|
||||||
wcmwf_submit.node.verifybrokenlinks.transition.continue.title=Continue Submission
|
wcmwf_submit.node.verifybrokenlinks.transition.continue.title=Continue Submission
|
||||||
wcmwf_submit.node.verifybrokenlinks.transition.continue.description=Continue Submisson
|
wcmwf_submit.node.verifybrokenlinks.transition.continue.description=Continue Submisson
|
||||||
wcmwf_submit.node.serialreview.transition.reject.title=Reject
|
wcmwf_submit.node.serialreview.transition.reject.title=Reject
|
||||||
|
@@ -332,12 +332,37 @@ public class InvitationServiceImpl implements InvitationService, NodeServicePoli
|
|||||||
* Nominated invitation complete the wf:invitePendingTask along the
|
* Nominated invitation complete the wf:invitePendingTask along the
|
||||||
* 'accept' transition because the invitation has been accepted
|
* 'accept' transition because the invitation has been accepted
|
||||||
*/
|
*/
|
||||||
InviteHelper
|
|
||||||
.completeInviteTask(
|
// create workflow task query
|
||||||
invitationId,
|
WorkflowTaskQuery wfTaskQuery = new WorkflowTaskQuery();
|
||||||
WorkflowModelNominatedInvitation.WF_INVITE_TASK_INVITE_PENDING,
|
|
||||||
WorkflowModelNominatedInvitation.WF_TRANSITION_ACCEPT,
|
// set the given invite ID as the workflow process ID in the workflow query
|
||||||
this.workflowService);
|
wfTaskQuery.setProcessId(invitationId);
|
||||||
|
|
||||||
|
// find incomplete invite workflow tasks with given task name
|
||||||
|
wfTaskQuery.setActive(Boolean.TRUE);
|
||||||
|
wfTaskQuery.setTaskState(WorkflowTaskState.IN_PROGRESS);
|
||||||
|
wfTaskQuery.setTaskName(WorkflowModelNominatedInvitation.WF_INVITE_TASK_INVITE_PENDING);
|
||||||
|
|
||||||
|
// set process name to "wf:invite" so that only
|
||||||
|
// invite workflow instances are considered by this query
|
||||||
|
wfTaskQuery.setProcessName(WorkflowModelNominatedInvitation.WF_PROCESS_INVITE);
|
||||||
|
|
||||||
|
// query for invite workflow tasks with the constructed query
|
||||||
|
List<WorkflowTask> wf_invite_tasks = workflowService
|
||||||
|
.queryTasks(wfTaskQuery);
|
||||||
|
|
||||||
|
if(wf_invite_tasks.size() == 0)
|
||||||
|
{
|
||||||
|
Object objs[] = { invitationId };
|
||||||
|
throw new InvitationExceptionUserError("invitation.invite.already_finished", objs);
|
||||||
|
}
|
||||||
|
|
||||||
|
// end all tasks found with this name
|
||||||
|
for (WorkflowTask workflowTask : wf_invite_tasks)
|
||||||
|
{
|
||||||
|
workflowService.endTask(workflowTask.id, WorkflowModelNominatedInvitation.WF_TRANSITION_ACCEPT);
|
||||||
|
}
|
||||||
|
|
||||||
return invitation;
|
return invitation;
|
||||||
}
|
}
|
||||||
@@ -406,12 +431,36 @@ public class InvitationServiceImpl implements InvitationService, NodeServicePoli
|
|||||||
* Nominated invitation complete the wf:invitePendingTask along the
|
* Nominated invitation complete the wf:invitePendingTask along the
|
||||||
* 'reject' transition because the invitation has been rejected
|
* 'reject' transition because the invitation has been rejected
|
||||||
*/
|
*/
|
||||||
InviteHelper
|
// create workflow task query
|
||||||
.completeInviteTask(
|
WorkflowTaskQuery wfTaskQuery = new WorkflowTaskQuery();
|
||||||
invitationId,
|
|
||||||
WorkflowModelNominatedInvitation.WF_INVITE_TASK_INVITE_PENDING,
|
// set the given invite ID as the workflow process ID in the workflow query
|
||||||
WorkflowModelNominatedInvitation.WF_TRANSITION_REJECT,
|
wfTaskQuery.setProcessId(invitationId);
|
||||||
this.workflowService);
|
|
||||||
|
// find incomplete invite workflow tasks with given task name
|
||||||
|
wfTaskQuery.setActive(Boolean.TRUE);
|
||||||
|
wfTaskQuery.setTaskState(WorkflowTaskState.IN_PROGRESS);
|
||||||
|
wfTaskQuery.setTaskName(WorkflowModelNominatedInvitation.WF_INVITE_TASK_INVITE_PENDING);
|
||||||
|
|
||||||
|
// set process name to "wf:invite" so that only
|
||||||
|
// invite workflow instances are considered by this query
|
||||||
|
wfTaskQuery.setProcessName(WorkflowModelNominatedInvitation.WF_PROCESS_INVITE);
|
||||||
|
|
||||||
|
// query for invite workflow tasks with the constructed query
|
||||||
|
List<WorkflowTask> wf_invite_tasks = workflowService
|
||||||
|
.queryTasks(wfTaskQuery);
|
||||||
|
|
||||||
|
if(wf_invite_tasks.size() == 0)
|
||||||
|
{
|
||||||
|
Object objs[] = { invitationId };
|
||||||
|
throw new InvitationExceptionUserError("invitation.invite.already_finished", objs);
|
||||||
|
}
|
||||||
|
|
||||||
|
// end all tasks found with this name
|
||||||
|
for (WorkflowTask workflowTask : wf_invite_tasks)
|
||||||
|
{
|
||||||
|
workflowService.endTask(workflowTask.id, WorkflowModelNominatedInvitation.WF_TRANSITION_REJECT);
|
||||||
|
}
|
||||||
|
|
||||||
return invitation;
|
return invitation;
|
||||||
}
|
}
|
||||||
|
@@ -260,6 +260,7 @@ public class InviteHelper
|
|||||||
List<WorkflowTask> wf_invite_tasks = workflowService
|
List<WorkflowTask> wf_invite_tasks = workflowService
|
||||||
.queryTasks(wfTaskQuery);
|
.queryTasks(wfTaskQuery);
|
||||||
|
|
||||||
|
|
||||||
// end all tasks found with this name
|
// end all tasks found with this name
|
||||||
for (WorkflowTask workflowTask : wf_invite_tasks)
|
for (WorkflowTask workflowTask : wf_invite_tasks)
|
||||||
{
|
{
|
||||||
|
@@ -2313,6 +2313,12 @@ public class DbNodeServiceImpl extends AbstractNodeServiceImpl
|
|||||||
{
|
{
|
||||||
Long childNodeId = oldChildNodePair.getFirst();
|
Long childNodeId = oldChildNodePair.getFirst();
|
||||||
NodeRef childNodeRef = oldChildNodePair.getSecond();
|
NodeRef childNodeRef = oldChildNodePair.getSecond();
|
||||||
|
if (nodeDaoService.getNodeRefStatus(childNodeRef).isDeleted())
|
||||||
|
{
|
||||||
|
//Node has been already deleted.
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
QName childNodeTypeQName = nodeDaoService.getNodeType(childNodeId);
|
QName childNodeTypeQName = nodeDaoService.getNodeType(childNodeId);
|
||||||
Set<QName> childNodeAspectQNames = nodeDaoService.getNodeAspects(childNodeId);
|
Set<QName> childNodeAspectQNames = nodeDaoService.getNodeAspects(childNodeId);
|
||||||
Pair<Long, ChildAssociationRef> oldParentAssocPair = nodeDaoService.getPrimaryParentAssoc(childNodeId);
|
Pair<Long, ChildAssociationRef> oldParentAssocPair = nodeDaoService.getPrimaryParentAssoc(childNodeId);
|
||||||
|
Reference in New Issue
Block a user