I have made a test without remote debugging and it works now. I continue the tests and commit soon this modification to be able to have the start attribute available for <bundle>
On Fri, Jul 16, 2010 at 2:11 PM, Charles Moulliard <[email protected]>wrote: > I'm sure. I will send you two png files on your email address. > > > On Fri, Jul 16, 2010 at 1:53 PM, Guillaume Nodet <[email protected]> wrote: > >> Are you sure they aren't added to the map ? I don't see how that could not >> work. >> >> On Fri, Jul 16, 2010 at 11:02, Charles Moulliard <[email protected]> >> wrote: >> > Hi, >> > >> > In debug mode, I see that something is wrong in my code : >> > >> > public class FeaturesServiceImpl implements FeaturesService { >> > ... >> > >> > protected static class InstallationState { >> > final Set<Bundle> installed = new HashSet<Bundle>(); >> > final List<Bundle> bundles = new ArrayList<Bundle>(); >> > final Map<Long, BundleInfo> bundleInfos = new HashMap<Long, >> > BundleInfo>(); >> > final Map<Feature, Set<Long>> features = new HashMap<Feature, >> > Set<Long>>(); >> > } >> > >> > protected void doInstallFeature(InstallationState state, Feature >> feature) >> > throws Exception { >> > ... >> > Set<Long> bundles = new TreeSet<Long>(); >> > for (BundleInfo bInfo : resolve(feature)) { >> > Bundle b = installBundleIfNeeded(state, bInfo); >> > bundles.add(b.getBundleId()); >> > state.bundleInfos.put(b.getBundleId(), bInfo); >> > } >> > state.features.put(feature, bundles); >> > } >> > >> > public void installFeatures(Set<Feature> features, EnumSet<Option> >> > options) throws Exception { >> > InstallationState state = new InstallationState(); >> > InstallationState failure = new InstallationState(); >> > try { >> > // Install everything >> > for (Feature f : features) { >> > InstallationState s = new InstallationState(); >> > try { >> > doInstallFeature(s, f); >> > state.bundles.addAll(s.bundles); // Ok --> ArrayList >> of >> > BundleImpl is well copied in state.bundles >> > state.bundleInfos.putAll(s.bundleInfos); // NOK --> >> > HashMap of s.bundleInfos is not copied to state.bundleInfos and >> > s.bundleInfos contains well in the HashMap BundleInfo objects >> > ... >> > } catch (Exception e) { >> > >> > What is wrong in the java code (the fact that we use a HashMap defined >> in >> > InstallationState to copy it from object s to object state, ...) ? >> > >> > Help is welcome ? >> > >> > Kind regards, >> > >> > >> > Charles Moulliard >> > >> > Senior Enterprise Architect (J2EE, .NET, SOA) >> > Apache Camel - ServiceMix Committer >> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> > Blog : http://cmoulliard.blogspot.com | Twitter : >> > http://twitter.com/cmoulliard >> > Linkedin : http://www.linkedin.com/in/charlesmoulliard | Skype: >> cmoulliard >> > >> >> >> >> -- >> Cheers, >> Guillaume Nodet >> ------------------------ >> Blog: http://gnodet.blogspot.com/ >> ------------------------ >> Open Source SOA >> http://fusesource.com >> > >
