Changeset 1508 for trunk


Ignore:
Timestamp:
02/03/20 14:12:59 (4 years ago)
Author:
bnemhaus
Message:

The HetrogeneousEncryptionLabels frame property is now set automatically when the owner of the frame is saving out an encrypted frame.
Also fixed some issues setting frame properties on load. For example, when loading a frame, the FrameEncryptionLabel should be set regardless of if you have permission to set the label.

Location:
trunk/src/org/expeditee
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/encryption/io/EncryptedExpWriter.java

    r1506 r1508  
    3535import org.expeditee.items.Line;
    3636import org.expeditee.items.Text;
     37import org.expeditee.settings.UserSettings;
    3738import org.expeditee.settings.identity.secrets.KeyList;
    3839import org.expeditee.stats.SessionStats;
     
    5051        protected static final String TERMINATOR_WITH_CONTINUATION = TERMINATOR + "...";
    5152
     53        /**
     54         * @return the labelnone
     55         */
     56        public static String getLabelNone() {
     57                return labelNone;
     58        }
     59       
    5260        public EncryptedExpWriter(String encryptionLabel) {
    5361                label = encryptionLabel;
     
    93101                if (_writer == null) { return; }
    94102               
     103                if (UserSettings.UserName.get().equals(frame.getOwner())) {
     104                        updateHetrogeneousOwnerLabels(frame);
     105                }
    95106                preOutputFrame();
    96107                writeHeader(frame);
     
    261272        }
    262273       
     274        private void updateHetrogeneousOwnerLabels(Frame toUpdate) {
     275                toUpdate.clearHetrogeneousFrameOwnerLabels();
     276                Text[] userLabels = KeyList.UserLabels.get();
     277                for (Text userLabel: userLabels) {
     278                        toUpdate.addToHetrogeneousFrameOwnerLabels(userLabel.getText());
     279                }               
     280        }
     281       
    263282        private static byte[] EncryptSymmetric(byte[] toEncrypt, SecretKey key) {
    264283                try {
     
    276295                }
    277296        }
    278 
    279         /**
    280          * @return the labelnone
    281          */
    282         public static String getLabelNone() {
    283                 return labelNone;
    284         }
    285297}
  • trunk/src/org/expeditee/gui/AttributeUtils.java

    r1506 r1508  
    213213                                                                                                                                Frame.class.getMethod("setEncryptionPermission", pEncPermission));
    214214                        _FrameAttrib.put("HetrogeneousEncryptionLabels",        Frame.class.getMethod("getHetrogeneousFrameOwnerLabels"),
    215                                                                                                                                 Frame.class.getMethod("addToHetrogeneousFrameOwnerLabels", pString));
     215                                                                                                                                null);
    216216                       
    217217                        // aliases for Standard frame attribute settings
  • trunk/src/org/expeditee/gui/Frame.java

    r1507 r1508  
    30083008        }
    30093009       
     3010        public void setFrameEncryptionLabelOnLoad(String label) {
     3011                _encryptionLabel = label;
     3012        }
     3013       
    30103014        public void setFrameEncryptionLabel(String label) {
    3011                 if (label == null) {
    3012                         _encryptionLabel = null;
     3015                if (label == null || label.equals(EncryptedExpWriter.getLabelNone())) {
     3016                        _encryptionLabel = label;
    30133017                        return;
    30143018                }
     
    30803084        }
    30813085       
    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                
     3086        public void addToHetrogeneousFrameOwnerLabels(String label) {           
    30883087                if (_hetrogeneousEncryptionLabels == null) {
    30893088                        _hetrogeneousEncryptionLabels = new ArrayList<String>();
     
    30943093                        _hetrogeneousEncryptionLabels.add(label);
    30953094                }
     3095        }
     3096       
     3097        public void clearHetrogeneousFrameOwnerLabels() {
     3098                if (_hetrogeneousEncryptionLabels != null) {
     3099                        _hetrogeneousEncryptionLabels.clear();
     3100                }
     3101        }
     3102       
     3103        public void setHomogeneousEncryptionLabelOnLoad(String label) {
     3104                this.setChanged(true);
     3105                _homogeneousEncryptionLabel = label;
    30963106        }
    30973107       
     
    31453155                if (getGroupFrame() != null) {
    31463156                        Collection<Text> textItems = getGroupFrame().getTextItems();
     3157                        String membersTag = "@members: ";
    31473158                        Stream<Text> memberLists = textItems.stream().filter(t ->
    31483159                                t.getText().toLowerCase().startsWith("@owner: ") ||
    3149                                 t.getText().toLowerCase().startsWith("@members: "));
     3160                                t.getText().toLowerCase().startsWith(membersTag));
    31503161                        for(Text t: memberLists.collect(Collectors.toList())) {
    31513162                                if (t.getText().toLowerCase().startsWith("@owner: ")) {
    31523163                                        members.add(t.getText().substring(8));
    3153                                 } else if (t.getText().toLowerCase().startsWith("@members: ")) {
    3154                                         //10
    3155                                         String[] split = t.getText().substring(10).split(",");
     3164                                } else if (t.getText().toLowerCase().startsWith(membersTag)) {
     3165                                        String[] split = t.getText().substring(membersTag.length()).split(",");
    31563166                                        for (String m: split) {
    31573167                                                members.add(m.trim());
  • trunk/src/org/expeditee/gui/FrameUtils.java

    r1504 r1508  
    499499                        groupFrame = toDisplay.getGroupFrame();
    500500                        if (groupFrame == null) {
    501                                 MessageBay.displayMessage("WARNING: There is no corrosponding " + group + "1 for the specified group " + group + ".  Group permissions will not apply.");
     501                                String msg = "This frame specifies the group " + group + " of which you are not a member.";
     502                                MessageBay.displayMessage(msg);
    502503                        }
    503504                }
  • trunk/src/org/expeditee/io/DefaultFrameReader.java

    r1506 r1508  
    100100                       
    101101                        // Encryption frame tags
    102                         _FrameTags.put('K', Frame.class.getMethod("setFrameEncryptionLabel", pString));
     102                        _FrameTags.put('K', Frame.class.getMethod("setFrameEncryptionLabelOnLoad", pString));
    103103                        _FrameTags.put('E', Frame.class.getMethod("setFrameEncryptionPermission", pEncPermission));
    104                         _FrameTags.put('k', Frame.class.getMethod("setHomogeneousEncryptionLabel", pString));
     104                        _FrameTags.put('k', Frame.class.getMethod("setHomogeneousEncryptionLabelOnLoad", pString));
    105105                        _FrameTags.put('e', Frame.class.getMethod("setEncryptionPermission", pEncPermission));
    106106                        _FrameTags.put('a', Frame.class.getMethod("addToHetrogeneousFrameOwnerLabels", pString));
Note: See TracChangeset for help on using the changeset viewer.