Skip to content

Commit

Permalink
Merge branch 'master' into replace-querydsl
Browse files Browse the repository at this point in the history
  • Loading branch information
gunterze committed Feb 28, 2019
2 parents 1beebab + 66fc4b4 commit 2a47103
Show file tree
Hide file tree
Showing 32 changed files with 849 additions and 365 deletions.
70 changes: 70 additions & 0 deletions dcm4chee-arc-assembly/src/main/resources/ldap/pro-ui-config.ldif
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,14 @@ dcmuiPermissionName: Tab - Correct Data Diff
dcmAcceptedUserRole: admin
dcmuiActionParam: accessible

dn: dcmuiPermissionName=Tab - Corrupted Studies,dcmuiConfigName=default,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmuiPermission
dcmuiAction: tab-correct_data->corrupted_studies
dcmuiPermissionName: Tab - Corrupted Studies
dcmAcceptedUserRole: admin
dcmuiActionParam: accessible
dcmuiActionParam: visible

dn: dcmuiPermissionName=Menu - Correct Data,dcmuiConfigName=default,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmuiPermission
dcmuiAction: menu-correct_data
Expand All @@ -82,3 +90,65 @@ dcmuiAction: menu-statistics
dcmuiPermissionName: Menu - Statistics
dcmAcceptedUserRole: admin
dcmuiActionParam: visible

dn: dcmuiPermissionName=Tab - Configuration Permission,dcmuiConfigName=default,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmuiPermissionName: Tab - Configuration Permission
dcmuiActionParam: accessible
dcmuiActionParam: visible
objectClass: dcmuiPermission
dcmAcceptedUserRole: admin
dcmuiAction: tab-configuration->permission

dn: dcmuiPermissionName=Tab - Correct Data Patient Data,dcmuiConfigName=default,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmuiPermissionName: Tab - Correct Data Patient Data
dcmuiActionParam: accessible
dcmuiActionParam: visible
objectClass: dcmuiPermission
dcmAcceptedUserRole: admin
dcmuiAction: tab-correct_data->patient_data

dn: dcmuiPermissionName=Tab - Correct Data Diff,dcmuiConfigName=default,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmuiPermissionName: Tab - Correct Data Diff
dcmuiActionParam: accessible
dcmuiActionParam: visible
objectClass: dcmuiPermission
dcmAcceptedUserRole: admin
dcmuiAction: tab-correct_data->diff

dn: dcmuiPermissionName=Tab - Audit Record Repository All,dcmuiConfigName=default,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmuiPermissionName: Tab - Audit Record Repository All
dcmuiActionParam: accessible
dcmuiActionParam: visible
objectClass: dcmuiPermission
dcmAcceptedUserRole: admin
dcmuiAction: tab-audit-record-repository->all

dn: dcmuiPermissionName=Tab - Audit Record Repository Authentication,dcmuiConfigName=default,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmuiPermissionName: Tab - Audit Record Repository Authentication
dcmuiActionParam: accessible
dcmuiActionParam: visible
objectClass: dcmuiPermission
dcmAcceptedUserRole: admin
dcmuiAction: tab-audit-record-repository->authentication

dn: dcmuiPermissionName=Tab - Audit Record Repository Audit Errors,dcmuiConfigName=default,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmuiPermissionName: Tab - Audit Record Repository Audit Errors
dcmuiActionParam: accessible
dcmuiActionParam: visible
objectClass: dcmuiPermission
dcmAcceptedUserRole: admin
dcmuiAction: tab-audit-record-repository->audit_errors

dn: dcmuiPermissionName=Tab - Audit Record Repository App Errors,dcmuiConfigName=default,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmuiPermissionName: Tab - Audit Record Repository App Errors
dcmuiActionParam: accessible
dcmuiActionParam: visible
objectClass: dcmuiPermission
dcmAcceptedUserRole: admin
dcmuiAction: tab-audit-record-repository->app_errors

dn: dcmuiPermissionName=Tab - Monitoring External Retrieve,dcmuiConfigName=default,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype:delete

dn: dcmuiPermissionName=Tab - Monitoring Export,dcmuiConfigName=default,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype:delete
Original file line number Diff line number Diff line change
Expand Up @@ -3304,3 +3304,13 @@ dcmTag: 00700081
dcmTag: 00700082
dcmTag: 00700083
dcmTag: 00700084


