0

I am trying to use the observer pattern in my GUI, and I get a NullPointerException even though the observer I am trying to add is definitely not null. here is the relevant extract of code:

    private class AuditButtonActionListener implements ActionListener {
    DirectoryAuditingProcessor directoryAuditingProcessor;
    DirectoryAuditingAgentObserver directoryAuditingAgentObserver;

    AuditButtonActionListener(){
        directoryAuditingAgentObserver = new DirectoryAuditingAgentObserver();
        directoryAuditingProcessor = new DirectoryAuditingProcessor();
        directoryAuditingProcessor.getDirectoryAuditingAgent().addObserver(directoryAuditingAgentObserver);
    }

    public DirectoryAuditingProcessor getDirectoryAuditingProcessor() {
        return directoryAuditingProcessor;
    }

    public void actionPerformed(ActionEvent ev){

        directoryAuditingProcessor.process(Paths.get(selectedSourcePathTextField.getText()),null);
        textAreaOutput.setText(directoryAuditingProcessor.getDirectoryAuditingAgent().
                                            getDirectoryVisitingAgent().getShaOneHashAndFileProperties().toString());
    }
}

class DirectoryAuditingAgentObserver implements Observer {
    @Override
    public void update(Observable o, Object message) {
        textAreaOutput.append((String)message);
    }
}

and the DirectoryAuditingAgent class does extends Observable. Thank you in advance for your help

0 Answers0