This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 103106

Summary: Force to call first the ProjectOpenedHook specified in project type
Product: projects Reporter: Milan Kuchtiak <mkuchtiak>
Component: Generic InfrastructureAssignee: Milos Kleint <mkleint>
Status: RESOLVED FIXED    
Severity: blocker Keywords: API, API_REVIEW_FAST
Priority: P3    
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:
Bug Depends on: 104492    
Bug Blocks:    
Attachments: api change
complete change upgrading all basic project types.

Description Milan Kuchtiak 2007-05-02 10:39:38 UTC
Currently there is no guarantee that ProjectOpenedHook:projectOpen specified in
particular project type is called before ProjectOpenedHook specified in another
modules.
Comment 1 Milos Kleint 2007-05-03 13:05:10 UTC
Created attachment 42094 [details]
api change
Comment 2 Milos Kleint 2007-05-03 13:07:18 UTC
Created attachment 42095 [details]
complete change upgrading all basic project types.
Comment 3 Milos Kleint 2007-05-03 13:13:57 UTC
please review this api change:

in order to force the projectOpenedHook from the project type to be always the
first one to be notified, I introduced a new LookupMerger implementation, that
is available through the UILookupMergerSupport factory method. It takes the
primary ProjectOpenedHook as parameter and masks all other instances added from
3rd party LookupProviders, enforcing the primary one to be called first. 

The diff includes changes to all major project types. Project types not using
the new feature will still get all hooks called but in undefined order (as of now)

Comment 4 Milos Kleint 2007-05-09 13:47:30 UTC
thanks for the review, I will commit tomorrow.
Comment 5 Milos Kleint 2007-05-10 08:57:32 UTC
integrated in trunk.


IDE:-------------------------------------------------
IDE: [5/10/07 9:56 AM] Committing started
Checking in j2ee/ejbjarproject/nbproject/project.xml;
/cvs/j2ee/ejbjarproject/nbproject/project.xml,v  <--  project.xml
new revision: 1.40; previous revision: 1.39
done
Checking in j2ee/clientproject/nbproject/project.xml;
/cvs/j2ee/clientproject/nbproject/project.xml,v  <--  project.xml
new revision: 1.12; previous revision: 1.11
done
Checking in
apisupport/project/src/org/netbeans/modules/apisupport/project/NbModuleProject.java;
/cvs/apisupport/project/src/org/netbeans/modules/apisupport/project/NbModuleProject.java,v
 <--  NbModuleProject.java
new revision: 1.154; previous revision: 1.153
done
Checking in java/j2seproject/nbproject/project.xml;
/cvs/java/j2seproject/nbproject/project.xml,v  <--  project.xml
new revision: 1.51; previous revision: 1.50
done
Checking in
j2ee/archiveproject/src/org/netbeans/modules/j2ee/archive/project/ArchiveProject.java;
/cvs/j2ee/archiveproject/src/org/netbeans/modules/j2ee/archive/project/ArchiveProject.java,v
 <--  ArchiveProject.java
new revision: 1.4; previous revision: 1.3
done
Checking in
apisupport/project/src/org/netbeans/modules/apisupport/project/suite/SuiteProject.java;
/cvs/apisupport/project/src/org/netbeans/modules/apisupport/project/suite/SuiteProject.java,v
 <--  SuiteProject.java
new revision: 1.36; previous revision: 1.35
done
Checking in j2ee/archiveproject/nbproject/project.xml;
/cvs/j2ee/archiveproject/nbproject/project.xml,v  <--  project.xml
new revision: 1.6; previous revision: 1.5
done
Checking in web/project/nbproject/project.xml;
/cvs/web/project/nbproject/project.xml,v  <--  project.xml
new revision: 1.64; previous revision: 1.63
done
Checking in
java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProject.java;
/cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProject.java,v
 <--  J2SEProject.java
new revision: 1.90; previous revision: 1.89
done
Checking in web/project/src/org/netbeans/modules/web/project/WebProject.java;
/cvs/web/project/src/org/netbeans/modules/web/project/WebProject.java,v  <-- 
WebProject.java
new revision: 1.119; previous revision: 1.118
done
Checking in j2ee/earproject/nbproject/project.xml;
/cvs/j2ee/earproject/nbproject/project.xml,v  <--  project.xml
new revision: 1.28; previous revision: 1.27
done
Checking in
j2ee/earproject/src/org/netbeans/modules/j2ee/earproject/EarProject.java;
/cvs/j2ee/earproject/src/org/netbeans/modules/j2ee/earproject/EarProject.java,v
 <--  EarProject.java
new revision: 1.32; previous revision: 1.31
done
Checking in projects/projectuiapi/nbproject/project.properties;
/cvs/projects/projectuiapi/nbproject/project.properties,v  <--  project.properties
new revision: 1.32; previous revision: 1.31
done
Checking in apisupport/project/nbproject/project.xml;
/cvs/apisupport/project/nbproject/project.xml,v  <--  project.xml
new revision: 1.53; previous revision: 1.52
done
Checking in projects/projectuiapi/apichanges.xml;
/cvs/projects/projectuiapi/apichanges.xml,v  <--  apichanges.xml
new revision: 1.32; previous revision: 1.31
done
Checking in
j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/EjbJarProject.java;
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/EjbJarProject.java,v
 <--  EjbJarProject.java
new revision: 1.67; previous revision: 1.66
done
Checking in
projects/projectuiapi/src/org/netbeans/spi/project/ui/support/UILookupMergerSupport.java;
/cvs/projects/projectuiapi/src/org/netbeans/spi/project/ui/support/UILookupMergerSupport.java,v
 <--  UILookupMergerSupport.java
new revision: 1.3; previous revision: 1.2
done
Checking in
j2ee/clientproject/src/org/netbeans/modules/j2ee/clientproject/AppClientProject.java;
/cvs/j2ee/clientproject/src/org/netbeans/modules/j2ee/clientproject/AppClientProject.java,v
 <--  AppClientProject.java
new revision: 1.8; previous revision: 1.7
done
IDE: [5/10/07 9:57 AM] Committing finished