dn: dcmuiPermissionName=Tab - Corrupted Studies,dcmuiConfigName=default,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype: add
objectClass: dcmuiPermission
dcmuiAction: tab-correct_data->corrupted_studies
dcmuiPermissionName: Tab - Corrupted Studies
dcmAcceptedUserRole: admin
dcmuiActionParam: accessible
dcmuiActionParam: visible
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*
* The Initial Developer of the Original Code is
* J4Care.
* Portions created by the Initial Developer are Copyright (C) 2016
* Portions created by the Initial Developer are Copyright (C) 2016-2019
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
Expand Down Expand Up @@ -62,5 +62,6 @@ public enum RSOperation {
UpdateSeriesExpirationDate,
CreateMWL,
UpdateMWL,
DeleteMWL
DeleteMWL,
UpdateStudyAccessControlID
}
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,11 @@
@NamedQuery(
name = Study.SET_STORAGE_IDS,
query = "update Study st set st.storageIDs = ?2 " +
"where st.pk = ?1")
"where st.pk = ?1"),
@NamedQuery(
name = Study.UPDATE_ACCESS_CONTROL_ID,
query = "update Study st set st.accessControlID = ?2 " +
"where st.studyInstanceUID = ?1")
})
@Entity
@Table(name = "study",
Expand Down Expand Up @@ -179,6 +183,7 @@ public class Study {
public static final String FIND_PK_BY_STUDY_UID = "Study.findPkByStudyUID";
public static final String STORAGE_IDS_BY_STUDY_UID = "Study.storageIDsByStudyUID";
public static final String SET_STORAGE_IDS = "Study.setStorageIDs";
public static final String UPDATE_ACCESS_CONTROL_ID = "Study.updateAccessControlID";

public static class PKUID {
public final Long pk;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,6 @@ private static Object entity(final RetrieveContext ctx) {
gen.write("completed", ctx.completed());
writer.writeNotDef("warning", ctx.warning(), 0);
writer.writeNotDef("failed", ctx.failed(), 0);
writer.writeNotNullOrDef("failed", ctx.getException(), null);
writer.writeNotNullOrDef("error", ctx.getException(), null);
gen.writeEnd();
gen.flush();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,28 @@ public StreamingOutput updateStudy(InputStream in) {
}
}

@PUT
@Path("/studies/{StudyInstanceUID}/access/{accessControlID}")
public Response updateStudyAccessControlID(
@PathParam("StudyInstanceUID") String studyUID,
@PathParam("accessControlID") String accessControlID) {
logRequest();
ArchiveAEExtension arcAE = getArchiveAE();
try {
StudyMgtContext ctx = studyService.createStudyMgtContextWEB(request, arcAE.getApplicationEntity());
ctx.setStudyInstanceUID(studyUID);
ctx.setAccessControlID("null".equals(accessControlID) ? "*" : accessControlID);
ctx.setEventActionCode(AuditMessages.EventActionCode.Update);
if (studyService.updateAccessControlID(ctx) == 0)
return errResponse("Study not found. " + studyUID, Response.Status.NOT_FOUND);

rsForward.forward(RSOperation.UpdateStudyAccessControlID, arcAE, null, request);
return Response.noContent().build();
} catch (Exception e) {
return errResponseAsTextPlain(e);
}
}

@PUT
@Path("/studies/{studyUID}/expire/{expirationDate}")
public Response updateStudyExpirationDate(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,4 +115,8 @@ public interface StudyMgtContext {
boolean isUnfreezeExpirationDate();

void setUnfreezeExpirationDate(boolean UnfreezeExpirationDate);

String getAccessControlID();

void setAccessControlID(String accessControlID);
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*
* The Initial Developer of the Original Code is
* J4Care.
* Portions created by the Initial Developer are Copyright (C) 2013
* Portions created by the Initial Developer are Copyright (C) 2013-2019
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
Expand All @@ -41,7 +41,6 @@
package org.dcm4chee.arc.study;

import org.dcm4che3.net.ApplicationEntity;
import org.dcm4che3.net.hl7.HL7Application;
import org.dcm4che3.net.hl7.UnparsedHL7Message;

import javax.servlet.http.HttpServletRequest;
Expand All @@ -60,4 +59,6 @@ public interface StudyService {
void updateStudy(StudyMgtContext ctx);

void updateExpirationDate(StudyMgtContext ctx) throws Exception;

int updateAccessControlID(StudyMgtContext ctx) throws Exception;
}
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ public class StudyMgtContextImpl implements StudyMgtContext {
private String expirationExporterID;
private boolean freezeExpirationDate;
private boolean unfreezeExpirationDate;
private String accessControlID;

StudyMgtContextImpl(Device device) {
ArchiveDeviceExtension arcDev = device.getDeviceExtension(ArchiveDeviceExtension.class);
Expand Down Expand Up @@ -256,4 +257,14 @@ public boolean isUnfreezeExpirationDate() {
public void setUnfreezeExpirationDate(boolean unfreezeExpirationDate) {
this.unfreezeExpirationDate = unfreezeExpirationDate;
}

@Override
public String getAccessControlID() {
return accessControlID;
}

@Override
public void setAccessControlID(String accessControlID) {
this.accessControlID = accessControlID;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,13 @@ public void updateExpirationDate(StudyMgtContext ctx) {
updateStudyExpirationDate(ctx);
}

public int updateAccessControlID(StudyMgtContext ctx) {
return em.createNamedQuery(Study.UPDATE_ACCESS_CONTROL_ID)
.setParameter(1, ctx.getStudyInstanceUID())
.setParameter(2, ctx.getAccessControlID())
.executeUpdate();
}

private void setCodes(Collection<CodeEntity> codes, Sequence seq) {
codes.clear();
if (seq != null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*
* The Initial Developer of the Original Code is
* J4Care.
* Portions created by the Initial Developer are Copyright (C) 2013
* Portions created by the Initial Developer are Copyright (C) 2013-2019
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
Expand All @@ -42,7 +42,6 @@

import org.dcm4che3.net.ApplicationEntity;
import org.dcm4che3.net.Device;
import org.dcm4che3.net.hl7.HL7Application;
import org.dcm4che3.net.hl7.UnparsedHL7Message;
import org.dcm4chee.arc.study.StudyMgtContext;
import org.dcm4chee.arc.study.StudyService;
Expand Down Expand Up @@ -105,4 +104,14 @@ public void updateExpirationDate(StudyMgtContext ctx) {
}
}

@Override
public int updateAccessControlID(StudyMgtContext ctx) {
try {
return ejb.updateAccessControlID(ctx);
} catch (Exception e) {
ctx.setException(e);
throw e;
}
}

}
Loading

0 comments on commit 2a47103

Please sign in to comment.