package org.bundlemaker.core.test.inspector; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import org.bundlemaker.core.BundleMakerCore; import org.bundlemaker.core.IBundleMakerProject; import org.bundlemaker.core.internal.Activator; import org.bundlemaker.core.internal.resource.FlyWeightString; import org.bundlemaker.core.internal.resource.Reference; import org.bundlemaker.core.internal.resource.Resource; import org.bundlemaker.core.internal.resource.Type; import org.bundlemaker.core.resource.ReferenceType; import org.bundlemaker.core.resource.TypeEnum; import org.bundlemaker.core.resource.modifiable.ReferenceAttributes; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.osgi.util.tracker.ServiceTracker; import com.db4o.Db4o; import com.db4o.ObjectContainer; import com.db4o.config.Configuration; import com.db4o.osgi.Db4oService; /** * <p> * </p> * * @author Gerd Wütherich (gerd@gerd-wuetherich.de) */ public class DbInspector { /** * <p> * </p> * * @throws CoreException */ public void testDatabase(IProject project) throws CoreException { // create a new configuration Configuration configuration = Db4o.newConfiguration(); // set the activation depth configuration.activationDepth(10); // open file IFile file = project.getFile(".bundlemaker/db4o.store"); ServiceTracker serviceTracker = new ServiceTracker(Activator.getContext(), Db4oService.class.getName(), null); serviceTracker.open(); Db4oService db4oService = (Db4oService) serviceTracker.getService(); ObjectContainer _database = db4oService.openFile(configuration, file.getRawLocation().toOSString()); // System.out.println("ReferenceType " + _database.query(ReferenceType.class).size()); // System.out.println("Resource " + _database.query(Resource.class).size()); // System.out.println("Type " + _database.query(Type.class).size()); // System.out.println("HashSet " + _database.query(HashSet.class).size()); // System.out.println("ReferenceAttributes " + _database.query(ReferenceAttributes.class).size()); // System.out.println("TypeEnum " + _database.query(TypeEnum.class).size()); // System.out.println("Reference " + _database.query(Reference.class).size()); // System.out.println("FlyWeightString " + _database.query(FlyWeightString.class).size()); } }