Changeset 1506 for trunk/src/org/expeditee/gui/Frame.java
- Timestamp:
- 01/31/20 13:49:48 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/gui/Frame.java
r1505 r1506 47 47 import org.expeditee.core.Image; 48 48 import org.expeditee.core.bounds.PolygonBounds; 49 import org.expeditee.encryption.io.EncryptedExpWriter; 49 50 import org.expeditee.encryption.items.EncryptionPermissionTriple; 51 import org.expeditee.encryption.items.UserAppliedEncryptionPermission; 50 52 import org.expeditee.encryption.items.surrogates.Label; 51 53 import org.expeditee.encryption.items.surrogates.Label.LabelInfo; … … 195 197 196 198 private String _encryptionLabel; 197 198 199 private String _homogeneousEncryptionLabel; 200 private List<String> _hetrogeneousEncryptionLabels = new ArrayList<String>(); 199 201 200 202 private String _groupFrameName; … … 3007 3009 3008 3010 public void setFrameEncryptionLabel(String label) { 3011 if (label == null) { 3012 _encryptionLabel = null; 3013 return; 3014 } 3015 3016 String errorMessage = "You do not have sufficient permissions to set the encryption label to " + label + " on frame " + getName(); 3017 UserAppliedEncryptionPermission p = getFrameEncryptionPermission().getPermission(this.getOwner(), this.getGroupMembers()); 3018 String homogeneousEncryptionLabel = getHomogeneousEncryptionLabel(); 3019 if (homogeneousEncryptionLabel == null) { homogeneousEncryptionLabel = getFrameEncryptionLabel(); } 3020 if (homogeneousEncryptionLabel == null) { homogeneousEncryptionLabel = EncryptedExpWriter.getLabelNone(); } 3021 3022 List<String> hetrogeneousFrameOwnerLabels = getHetrogeneousFrameOwnerLabels(); 3023 3024 switch (p) { 3025 case none: 3026 MessageBay.displayMessage(errorMessage); 3027 return; 3028 case homogeneous: 3029 if (!homogeneousEncryptionLabel.equals(label)) { 3030 MessageBay.displayMessage(errorMessage); 3031 return; 3032 } 3033 break; 3034 case hetrogeneous_owner: 3035 if (!homogeneousEncryptionLabel.equals(label) && !hetrogeneousFrameOwnerLabels.contains(label)) { 3036 MessageBay.displayMessage(errorMessage); 3037 return; 3038 } 3039 break; 3040 case hetrogeneous: break; 3041 } 3042 3009 3043 LabelInfo labelResult = Label.getLabel(label); 3010 3044 boolean isProfileOrNone = label.equals("Profile") || label.equals("None"); … … 3018 3052 _encryptionLabel = label; 3019 3053 } 3054 3055 public boolean hasEncryptionPermissionOrHigher(UserAppliedEncryptionPermission permissionLevel) { 3056 UserAppliedEncryptionPermission p = getFrameEncryptionPermission().getPermission(this.getOwner(), this.getGroupMembers()); 3057 return p.ordinal() >= permissionLevel.ordinal(); 3058 } 3020 3059 3021 3060 public EncryptionPermissionTriple getFrameEncryptionPermission() { 3061 if (_frameEncryptionPermission == null) { 3062 _frameEncryptionPermission = EncryptionPermissionTriple.convertString("300"); 3063 } 3022 3064 return _frameEncryptionPermission; 3023 3065 } … … 3029 3071 public String getHomogeneousEncryptionLabel() { 3030 3072 return _homogeneousEncryptionLabel; 3073 } 3074 3075 public List<String> getHetrogeneousFrameOwnerLabels() { 3076 if (_hetrogeneousEncryptionLabels == null) { 3077 _hetrogeneousEncryptionLabels = new ArrayList<String>(); 3078 } 3079 return _hetrogeneousEncryptionLabels; 3080 } 3081 3082 public void addToHetrogeneousFrameOwnerLabels(String label) { 3083 if (!UserSettings.UserName.get().equals(this.getOwner())) { 3084 MessageBay.displayMessage("Only the owner of a frame is able to add hetrogeneous owner encryption labels."); 3085 return; 3086 } 3087 3088 if (_hetrogeneousEncryptionLabels == null) { 3089 _hetrogeneousEncryptionLabels = new ArrayList<String>(); 3090 } 3091 if (_hetrogeneousEncryptionLabels.contains(label)) { 3092 _hetrogeneousEncryptionLabels.remove(label); 3093 } else { 3094 _hetrogeneousEncryptionLabels.add(label); 3095 } 3031 3096 } 3032 3097 … … 3036 3101 if (!isProfileOrNone && !labelResult.is(LabelResult.SuccessResolveLabelToKey)) { 3037 3102 MessageBay.displayMessage(labelResult.toString()); 3038 this._homogeneousEncryptionLabel = null; 3039 return; 3103 MessageBay.displayMessage("You will not be able to set the FrameEncryptionLabel to the Homogeneous Label."); 3040 3104 } 3041 3105
Note:
See TracChangeset
for help on using the changeset viewer.