Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 44923 invoked from network); 23 Jul 2007 17:42:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 Jul 2007 17:42:32 -0000 Received: (qmail 3848 invoked by uid 500); 23 Jul 2007 17:42:33 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 3810 invoked by uid 500); 23 Jul 2007 17:42:33 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 3798 invoked by uid 99); 23 Jul 2007 17:42:33 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 Jul 2007 10:42:33 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 Jul 2007 10:42:31 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 04D711A981A; Mon, 23 Jul 2007 10:42:11 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r558811 - /directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProblemsViewController.java Date: Mon, 23 Jul 2007 17:42:10 -0000 To: commits@directory.apache.org From: pamarcelot@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070723174211.04D711A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: pamarcelot Date: Mon Jul 23 10:42:09 2007 New Revision: 558811 URL: http://svn.apache.org/viewvc?view=rev&rev=558811 Log: Added ProjectHandlerListener to the ProblemsViewController. Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProblemsViewController.java Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProblemsViewController.java URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProblemsViewController.java?view=diff&rev=558811&r1=558810&r2=558811 ============================================================================== --- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProblemsViewController.java (original) +++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProblemsViewController.java Mon Jul 23 10:42:09 2007 @@ -24,6 +24,7 @@ import org.apache.directory.studio.apacheds.schemaeditor.Activator; import org.apache.directory.studio.apacheds.schemaeditor.model.AttributeTypeImpl; import org.apache.directory.studio.apacheds.schemaeditor.model.ObjectClassImpl; +import org.apache.directory.studio.apacheds.schemaeditor.model.Project; import org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaChecker; import org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaCheckerListener; import org.apache.directory.studio.apacheds.schemaeditor.view.editors.attributetype.AttributeTypeEditor; @@ -56,6 +57,21 @@ /** The associated view */ private ProblemsView view; + /** The SchemaCheckerListener */ + private SchemaCheckerListener schemaCheckerListener = new SchemaCheckerListener() + { + public void schemaCheckerUpdated() + { + Display.getDefault().asyncExec( new Runnable() + { + public void run() + { + view.reloadViewer(); + } + } ); + } + }; + // The Actions @@ -71,6 +87,7 @@ initActions(); initToolbar(); + initProjectsHandlerListener(); initDoubleClickListener(); initSchemaCheckerListener(); } @@ -90,6 +107,66 @@ private void initToolbar() { // IToolBarManager toolbar = view.getViewSite().getActionBars().getToolBarManager(); + } + + + /** + * Initializes the ProjectsHandlerListener. + */ + private void initProjectsHandlerListener() + { + Activator.getDefault().getProjectsHandler().addListener( new ProjectsHandlerAdapter() + { + public void openProjectChanged( Project oldProject, Project newProject ) + { + if ( oldProject != null ) + { + removeSchemaCheckerListener( oldProject ); + } + + if ( newProject != null ) + { + addSchemaCheckerListener( newProject ); + view.reloadViewer(); + } + else + { + view.getViewer().setInput( null ); + } + } + } ); + } + + + /** + * Adds the SchemaCheckerListener. + * + * @param project + * the project + */ + private void addSchemaCheckerListener( Project project ) + { + SchemaChecker schemaChecker = project.getSchemaChecker(); + if ( schemaChecker != null ) + { + schemaChecker.addListener( schemaCheckerListener ); + } + } + + + /** + * Removes the SchemaCheckerListener. + * + * @param project + * the project + */ + private void removeSchemaCheckerListener( Project project ) + { + SchemaChecker schemaChecker = project.getSchemaChecker(); + if ( schemaChecker != null ) + { + schemaChecker.removeListener( schemaCheckerListener ); + } }