protected void addConnectorDefinition( ConnectorImplementation impl, List<IResource> resourcesToExport) throws FileNotFoundException, CoreException { final IRepositoryStore store = getDefinitionStore(); ConnectorDefinition def = ((IDefinitionRepositoryStore) store) .getDefinition(impl.getDefinitionId(), impl.getDefinitionVersion()); EMFFileStore file = (EMFFileStore) store.getChild(URI.decode(def.eResource().getURI().lastSegment())); if (file != null && !file.canBeShared()) { File f = new File(file.getEMFResource().getURI().toFileString()); if (f.exists()) { IFile defFile = store.getResource().getFile(f.getName()); defFile.create(new FileInputStream(f), true, Repository.NULL_PROGRESS_MONITOR); resourcesToExport.add(defFile); cleanAfterExport.add(defFile); } } else if (file != null) { resourcesToExport.add(file.getResource()); } addDefinitionIcons(resourcesToExport, store, def); addDefinitionPropertiesFile(resourcesToExport, store, def); }
protected IStatus addDependencies(ConnectorImplementation impl, IFolder classpathFolder) throws CoreException { final IDefinitionRepositoryStore store = (IDefinitionRepositoryStore) getDefinitionStore(); final DependencyRepositoryStore depStore = (DependencyRepositoryStore) RepositoryManager.getInstance().getRepositoryStore(DependencyRepositoryStore.class); final DefinitionResourceProvider resourceProvider = DefinitionResourceProvider.getInstance(getDefinitionStore(), getBundle()); ConnectorDefinition def = store.getDefinition(impl.getDefinitionId(), impl.getDefinitionVersion()); for (String jarName : def.getJarDependency()) { if (ignoredLibs.contains(jarName)) { continue; } IRepositoryFileStore file = depStore.getChild(jarName); if (file != null) { if (file.getResource().exists()) { if (!classpathFolder.getFile(file.getName()).exists()) { try { file.getResource() .copy( classpathFolder.getFullPath().append(file.getName()), true, Repository.NULL_PROGRESS_MONITOR); } catch (CoreException e) { BonitaStudioLog.error(e); } } } } else { // Search in provided jars InputStream is = resourceProvider.getDependencyInputStream(jarName); if (is != null) { IFile jarFile = classpathFolder.getFile(jarName); if (!jarFile.exists()) { jarFile.create(is, true, Repository.NULL_PROGRESS_MONITOR); } } else { return ValidationStatus.error(Messages.bind(Messages.implementationDepNotFound, jarName)); } } } for (String jarName : impl.getJarDependencies().getJarDependency()) { if (ignoredLibs.contains(jarName)) { continue; } IRepositoryFileStore file = depStore.getChild(jarName); if (file != null) { if (file.getResource().exists()) { if (!classpathFolder.getFile(file.getName()).exists()) { try { file.getResource() .copy( classpathFolder.getFullPath().append(file.getName()), true, Repository.NULL_PROGRESS_MONITOR); } catch (CoreException e) { BonitaStudioLog.error(e); } } } } else { // Search in provided jars InputStream is = resourceProvider.getDependencyInputStream(jarName); if (is != null) { IFile jarFile = classpathFolder.getFile(jarName); if (!jarFile.exists()) { jarFile.create(is, true, Repository.NULL_PROGRESS_MONITOR); } } else { return ValidationStatus.error(Messages.bind(Messages.implementationDepNotFound, jarName)); } } } return Status.OK_STATUS; }