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 41265 - [2004-06-09] Importing user settings from 3.6 to 4.0
Summary: [2004-06-09] Importing user settings from 3.6 to 4.0
Status: CLOSED FIXED
Alias: None
Product: ide
Classification: Unclassified
Component: Import Settings (show other bugs)
Version: 4.x
Hardware: All All
: P3 blocker (vote)
Assignee: Jaroslav Tulach
URL:
Keywords: API_REVIEW_FAST
Depends on:
Blocks: 41271 42157
  Show dependency tree
 
Reported: 2004-03-24 13:55 UTC by Jiri Rechtacek
Modified: 2008-12-22 15:51 UTC (History)
4 users (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments
Rewrite that seems to import something sometimes. Ready to commit. (79.24 KB, patch)
2004-06-04 18:08 UTC, Jaroslav Tulach
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jiri Rechtacek 2004-03-24 13:55:54 UTC
We must specify which level of distribution should
hold logic for upgrade. Platform? Ide?
Comment 1 Jaroslav Tulach 2004-03-24 15:59:17 UTC
At first sight I would bet that upgrade is responsibility of final
product. E.g. NetBeans, S1S, Rave, etc. There can be some kind of
support from platform, so they do not need to write that from scratch,
but the final logic shall be part of a product. As soon as we start to
use cluster infrastructure (issue 32080) it means that the updater
shall go to nb4.0 cluster (not platform4, not ide4).
Comment 2 _ ttran 2004-04-14 13:15:31 UTC
Yarda, I also agree that this should fall under products but how
products can plug in their upgrade logics to the startup sequence? 
Any API to do that?
Comment 3 Jaroslav Tulach 2004-04-15 06:33:27 UTC
Dirty: -J-Dnetbeans.mainclass=nbide.own.Main that calls
org.netbeans.core.Main after doing all of its upgrade stuffs. The
property is not stable, but one would be able to access openide.jar
and possibly core.jar at that time.

LessDirty: Do the update inside the netbeans launcher, by running
separate java vm, if the user dir does not exists. Cleanly separated
in launcher, but probably harder access to openide.

CleanButNotDesignedYet: Provide some API in core to allow modules to
"plug into". Not clear how the api should look like and when it should
be called. Btw. this was our current state when core.jar called
core/ide.jar by using reflection, if I remember correctly.

Complex: Design StatupStages API that would define well known points
of statup sequence, would go thru one to other and allow any module to
register at certain points and do some actions at that time. Very
needed in order to have microcore, but even less designed than
previous solution.
Comment 4 Jaroslav Tulach 2004-06-03 16:11:05 UTC
Well, here is a link to proposal how we can solve the issue:
http://www.netbeans.org/source/browse/core/arch/arch-core-launcher.xml.diff?r1=1.20&r2=1.20.2
Comment 5 Jaroslav Tulach 2004-06-03 17:32:39 UTC
I've choosen communication using a property netbeans.importclass as
this is a friend API can be made unsupported easily. If I wanted to
use Lookup, I would need to define a class somewhere and removing it
would lead to linkage errors. With property and calls to main method
this is unlikely to happen. 

I am writing tests to cover the behaviour. Reviewers please comment
soon if you want another solution to be choosen.
Comment 6 Jaroslav Tulach 2004-06-04 18:08:40 UTC
Created attachment 15482 [details]
Rewrite that seems to import something sometimes. Ready to commit.
Comment 7 Jaroslav Tulach 2004-06-07 13:41:03 UTC
The solution recognizes 3.6 user dir and is able to import from it.
Only files listed in copy3.6 file (using regexp syntax described in
the file) are copied (from system to config dirs). 

The import from 3.6 is a bit complicated by the fact that there could
be multiple projects there and user was able to move the definition of
any setting from global to project and from project to global. The
result is that one setting can exist in multiple copies and we need to
select one that will be imported into 4.0. Based on module writer
feedback the following strategy has been choosen: 1. if a setting is
available in Project/Default, it is copied. 2. otherwise if it is
available in any Project/* it is copied, 3. if none of the above
happens, the global setting is copied.
Comment 8 Jaroslav Tulach 2004-06-07 13:43:02 UTC
Checking in core/arch/arch-core-launcher.xml;
/cvs/core/arch/arch-core-launcher.xml,v  <--  arch-core-launcher.xml
new revision: 1.21; previous revision: 1.20
done
Processing log script arguments...
More commits to come...
Removing core/ide/src/org/netbeans/core/upgrade/AutoUpgrade.java;
/cvs/core/ide/src/org/netbeans/core/upgrade/AutoUpgrade.java,v  <-- 
AutoUpgrade.java
new revision: delete; previous revision: 1.8
done
Removing core/ide/src/org/netbeans/core/upgrade/AutoUpgradePanel.form;
/cvs/core/ide/src/org/netbeans/core/upgrade/AutoUpgradePanel.form,v 
<--  AutoUpgradePanel.form
new revision: delete; previous revision: 1.1
done
Removing core/ide/src/org/netbeans/core/upgrade/AutoUpgradePanel.java;
/cvs/core/ide/src/org/netbeans/core/upgrade/AutoUpgradePanel.java,v 
<--  AutoUpgradePanel.java
new revision: delete; previous revision: 1.1
done
Removing core/ide/src/org/netbeans/core/upgrade/Bundle.properties;
/cvs/core/ide/src/org/netbeans/core/upgrade/Bundle.properties,v  <-- 
Bundle.properties
new revision: delete; previous revision: 1.15
done
Removing core/ide/src/org/netbeans/core/upgrade/CopyUtil.java;
/cvs/core/ide/src/org/netbeans/core/upgrade/CopyUtil.java,v  <-- 
CopyUtil.java
new revision: delete; previous revision: 1.19
done
Removing core/ide/src/org/netbeans/core/upgrade/FileCopy.java;
/cvs/core/ide/src/org/netbeans/core/upgrade/FileCopy.java,v  <-- 
FileCopy.java
new revision: delete; previous revision: 1.2
done
Removing core/ide/src/org/netbeans/core/upgrade/InternalCopy.java;
/cvs/core/ide/src/org/netbeans/core/upgrade/InternalCopy.java,v  <-- 
InternalCopy.java
new revision: delete; previous revision: 1.2
done
Removing
core/ide/src/org/netbeans/core/upgrade/UpgradeProcessListener.java;
/cvs/core/ide/src/org/netbeans/core/upgrade/UpgradeProcessListener.java,v
 <--  UpgradeProcessListener.java
new revision: delete; previous revision: 1.1
done
Removing core/ide/src/org/netbeans/core/upgrade/forte4j20CE.cfg;
/cvs/core/ide/src/org/netbeans/core/upgrade/forte4j20CE.cfg,v  <-- 
forte4j20CE.cfg
new revision: delete; previous revision: 1.1
done
Removing core/ide/src/org/netbeans/core/upgrade/forte4j20IE.cfg;
/cvs/core/ide/src/org/netbeans/core/upgrade/forte4j20IE.cfg,v  <-- 
forte4j20IE.cfg
new revision: delete; previous revision: 1.1
done
Removing core/ide/src/org/netbeans/core/upgrade/nbdev.cfg;
/cvs/core/ide/src/org/netbeans/core/upgrade/nbdev.cfg,v  <--  nbdev.cfg
new revision: delete; previous revision: 1.4
done
Removing core/ide/src/org/netbeans/core/upgrade/netbeans30.cfg;
/cvs/core/ide/src/org/netbeans/core/upgrade/netbeans30.cfg,v  <-- 
netbeans30.cfg
new revision: delete; previous revision: 1.1
done
Removing core/ide/src/org/netbeans/core/upgrade/netbeans31.cfg;
/cvs/core/ide/src/org/netbeans/core/upgrade/netbeans31.cfg,v  <-- 
netbeans31.cfg
new revision: delete; previous revision: 1.1
done
Removing core/ide/src/org/netbeans/core/upgrade/userdir.cfg;
/cvs/core/ide/src/org/netbeans/core/upgrade/userdir.cfg,v  <-- 
userdir.cfg
new revision: delete; previous revision: 1.8
done
Processing log script arguments...
More commits to come...
Checking in core/src/org/netbeans/core/NonGui.java;
/cvs/core/src/org/netbeans/core/NonGui.java,v  <--  NonGui.java
new revision: 1.112; previous revision: 1.111
done
Processing log script arguments...
More commits to come...
RCS file:
/cvs/core/test/unit/src/org/netbeans/core/NonGuiHandleImportOfUserDirTest.java,v
done
Checking in
core/test/unit/src/org/netbeans/core/NonGuiHandleImportOfUserDirTest.java;
/cvs/core/test/unit/src/org/netbeans/core/NonGuiHandleImportOfUserDirTest.java,v
 <--  NonGuiHandleImportOfUserDirTest.java
initial revision: 1.1
done
Processing log script arguments...
More commits to come...
Checking in ide/launcher/os2/netbeans.cmd;
/cvs/ide/launcher/os2/netbeans.cmd,v  <--  netbeans.cmd
new revision: 1.3; previous revision: 1.2
done
Processing log script arguments...
More commits to come...
Checking in ide/launcher/unix/netbeans;
/cvs/ide/launcher/unix/netbeans,v  <--  netbeans
new revision: 1.6; previous revision: 1.5
done
Processing log script arguments...
More commits to come...
RCS file: /cvs/ide/launcher/upgrade/.cvsignore,v
done
Checking in ide/launcher/upgrade/.cvsignore;
/cvs/ide/launcher/upgrade/.cvsignore,v  <--  .cvsignore
initial revision: 1.1
done
RCS file: /cvs/ide/launcher/upgrade/build.xml,v
done
Checking in ide/launcher/upgrade/build.xml;
/cvs/ide/launcher/upgrade/build.xml,v  <--  build.xml
initial revision: 1.1
done
RCS file: /cvs/ide/launcher/upgrade/manifest.mf,v
done
Checking in ide/launcher/upgrade/manifest.mf;
/cvs/ide/launcher/upgrade/manifest.mf,v  <--  manifest.mf
initial revision: 1.1
done
Processing log script arguments...
More commits to come...
RCS file: /cvs/ide/launcher/upgrade/nbproject/project.properties,v
done
Checking in ide/launcher/upgrade/nbproject/project.properties;
/cvs/ide/launcher/upgrade/nbproject/project.properties,v  <-- 
project.properties
initial revision: 1.1
done
RCS file: /cvs/ide/launcher/upgrade/nbproject/project.xml,v
done
Checking in ide/launcher/upgrade/nbproject/project.xml;
/cvs/ide/launcher/upgrade/nbproject/project.xml,v  <--  project.xml
initial revision: 1.1
done
Processing log script arguments...
More commits to come...
RCS file:
/cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/AutoUpgrade.java,v
done
Checking in
ide/launcher/upgrade/src/org/netbeans/upgrade/AutoUpgrade.java;
/cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/AutoUpgrade.java,v
 <--  AutoUpgrade.java
initial revision: 1.1
done
RCS file:
/cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/AutoUpgradePanel.form,v
done
Checking in
ide/launcher/upgrade/src/org/netbeans/upgrade/AutoUpgradePanel.form;
/cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/AutoUpgradePanel.form,v
 <--  AutoUpgradePanel.form
initial revision: 1.1
done
RCS file:
/cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/AutoUpgradePanel.java,v
done
Checking in
ide/launcher/upgrade/src/org/netbeans/upgrade/AutoUpgradePanel.java;
/cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/AutoUpgradePanel.java,v
 <--  AutoUpgradePanel.java
initial revision: 1.1
done
RCS file:
/cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/Bundle.properties,v
done
Checking in
ide/launcher/upgrade/src/org/netbeans/upgrade/Bundle.properties;
/cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/Bundle.properties,v
 <--  Bundle.properties
initial revision: 1.1
done
RCS file: /cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/Copy.java,v
done
Checking in ide/launcher/upgrade/src/org/netbeans/upgrade/Copy.java;
/cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/Copy.java,v  <-- 
Copy.java
initial revision: 1.1
done
RCS file:
/cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/IncludeExclude.java,v
done
Checking in
ide/launcher/upgrade/src/org/netbeans/upgrade/IncludeExclude.java;
/cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/IncludeExclude.java,v
 <--  IncludeExclude.java
initial revision: 1.1
done
RCS file: /cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/copy3.6,v
done
Checking in ide/launcher/upgrade/src/org/netbeans/upgrade/copy3.6;
/cvs/ide/launcher/upgrade/src/org/netbeans/upgrade/copy3.6,v  <--  copy3.6
initial revision: 1.1
done
Processing log script arguments...
More commits to come...
RCS file: /cvs/ide/launcher/upgrade/test/.cvsignore,v
done
Checking in ide/launcher/upgrade/test/.cvsignore;
/cvs/ide/launcher/upgrade/test/.cvsignore,v  <--  .cvsignore
initial revision: 1.1
done
RCS file: /cvs/ide/launcher/upgrade/test/build-unit.xml,v
done
Checking in ide/launcher/upgrade/test/build-unit.xml;
/cvs/ide/launcher/upgrade/test/build-unit.xml,v  <--  build-unit.xml
initial revision: 1.1
done
RCS file: /cvs/ide/launcher/upgrade/test/build.xml,v
done
Checking in ide/launcher/upgrade/test/build.xml;
/cvs/ide/launcher/upgrade/test/build.xml,v  <--  build.xml
initial revision: 1.1
done
RCS file: /cvs/ide/launcher/upgrade/test/cfg-unit.xml,v
done
Checking in ide/launcher/upgrade/test/cfg-unit.xml;
/cvs/ide/launcher/upgrade/test/cfg-unit.xml,v  <--  cfg-unit.xml
initial revision: 1.1
done
Processing log script arguments...
More commits to come...
RCS file:
/cvs/ide/launcher/upgrade/test/unit/src/org/netbeans/upgrade/CopyTest.java,v
done
Checking in
ide/launcher/upgrade/test/unit/src/org/netbeans/upgrade/CopyTest.java;
/cvs/ide/launcher/upgrade/test/unit/src/org/netbeans/upgrade/CopyTest.java,v
 <--  CopyTest.java
initial revision: 1.1
done
RCS file:
/cvs/ide/launcher/upgrade/test/unit/src/org/netbeans/upgrade/IncludeExcludeTest.java,v
done
Checking in
ide/launcher/upgrade/test/unit/src/org/netbeans/upgrade/IncludeExcludeTest.java;
/cvs/ide/launcher/upgrade/test/unit/src/org/netbeans/upgrade/IncludeExcludeTest.java,v
 <--  IncludeExcludeTest.java
initial revision: 1.1
done
Processing log script arguments...
More commits to come...
Checking in ide/launcher/windows/netbeans.cpp;
/cvs/ide/launcher/windows/netbeans.cpp,v  <--  netbeans.cpp
new revision: 1.6; previous revision: 1.5
done
Processing log script arguments...
More commits to come...
Checking in nbbuild/build.xml;
/cvs/nbbuild/build.xml,v  <--  build.xml
new revision: 1.508; previous revision: 1.507
done
Checking in nbbuild/cluster.properties;
/cvs/nbbuild/cluster.properties,v  <--  cluster.properties
new revision: 1.44; previous revision: 1.43
done
Comment 9 _ ttran 2004-06-08 09:03:36 UTC
make the summary match what we did
Comment 10 _ ttran 2004-06-08 12:20:33 UTC
nb.exe and netbeans.exe recompiled and checked in CVS
Comment 11 Marian Mirilovic 2005-12-20 15:47:51 UTC
This issue was solved long time ago. Because nobody has reopened it neither
added comments, we are verifying/closing it now. 
If you are still able to reproduce the problem, please reopen. Thanks in advance.