/** Performs the necessary initialization. */ protected void init() { if (debug) { DebugTrace.print(this, "init"); // $NON-NLS-1$ } LibraryPlugin.getDefault() .getPreferenceStore() .addPropertyChangeListener(preferenceStoreChangeListener); // Create the adapter factory. List factories = new ArrayList(); factories.add(new ResourceItemProviderAdapterFactory()); factories.add(new ReflectiveItemProviderAdapterFactory()); ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(factories); // Create the command stack. BasicCommandStack commandStack = new BasicCommandStack(); // Create the resource set. ILibraryResourceSet resourceSet = createResourceSet(); resourceSet.addRefreshListener(refreshListener); RefreshJob.getInstance().setResourceSet(resourceSet); // Initialize the library save options. saveOptions = resourceSet.getDefaultSaveOptions(); saveOptions.put( MultiFileXMISaveImpl.DISCARD_UNRESOLVED_REFERENCES, LibraryPreferences.getDiscardUnresolvedReferences()); // Create the editing domain. editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, resourceSet); // Register the editing domain. registerEditingDomain(editingDomain); }