mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-07 05:09:37 +07:00
[workspace model] IJPL-345 Rename VirtualFileUrlManager#fromUrl to VirtualFileUrlManager.getOrCreateFromUri
GitOrigin-RevId: 810c3ce308c902ea4e1acf479a0b781ce45b34bc
This commit is contained in:
committed by
intellij-monorepo-bot
parent
5dc4732274
commit
8101439d4a
@@ -28,7 +28,6 @@ import com.intellij.platform.workspace.storage.impl.VersionedEntityStorageOnBuil
|
||||
import com.intellij.platform.workspace.storage.url.VirtualFileUrlManager
|
||||
import com.intellij.util.EventDispatcher
|
||||
import com.intellij.workspaceModel.ide.getInstance
|
||||
import com.intellij.workspaceModel.ide.impl.WorkspaceModelImpl
|
||||
import com.intellij.workspaceModel.ide.toExternalSource
|
||||
import io.opentelemetry.api.metrics.Meter
|
||||
import org.jetbrains.annotations.NonNls
|
||||
@@ -175,7 +174,7 @@ open class ArtifactBridge(
|
||||
}
|
||||
|
||||
override fun setOutputPath(outputPath: String?) {
|
||||
val outputUrl = outputPath?.let { VirtualFileUrlManager.getInstance(project).fromUrl(VfsUtilCore.pathToUrl(it)) }
|
||||
val outputUrl = outputPath?.let { VirtualFileUrlManager.getInstance(project).getOrCreateFromUri(VfsUtilCore.pathToUrl(it)) }
|
||||
val entity = diff.get(artifactId)
|
||||
diff.modifyEntity(entity) {
|
||||
this.outputUrl = outputUrl
|
||||
|
||||
@@ -34,7 +34,6 @@ import com.intellij.util.containers.mapInPlace
|
||||
import com.intellij.util.text.UniqueNameGenerator
|
||||
import com.intellij.workspaceModel.ide.getInstance
|
||||
import com.intellij.workspaceModel.ide.impl.LegacyBridgeJpsEntitySourceFactory
|
||||
import com.intellij.workspaceModel.ide.impl.WorkspaceModelImpl
|
||||
import io.opentelemetry.api.metrics.Meter
|
||||
import java.util.concurrent.atomic.AtomicLong
|
||||
|
||||
@@ -143,7 +142,7 @@ class ArtifactModifiableModelBridge(
|
||||
}
|
||||
}
|
||||
|
||||
val outputUrl = outputPath?.let { fileManager.fromUrl(VfsUtilCore.pathToUrl(it)) }
|
||||
val outputUrl = outputPath?.let { fileManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(it)) }
|
||||
val artifactEntity = diff addEntity ArtifactEntity(uniqueName, artifactType.id, false, source) {
|
||||
this.outputUrl = outputUrl
|
||||
this.rootElement = rootElementEntity
|
||||
|
||||
@@ -43,7 +43,7 @@ public class DirectoryCopyPackagingElement extends FileOrDirectoryCopyPackagingE
|
||||
|
||||
VirtualFileUrlManager fileUrlManager = VirtualFileUrls.getVirtualFileUrlManager(project);
|
||||
Objects.requireNonNull(myFilePath, "filePath is not specified");
|
||||
VirtualFileUrl fileUrl = fileUrlManager.fromUrl(VfsUtilCore.pathToUrl(myFilePath));
|
||||
VirtualFileUrl fileUrl = fileUrlManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(myFilePath));
|
||||
DirectoryCopyPackagingElementEntity addedEntity = diff.addEntity(DirectoryCopyPackagingElementEntity.create(fileUrl, source));
|
||||
diff.getMutableExternalMapping(PackagingExternalMapping.key).addMapping(addedEntity, this);
|
||||
return addedEntity;
|
||||
|
||||
@@ -110,7 +110,7 @@ public class ExtractedDirectoryPackagingElement extends FileOrDirectoryCopyPacka
|
||||
VirtualFileUrlManager fileUrlManager = VirtualFileUrls.getVirtualFileUrlManager(project);
|
||||
Objects.requireNonNull(this.myFilePath, "filePath is not specified");
|
||||
Objects.requireNonNull(this.myPathInJar, "pathInJar is not specified");
|
||||
VirtualFileUrl fileUrl = fileUrlManager.fromUrl(VfsUtilCore.pathToUrl(this.myFilePath));
|
||||
VirtualFileUrl fileUrl = fileUrlManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(this.myFilePath));
|
||||
|
||||
ExtractedDirectoryPackagingElementEntity addedEntity = diff.addEntity(ExtractedDirectoryPackagingElementEntity.create(fileUrl, this.myPathInJar, source));
|
||||
diff.getMutableExternalMapping(PackagingExternalMapping.key).addMapping(addedEntity, this);
|
||||
|
||||
@@ -148,7 +148,7 @@ public class FileCopyPackagingElement extends FileOrDirectoryCopyPackagingElemen
|
||||
Objects.requireNonNull(filePath, "filePath is not specified");
|
||||
FileCopyPackagingElementEntity addedEntity;
|
||||
VirtualFileUrlManager fileUrlManager = VirtualFileUrls.getVirtualFileUrlManager(project);
|
||||
VirtualFileUrl fileUrl = fileUrlManager.fromUrl(VfsUtilCore.pathToUrl(filePath));
|
||||
VirtualFileUrl fileUrl = fileUrlManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(filePath));
|
||||
if (renamedOutputFileName != null) {
|
||||
addedEntity = diff.addEntity(FileCopyPackagingElementEntity.create(fileUrl, source, entityBuilder -> {
|
||||
entityBuilder.setRenamedOutputFileName(renamedOutputFileName);
|
||||
|
||||
@@ -75,7 +75,7 @@ public abstract class FileOrDirectoryCopyPackagingElement<T extends FileOrDirect
|
||||
builder.modifyEntity(FileOrDirectoryPackagingElementEntity.Builder.class, entity, ent -> {
|
||||
VirtualFileUrlManager manager = VirtualFileUrls.getVirtualFileUrlManager(myProject);
|
||||
if (filePath != null) {
|
||||
VirtualFileUrl fileUrl = manager.fromUrl(VfsUtilCore.pathToUrl(filePath));
|
||||
VirtualFileUrl fileUrl = manager.getOrCreateFromUri(VfsUtilCore.pathToUrl(filePath));
|
||||
ent.setFilePath(fileUrl);
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -41,7 +41,6 @@ import com.intellij.testFramework.workspaceModel.updateProjectModel
|
||||
import com.intellij.util.ConcurrencyUtil
|
||||
import com.intellij.util.concurrency.AppExecutorUtil
|
||||
import com.intellij.workspaceModel.ide.getInstance
|
||||
import com.intellij.workspaceModel.ide.impl.WorkspaceModelImpl
|
||||
import junit.framework.TestCase
|
||||
import org.junit.runner.RunWith
|
||||
import java.util.concurrent.Callable
|
||||
@@ -143,7 +142,7 @@ class ArtifactTest : ArtifactsTestCase() {
|
||||
val artifactEntity = builder.entities(ArtifactEntity::class.java).single()
|
||||
val elementEntity = artifactEntity.rootElement!!.children.single() as FileCopyPackagingElementEntity
|
||||
builder.modifyEntity(FileCopyPackagingElementEntity.Builder::class.java, elementEntity) {
|
||||
filePath = VirtualFileUrlManager.getInstance(project).fromUrl(VfsUtilCore.pathToUrl(file2.systemIndependentPath))
|
||||
filePath = VirtualFileUrlManager.getInstance(project).getOrCreateFromUri(VfsUtilCore.pathToUrl(file2.systemIndependentPath))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,8 +31,8 @@ class ArtifactWatchRootsTest : ArtifactsTestCase() {
|
||||
}
|
||||
|
||||
val virtualFileUrlManager = VirtualFileUrlManager.getInstance(project)
|
||||
val outputVirtualUrl = virtualFileUrlManager.fromUrl(VfsUtilCore.pathToUrl(outputDir.path))
|
||||
val fileVirtualUrl = virtualFileUrlManager.fromUrl(VfsUtilCore.pathToUrl(file.path))
|
||||
val outputVirtualUrl = virtualFileUrlManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(outputDir.path))
|
||||
val fileVirtualUrl = virtualFileUrlManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(file.path))
|
||||
runWriteAction {
|
||||
WorkspaceModel.getInstance(project).updateProjectModel {
|
||||
val fileCopy = it addEntity FileCopyPackagingElementEntity(fileVirtualUrl, MySource)
|
||||
|
||||
@@ -155,7 +155,7 @@ private fun convertToRepositoryLibraryAction(
|
||||
val urlManager = VirtualFileUrlManager.getInstance(project)
|
||||
libraryEditor.getUrls(OrderRootType.CLASSES)
|
||||
.asSequence()
|
||||
.map { urlString -> urlManager.fromUrl(urlString) }
|
||||
.map { urlString -> urlManager.getOrCreateFromUri(urlString) }
|
||||
.map { url -> LibraryRoot(url, LibraryRootTypeId.COMPILED) }
|
||||
.forEach { root -> roots.add(root) }
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ internal class CompilerModuleExtensionBridge(
|
||||
private fun getCompilerOutput(): VirtualFileUrl? = when {
|
||||
isCompilerOutputPathInherited -> {
|
||||
val url = CompilerProjectExtension.getInstance(module.project)?.compilerOutputUrl
|
||||
if (url != null) virtualFileManager.fromUrl(url + "/" + PRODUCTION + "/" + getSanitizedModuleName()) else null
|
||||
if (url != null) virtualFileManager.getOrCreateFromUri(url + "/" + PRODUCTION + "/" + getSanitizedModuleName()) else null
|
||||
}
|
||||
else -> javaSettings?.compilerOutput
|
||||
}
|
||||
@@ -46,7 +46,7 @@ internal class CompilerModuleExtensionBridge(
|
||||
private fun getCompilerOutputForTests(): VirtualFileUrl? = when {
|
||||
isCompilerOutputPathInherited -> {
|
||||
val url = CompilerProjectExtension.getInstance(module.project)?.compilerOutputUrl
|
||||
if (url != null) virtualFileManager.fromUrl(url + "/" + TEST + "/" + getSanitizedModuleName()) else null
|
||||
if (url != null) virtualFileManager.getOrCreateFromUri(url + "/" + TEST + "/" + getSanitizedModuleName()) else null
|
||||
}
|
||||
else -> javaSettings?.compilerOutputForTests
|
||||
}
|
||||
@@ -97,7 +97,7 @@ internal class CompilerModuleExtensionBridge(
|
||||
|
||||
override fun setCompilerOutputPath(url: String?) {
|
||||
if (compilerOutputUrl == url) return
|
||||
updateJavaSettings { compilerOutput = url?.let { virtualFileManager.fromUrl(it) } }
|
||||
updateJavaSettings { compilerOutput = url?.let { virtualFileManager.getOrCreateFromUri(it) } }
|
||||
}
|
||||
|
||||
override fun setCompilerOutputPathForTests(file: VirtualFile?) {
|
||||
@@ -107,7 +107,7 @@ internal class CompilerModuleExtensionBridge(
|
||||
|
||||
override fun setCompilerOutputPathForTests(url: String?) {
|
||||
if (compilerOutputUrlForTests == url) return
|
||||
updateJavaSettings { compilerOutputForTests = url?.let { virtualFileManager.fromUrl(it) } }
|
||||
updateJavaSettings { compilerOutputForTests = url?.let { virtualFileManager.getOrCreateFromUri(it) } }
|
||||
}
|
||||
|
||||
override fun inheritCompilerOutputPath(inherit: Boolean) {
|
||||
|
||||
@@ -33,4 +33,4 @@ public val VirtualFileUrl.virtualFile: VirtualFile?
|
||||
*
|
||||
* **Important Note:** method can return different instances of `VirtualFileUrl` for the same `VirtualFile`, e.g. if the file was moved.
|
||||
*/
|
||||
public fun VirtualFile.toVirtualFileUrl(virtualFileManager: VirtualFileUrlManager): VirtualFileUrl = virtualFileManager.fromUrl(this.url)
|
||||
public fun VirtualFile.toVirtualFileUrl(virtualFileManager: VirtualFileUrlManager): VirtualFileUrl = virtualFileManager.getOrCreateFromUri(this.url)
|
||||
|
||||
@@ -206,7 +206,7 @@ public final class ContentRootDataService extends AbstractProjectDataService<Con
|
||||
if (modelsProvider instanceof IdeModifiableModelsProviderImpl impl) {
|
||||
MutableEntityStorage diff = impl.getActualStorageBuilder();
|
||||
|
||||
VirtualFileUrl vfu = project.getService(VirtualFileUrlManager.class).fromUrl(contentEntry.getUrl());
|
||||
VirtualFileUrl vfu = project.getService(VirtualFileUrlManager.class).getOrCreateFromUri(contentEntry.getUrl());
|
||||
Pair<WorkspaceEntity, String> result = ContainerUtil.find(diff.getVirtualFileUrlIndex().findEntitiesByUrl(vfu).iterator(), pair -> {
|
||||
return "url".equals(pair.component2()) && pair.component1() instanceof ContentRootEntity;
|
||||
});
|
||||
|
||||
@@ -14,7 +14,7 @@ internal fun createScratchRootsEntityForProject(project: Project): ScratchRootsE
|
||||
val urlManager = VirtualFileUrlManager.getInstance(project)
|
||||
val urls = RootType.getAllRootTypes().filter { !it.isHidden }.map {
|
||||
scratchFileService.getRootPath(it)
|
||||
}.sorted().map { urlManager.fromUrl(VfsUtilCore.pathToUrl(it)) }.toList()
|
||||
}.sorted().map { urlManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(it)) }.toList()
|
||||
|
||||
return ScratchRootsEntity(urls, ScratchRootsEntitySource)
|
||||
}
|
||||
@@ -62,12 +62,12 @@ class SdkTableBridgeImpl: SdkTableImplementationDelegate {
|
||||
|
||||
val sdkEntitySource = SdkBridgeImpl.createEntitySourceForSdk()
|
||||
val virtualFileUrlManager = VirtualFileUrlManager.getGlobalInstance()
|
||||
val homePathVfu = delegateSdk.homePath?.let { virtualFileUrlManager.fromUrl(it) }
|
||||
val homePathVfu = delegateSdk.homePath?.let { virtualFileUrlManager.getOrCreateFromUri(it) }
|
||||
|
||||
val roots = mutableListOf<SdkRoot>()
|
||||
for (type in OrderRootType.getAllPersistentTypes()) {
|
||||
sdk.rootProvider.getUrls(type).forEach { url ->
|
||||
roots.add(SdkRoot(virtualFileUrlManager.fromUrl(url), rootTypes[type.customName]!!))
|
||||
roots.add(SdkRoot(virtualFileUrlManager.getOrCreateFromUri(url), rootTypes[type.customName]!!))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ open class VirtualFileUrlWatcher(val project: Project) {
|
||||
isInsideFilePointersUpdate = true
|
||||
val entityWithVirtualFileUrl = mutableListOf<EntityWithVirtualFileUrl>()
|
||||
WorkspaceModel.getInstance(project).updateProjectModel("On VFS change") { diff ->
|
||||
val oldFileUrl = virtualFileManager.fromUrl(oldUrl)
|
||||
val oldFileUrl = virtualFileManager.getOrCreateFromUri(oldUrl)
|
||||
calculateAffectedEntities(diff, oldFileUrl, entityWithVirtualFileUrl)
|
||||
oldFileUrl.subTreeFileUrls.map { fileUrl -> calculateAffectedEntities(diff, fileUrl, entityWithVirtualFileUrl) }
|
||||
val result = entityWithVirtualFileUrl.filter { shouldUpdateThisEntity(it.entity) }.toList()
|
||||
@@ -151,7 +151,7 @@ private class EntitySourceFileWatcher<T : EntitySource>(
|
||||
val urlFromContainer = containerToUrl(entitySource as T)
|
||||
if (!FileUtil.startsWith(urlFromContainer, oldUrl)) continue
|
||||
|
||||
val newVfsUrl = virtualFileManager.fromUrl(newUrl + urlFromContainer.substring(oldUrl.length))
|
||||
val newVfsUrl = virtualFileManager.getOrCreateFromUri(newUrl + urlFromContainer.substring(oldUrl.length))
|
||||
val newEntitySource = createNewSource(entitySource, newVfsUrl)
|
||||
|
||||
entities.forEach { entity ->
|
||||
@@ -185,7 +185,7 @@ private class EntityVirtualFileUrlWatcher<E : WorkspaceEntity, M : WorkspaceEnti
|
||||
val savedUrl = existingVirtualFileUrl.url
|
||||
val newTrackedUrl = newUrl + savedUrl.substring(oldUrl.length)
|
||||
|
||||
val newContainer = virtualFileManager.fromUrl(newTrackedUrl)
|
||||
val newContainer = virtualFileManager.getOrCreateFromUri(newTrackedUrl)
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
entityWithVFU.entity as E
|
||||
diff.modifyEntity(modifiableEntityClass.java, entityWithVFU.entity) {
|
||||
@@ -209,7 +209,7 @@ private class LibraryRootFileWatcher : LegacyFileWatcher {
|
||||
diff: MutableEntityStorage) {
|
||||
entitiesWithVFU.filter { LibraryEntity::class.isInstance(it.entity) && it.propertyName == propertyName }.forEach { entityWithVFU ->
|
||||
val oldVFU = entityWithVFU.virtualFileUrl
|
||||
val newVFU = virtualFileManager.fromUrl(newUrl + oldVFU.url.substring(oldUrl.length))
|
||||
val newVFU = virtualFileManager.getOrCreateFromUri(newUrl + oldVFU.url.substring(oldUrl.length))
|
||||
|
||||
entityWithVFU.entity as LibraryEntity
|
||||
val oldLibraryRoots = diff.resolve(entityWithVFU.entity.symbolicId)?.roots?.filter { it.url == oldVFU }
|
||||
@@ -239,7 +239,7 @@ private class SdkRootFileWatcher : LegacyFileWatcher {
|
||||
diff: MutableEntityStorage) {
|
||||
entitiesWithVFU.filter { SdkEntity::class.isInstance(it.entity) && it.propertyName == propertyName }.forEach { entityWithVFU ->
|
||||
val oldVFU = entityWithVFU.virtualFileUrl
|
||||
val newVFU = virtualFileManager.fromUrl(newUrl + oldVFU.url.substring(oldUrl.length))
|
||||
val newVFU = virtualFileManager.getOrCreateFromUri(newUrl + oldVFU.url.substring(oldUrl.length))
|
||||
|
||||
entityWithVFU.entity as SdkEntity
|
||||
val oldSdkRoots = diff.resolve(entityWithVFU.entity.symbolicId)?.roots?.filter { it.url == oldVFU }
|
||||
|
||||
@@ -40,7 +40,7 @@ public abstract class EntityIndexingServiceTestBase extends HeavyPlatformTestCas
|
||||
|
||||
@NotNull
|
||||
protected VirtualFileUrl getUrl(@NotNull VirtualFile file) {
|
||||
return fileUrlManager.fromUrl(file.getUrl());
|
||||
return fileUrlManager.getOrCreateFromUri(file.getUrl());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -399,10 +399,10 @@ class ModuleRootsInProjectFileIndexTest {
|
||||
runWriteActionAndWait {
|
||||
WorkspaceModel.getInstance(projectModel.project).updateProjectModel {
|
||||
val module = it.resolve(ModuleId(module.name))!!
|
||||
it addEntity ContentRootEntity(urlManager.fromUrl(rootUrl),
|
||||
it addEntity ContentRootEntity(urlManager.getOrCreateFromUri(rootUrl),
|
||||
emptyList<@NlsSafe String>(),
|
||||
module.entitySource) {
|
||||
excludedUrls = listOf(urlManager.fromUrl(excludedUrl)).map {
|
||||
excludedUrls = listOf(urlManager.getOrCreateFromUri(excludedUrl)).map {
|
||||
ExcludeUrlEntity(it, module.entitySource)
|
||||
}
|
||||
this.module = module
|
||||
|
||||
@@ -73,7 +73,7 @@ internal class NonExistingWorkspaceRootsRegistry(private val project: Project, p
|
||||
for (event in events) {
|
||||
when (event) {
|
||||
is VFileDeleteEvent ->
|
||||
calculateEntityChangesIfNeeded(virtualFileManager.fromUrl(event.file.url), event.file, entityChanges, entityStorage, true)
|
||||
calculateEntityChangesIfNeeded(virtualFileManager.getOrCreateFromUri(event.file.url), event.file, entityChanges, entityStorage, true)
|
||||
is VFileCreateEvent -> {
|
||||
val parentUrl = event.parent.url
|
||||
val protocolEnd = parentUrl.indexOf(URLUtil.SCHEME_SEPARATOR)
|
||||
@@ -83,23 +83,23 @@ internal class NonExistingWorkspaceRootsRegistry(private val project: Project, p
|
||||
else {
|
||||
VfsUtilCore.pathToUrl(event.path)
|
||||
}
|
||||
val virtualFileUrl = virtualFileManager.fromUrl(url)
|
||||
val virtualFileUrl = virtualFileManager.getOrCreateFromUri(url)
|
||||
calculateEntityChangesIfNeeded(virtualFileUrl, null, entityChanges, entityStorage, false)
|
||||
if (url.startsWith(URLUtil.FILE_PROTOCOL) && (event.isDirectory || event.childName.endsWith(".jar"))) {
|
||||
//if a new directory or a new jar file is created, we may have roots pointing to files under it with jar protocol
|
||||
val suffix = if (event.isDirectory) "" else URLUtil.JAR_SEPARATOR
|
||||
val jarFileUrl = URLUtil.JAR_PROTOCOL + URLUtil.SCHEME_SEPARATOR + URLUtil.urlToPath(url) + suffix
|
||||
val jarVirtualFileUrl = virtualFileManager.fromUrl(jarFileUrl)
|
||||
val jarVirtualFileUrl = virtualFileManager.getOrCreateFromUri(jarFileUrl)
|
||||
calculateEntityChangesIfNeeded(jarVirtualFileUrl, null, entityChanges, entityStorage, false)
|
||||
}
|
||||
}
|
||||
is VFileCopyEvent -> calculateEntityChangesIfNeeded(virtualFileManager.fromUrl(VfsUtilCore.pathToUrl(event.path)), null, entityChanges,
|
||||
is VFileCopyEvent -> calculateEntityChangesIfNeeded(virtualFileManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(event.path)), null, entityChanges,
|
||||
entityStorage, false)
|
||||
is VFilePropertyChangeEvent, is VFileMoveEvent -> {
|
||||
val (oldUrl, newUrl) = getOldAndNewUrls(event)
|
||||
if (oldUrl != newUrl) {
|
||||
calculateEntityChangesIfNeeded(virtualFileManager.fromUrl(oldUrl), event.file, entityChanges, entityStorage, true)
|
||||
calculateEntityChangesIfNeeded(virtualFileManager.fromUrl(newUrl), null, entityChanges, entityStorage, false)
|
||||
calculateEntityChangesIfNeeded(virtualFileManager.getOrCreateFromUri(oldUrl), event.file, entityChanges, entityStorage, true)
|
||||
calculateEntityChangesIfNeeded(virtualFileManager.getOrCreateFromUri(newUrl), null, entityChanges, entityStorage, false)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ internal class NonIncrementalContributors(private val project: Project,
|
||||
}
|
||||
}
|
||||
else {
|
||||
excludedUrls.add(virtualFileUrlManager.fromUrl(url))
|
||||
excludedUrls.add(virtualFileUrlManager.getOrCreateFromUri(url))
|
||||
}
|
||||
}
|
||||
policy.excludeSdkRootsStrategy?.let { strategy ->
|
||||
@@ -131,7 +131,7 @@ internal class NonIncrementalContributors(private val project: Project,
|
||||
}
|
||||
}
|
||||
else {
|
||||
excludedUrls.add(virtualFileUrlManager.fromUrl(pointer.url))
|
||||
excludedUrls.add(virtualFileUrlManager.getOrCreateFromUri(pointer.url))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,14 +18,14 @@ fun getJpsProjectConfigLocation(project: Project): JpsProjectConfigLocation? {
|
||||
val virtualFileUrlManager = VirtualFileUrlManager.getInstance(project)
|
||||
val ideaFolder = project.stateStore.directoryStorePath!!.toVirtualFileUrl(virtualFileUrlManager)
|
||||
val baseUrl = VfsUtilCore.pathToUrl(it)
|
||||
JpsProjectConfigLocation.DirectoryBased(virtualFileUrlManager.fromUrl(baseUrl), ideaFolder)
|
||||
JpsProjectConfigLocation.DirectoryBased(virtualFileUrlManager.getOrCreateFromUri(baseUrl), ideaFolder)
|
||||
}
|
||||
}
|
||||
else {
|
||||
project.projectFilePath?.let {
|
||||
val virtualFileUrlManager = VirtualFileUrlManager.getInstance(project)
|
||||
val projectFileUrl = VfsUtilCore.pathToUrl(it)
|
||||
val iprFile = virtualFileUrlManager.fromUrl(projectFileUrl)
|
||||
val iprFile = virtualFileUrlManager.getOrCreateFromUri(projectFileUrl)
|
||||
JpsProjectConfigLocation.FileBased(iprFile, iprFile.parent!!)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ class GlobalWorkspaceModel : Disposable {
|
||||
}
|
||||
}
|
||||
|
||||
private fun VirtualFileUrl.createCopyAtManager(manager: VirtualFileUrlManager): VirtualFileUrl = manager.fromUrl(url)
|
||||
private fun VirtualFileUrl.createCopyAtManager(manager: VirtualFileUrlManager): VirtualFileUrl = manager.getOrCreateFromUri(url)
|
||||
|
||||
private fun ExcludeUrlEntity.copy(entitySource: EntitySource, manager: VirtualFileUrlManager): ExcludeUrlEntity =
|
||||
ExcludeUrlEntity(url.createCopyAtManager(manager), entitySource)
|
||||
|
||||
@@ -60,7 +60,7 @@ object LegacyBridgeJpsEntitySourceFactory {
|
||||
|
||||
fun createEntitySourceForGlobalLibrary(): EntitySource {
|
||||
val virtualFileUrlManager = VirtualFileUrlManager.getGlobalInstance()
|
||||
val globalLibrariesFile = virtualFileUrlManager.fromUrl(PathManager.getOptionsFile(JpsGlobalEntitiesSerializers.GLOBAL_LIBRARIES_FILE_NAME).absolutePath)
|
||||
val globalLibrariesFile = virtualFileUrlManager.getOrCreateFromUri(PathManager.getOptionsFile(JpsGlobalEntitiesSerializers.GLOBAL_LIBRARIES_FILE_NAME).absolutePath)
|
||||
return JpsGlobalFileEntitySource(globalLibrariesFile)
|
||||
}
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@ internal class LibraryModifiableModelBridgeImpl(
|
||||
assertModelIsLive()
|
||||
|
||||
val rootTypeId = rootType.toLibraryRootType()
|
||||
val virtualFileUrl = virtualFileManager.fromUrl(url)
|
||||
val virtualFileUrl = virtualFileManager.getOrCreateFromUri(url)
|
||||
val inclusionOptions = if (recursive) LibraryRoot.InclusionOptions.ARCHIVES_UNDER_ROOT_RECURSIVELY else LibraryRoot.InclusionOptions.ARCHIVES_UNDER_ROOT
|
||||
|
||||
update {
|
||||
@@ -208,7 +208,7 @@ internal class LibraryModifiableModelBridgeImpl(
|
||||
override fun moveRootUp(url: String, rootType: OrderRootType) {
|
||||
assertModelIsLive()
|
||||
|
||||
val virtualFileUrl = virtualFileManager.fromUrl(url)
|
||||
val virtualFileUrl = virtualFileManager.getOrCreateFromUri(url)
|
||||
|
||||
update {
|
||||
val index = roots.indexOfFirst { it.url == virtualFileUrl }
|
||||
@@ -225,7 +225,7 @@ internal class LibraryModifiableModelBridgeImpl(
|
||||
override fun moveRootDown(url: String, rootType: OrderRootType) {
|
||||
assertModelIsLive()
|
||||
|
||||
val virtualFileUrl = virtualFileManager.fromUrl(url)
|
||||
val virtualFileUrl = virtualFileManager.getOrCreateFromUri(url)
|
||||
|
||||
update {
|
||||
val index = roots.indexOfFirst { it.url == virtualFileUrl }
|
||||
@@ -256,7 +256,7 @@ internal class LibraryModifiableModelBridgeImpl(
|
||||
override fun addExcludedRoot(url: String) {
|
||||
assertModelIsLive()
|
||||
|
||||
val virtualFileUrl = virtualFileManager.fromUrl(url)
|
||||
val virtualFileUrl = virtualFileManager.getOrCreateFromUri(url)
|
||||
|
||||
update {
|
||||
if (!excludedRoots.map { it.url }.contains(virtualFileUrl)) {
|
||||
@@ -272,7 +272,7 @@ internal class LibraryModifiableModelBridgeImpl(
|
||||
override fun addRoot(url: String, rootType: OrderRootType) {
|
||||
assertModelIsLive()
|
||||
|
||||
val virtualFileUrl = virtualFileManager.fromUrl(url)
|
||||
val virtualFileUrl = virtualFileManager.getOrCreateFromUri(url)
|
||||
|
||||
val root = LibraryRoot(
|
||||
url = virtualFileUrl,
|
||||
@@ -337,7 +337,7 @@ internal class LibraryModifiableModelBridgeImpl(
|
||||
override fun removeRoot(url: String, rootType: OrderRootType): Boolean {
|
||||
assertModelIsLive()
|
||||
|
||||
val virtualFileUrl = virtualFileManager.fromUrl(url)
|
||||
val virtualFileUrl = virtualFileManager.getOrCreateFromUri(url)
|
||||
|
||||
if (!currentLibrary.getUrls(rootType).contains(virtualFileUrl.url)) return false
|
||||
|
||||
@@ -359,7 +359,7 @@ internal class LibraryModifiableModelBridgeImpl(
|
||||
override fun removeExcludedRoot(url: String): Boolean {
|
||||
assertModelIsLive()
|
||||
|
||||
val virtualFileUrl = virtualFileManager.fromUrl(url)
|
||||
val virtualFileUrl = virtualFileManager.getOrCreateFromUri(url)
|
||||
|
||||
val excludeUrlEntity = currentLibrary.libraryEntity.excludedRoots.find { it.url == virtualFileUrl }
|
||||
if (excludeUrlEntity == null) return false
|
||||
|
||||
@@ -91,7 +91,7 @@ internal class ModifiableModuleModelBridgeImpl(
|
||||
}
|
||||
|
||||
val parentPath = PathUtil.getParentPath(canonicalPath)
|
||||
val baseModuleDir = VirtualFileUrlManager.getInstance(project).fromUrl(VfsUtilCore.pathToUrl(parentPath))
|
||||
val baseModuleDir = VirtualFileUrlManager.getInstance(project).getOrCreateFromUri(VfsUtilCore.pathToUrl(parentPath))
|
||||
val entitySource = LegacyBridgeJpsEntitySourceFactory.createEntitySourceForModule(
|
||||
project = project,
|
||||
baseModuleDir = baseModuleDir,
|
||||
|
||||
@@ -137,10 +137,10 @@ internal class ModifiableContentEntryBridge(
|
||||
}
|
||||
|
||||
override fun addExcludeFolder(file: VirtualFile): ExcludeFolder = addExcludeFolder(file.toVirtualFileUrl(virtualFileManager), false)
|
||||
override fun addExcludeFolder(url: String): ExcludeFolder = addExcludeFolder(virtualFileManager.fromUrl(url), false)
|
||||
override fun addExcludeFolder(url: String): ExcludeFolder = addExcludeFolder(virtualFileManager.getOrCreateFromUri(url), false)
|
||||
|
||||
override fun addExcludeFolder(url: String, isAutomaticallyImported: Boolean): ExcludeFolder {
|
||||
return addExcludeFolder(virtualFileManager.fromUrl(url), isAutomaticallyImported)
|
||||
return addExcludeFolder(virtualFileManager.getOrCreateFromUri(url), isAutomaticallyImported)
|
||||
}
|
||||
|
||||
override fun removeExcludeFolder(excludeFolder: ExcludeFolder) {
|
||||
@@ -164,7 +164,7 @@ internal class ModifiableContentEntryBridge(
|
||||
override fun removeExcludeFolder(url: String): Boolean {
|
||||
LOG.debugWithTrace { "Remove exclude folder for url: $url." }
|
||||
|
||||
val virtualFileUrl = virtualFileManager.fromUrl(url)
|
||||
val virtualFileUrl = virtualFileManager.getOrCreateFromUri(url)
|
||||
|
||||
val excludedUrls = currentContentEntry.value.entity.excludedUrls.map { it.url }
|
||||
if (!excludedUrls.contains(virtualFileUrl)) return false
|
||||
@@ -246,7 +246,7 @@ internal class ModifiableContentEntryBridge(
|
||||
isAutomaticallyImported: Boolean): SourceFolder {
|
||||
val contentRootSource = currentContentEntry.value.entity.entitySource
|
||||
val source = if (isAutomaticallyImported) contentRootSource else getInternalFileSource(contentRootSource) ?: contentRootSource
|
||||
return addSourceFolder(virtualFileManager.fromUrl(url), type, type.createDefaultProperties(), source)
|
||||
return addSourceFolder(virtualFileManager.getOrCreateFromUri(url), type, type.createDefaultProperties(), source)
|
||||
}
|
||||
|
||||
override fun <P : JpsElement> addSourceFolder(file: VirtualFile, type: JpsModuleSourceRootType<P>, properties: P): SourceFolder {
|
||||
@@ -258,7 +258,7 @@ internal class ModifiableContentEntryBridge(
|
||||
override fun <P : JpsElement> addSourceFolder(url: String, type: JpsModuleSourceRootType<P>, properties: P): SourceFolder {
|
||||
val contentRootSource = currentContentEntry.value.entity.entitySource
|
||||
val source: EntitySource = getInternalFileSource(contentRootSource) ?: contentRootSource
|
||||
return addSourceFolder(virtualFileManager.fromUrl(url), type, properties, source)
|
||||
return addSourceFolder(virtualFileManager.getOrCreateFromUri(url), type, properties, source)
|
||||
}
|
||||
|
||||
override fun <P : JpsElement> addSourceFolder(url: String,
|
||||
@@ -267,7 +267,7 @@ internal class ModifiableContentEntryBridge(
|
||||
isAutomaticallyImported: Boolean): SourceFolder {
|
||||
val contentRootSource = currentContentEntry.value.entity.entitySource
|
||||
val source = if (isAutomaticallyImported) contentRootSource else getInternalFileSource(contentRootSource) ?: contentRootSource
|
||||
return addSourceFolder(virtualFileManager.fromUrl(url), type, properties, source)
|
||||
return addSourceFolder(virtualFileManager.getOrCreateFromUri(url), type, properties, source)
|
||||
}
|
||||
|
||||
override fun <P : JpsElement> addSourceFolder(url: String,
|
||||
@@ -276,7 +276,7 @@ internal class ModifiableContentEntryBridge(
|
||||
externalSource: ProjectModelExternalSource?): SourceFolder {
|
||||
val contentRootSource = currentContentEntry.value.entity.entitySource
|
||||
val source = if (externalSource != null) contentRootSource else getInternalFileSource(contentRootSource) ?: contentRootSource
|
||||
return addSourceFolder(virtualFileManager.fromUrl(url), type, properties, source)
|
||||
return addSourceFolder(virtualFileManager.getOrCreateFromUri(url), type, properties, source)
|
||||
}
|
||||
|
||||
override fun getFile(): VirtualFile? = currentContentEntry.value.file
|
||||
|
||||
@@ -215,7 +215,7 @@ class ModifiableRootModelBridgeImpl(
|
||||
}
|
||||
|
||||
private fun addEntityAndContentEntry(url: String, entitySource: EntitySource): ContentEntry {
|
||||
val virtualFileUrl = virtualFileManager.fromUrl(url)
|
||||
val virtualFileUrl = virtualFileManager.getOrCreateFromUri(url)
|
||||
val existingEntry = contentEntries.firstOrNull { it.contentEntryUrl == virtualFileUrl }
|
||||
if (existingEntry != null) {
|
||||
return existingEntry
|
||||
|
||||
@@ -43,12 +43,12 @@ class OrderRootsCacheBridge(val project: Project, parentDisposable: Disposable)
|
||||
val key = CacheKey(rootType, flags)
|
||||
var virtualFileUrls: List<VirtualFileUrlBridge>? = null
|
||||
if (myRootUrls.get()?.get(key) == null) {
|
||||
virtualFileUrls = rootUrlsComputer.get().map { virtualFileUrlManager.fromUrl(it) as VirtualFileUrlBridge }
|
||||
virtualFileUrls = rootUrlsComputer.get().map { virtualFileUrlManager.getOrCreateFromUri(it) as VirtualFileUrlBridge }
|
||||
ConcurrencyUtil.cacheOrGet(myRootUrls, ConcurrentHashMap()).computeIfAbsent(key) { ArrayUtil.toStringArray(virtualFileUrls!!.map { it.url }) }
|
||||
}
|
||||
if (myRootVirtualFiles.get()?.get(key) == null) {
|
||||
if (virtualFileUrls == null) {
|
||||
virtualFileUrls = rootUrlsComputer.get().map { virtualFileUrlManager.fromUrl(it) as VirtualFileUrlBridge }
|
||||
virtualFileUrls = rootUrlsComputer.get().map { virtualFileUrlManager.getOrCreateFromUri(it) as VirtualFileUrlBridge }
|
||||
}
|
||||
ConcurrencyUtil.cacheOrGet(myRootVirtualFiles, ConcurrentHashMap()).computeIfAbsent(key) {
|
||||
VfsUtilCore.toVirtualFileArray(virtualFileUrls.mapNotNull { it.file })
|
||||
|
||||
@@ -183,7 +183,7 @@ class SdkBridgeImpl(private var sdkEntityBuilder: SdkEntity.Builder) : UserDataH
|
||||
fun createEmptySdkEntity(name: String, type: String, homePath: String = "", version: String? = null): SdkEntity.Builder {
|
||||
val sdkEntitySource = createEntitySourceForSdk()
|
||||
val virtualFileUrlManager = VirtualFileUrlManager.getGlobalInstance()
|
||||
val homePathVfu = virtualFileUrlManager.fromUrl(homePath)
|
||||
val homePathVfu = virtualFileUrlManager.getOrCreateFromUri(homePath)
|
||||
return SdkEntity(name, type, emptyList(), "", sdkEntitySource) {
|
||||
this.homePath = homePathVfu
|
||||
this.version = version
|
||||
@@ -192,7 +192,7 @@ class SdkBridgeImpl(private var sdkEntityBuilder: SdkEntity.Builder) : UserDataH
|
||||
|
||||
fun createEntitySourceForSdk(): EntitySource {
|
||||
val virtualFileUrlManager = VirtualFileUrlManager.getGlobalInstance()
|
||||
val globalLibrariesFile = virtualFileUrlManager.fromUrl(
|
||||
val globalLibrariesFile = virtualFileUrlManager.getOrCreateFromUri(
|
||||
PathManager.getOptionsFile(JpsGlobalEntitiesSerializers.SDK_FILE_NAME).absolutePath)
|
||||
return JpsGlobalFileEntitySource(globalLibrariesFile)
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ class SdkModificatorBridgeImpl(private val originalEntity: SdkEntity.Builder,
|
||||
override fun setHomePath(path: String?) {
|
||||
modifiedSdkEntity.homePath = if (path != null) {
|
||||
val globalInstance = VirtualFileUrlManager.getGlobalInstance()
|
||||
globalInstance.fromUrl(path)
|
||||
globalInstance.getOrCreateFromUri(path)
|
||||
} else {
|
||||
null
|
||||
}
|
||||
@@ -86,7 +86,7 @@ class SdkModificatorBridgeImpl(private val originalEntity: SdkEntity.Builder,
|
||||
override fun addRoot(root: VirtualFile, rootType: OrderRootType) {
|
||||
val virtualFileUrlManager = VirtualFileUrlManager.getGlobalInstance()
|
||||
modifiedSdkEntity.roots.add(
|
||||
SdkRoot(virtualFileUrlManager.fromUrl(root.url), rootTypes[rootType.customName]!!)
|
||||
SdkRoot(virtualFileUrlManager.getOrCreateFromUri(root.url), rootTypes[rootType.customName]!!)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -55,8 +55,8 @@ internal object JavaSettingsSerializer {
|
||||
excludeOutput = excludeOutput != null,
|
||||
entitySource = contentRotEntitySource
|
||||
) {
|
||||
this.compilerOutput = compilerOutput?.let { context.virtualFileUrlManager.fromUrl(it) }
|
||||
this.compilerOutputForTests = compilerOutputForTests?.let { context.virtualFileUrlManager.fromUrl(it) }
|
||||
this.compilerOutput = compilerOutput?.let { context.virtualFileUrlManager.getOrCreateFromUri(it) }
|
||||
this.compilerOutputForTests = compilerOutputForTests?.let { context.virtualFileUrlManager.getOrCreateFromUri(it) }
|
||||
this.languageLevelId = languageLevel
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import com.intellij.java.workspace.entities.*
|
||||
import com.intellij.openapi.diagnostic.debug
|
||||
import com.intellij.openapi.diagnostic.logger
|
||||
import com.intellij.openapi.util.JDOMUtil
|
||||
import com.intellij.platform.diagnostic.telemetry.helpers.addElapsedTimeMillis
|
||||
import com.intellij.platform.diagnostic.telemetry.helpers.addMeasuredTimeMillis
|
||||
import com.intellij.platform.workspace.jps.*
|
||||
import com.intellij.platform.workspace.jps.entities.LibraryId
|
||||
@@ -38,7 +37,7 @@ internal class JpsArtifactsDirectorySerializerFactory(override val directoryUrl:
|
||||
override fun createSerializer(fileUrl: String,
|
||||
entitySource: JpsProjectFileEntitySource.FileInDirectory,
|
||||
virtualFileManager: VirtualFileUrlManager): JpsArtifactEntitiesSerializer {
|
||||
return JpsArtifactEntitiesSerializer(virtualFileManager.fromUrl(fileUrl), entitySource, false, virtualFileManager)
|
||||
return JpsArtifactEntitiesSerializer(virtualFileManager.getOrCreateFromUri(fileUrl), entitySource, false, virtualFileManager)
|
||||
}
|
||||
|
||||
override fun getDefaultFileName(entity: ArtifactEntity): String {
|
||||
|
||||
@@ -20,7 +20,7 @@ object JpsGlobalEntitiesSerializers {
|
||||
serializers.add(createSdkSerializer(virtualFileUrlManager, sortedRootTypes) as JpsFileEntityTypeSerializer<WorkspaceEntity>)
|
||||
}
|
||||
|
||||
val globalLibrariesFile = virtualFileUrlManager.fromUrl(PathManager.getOptionsFile(GLOBAL_LIBRARIES_FILE_NAME).absolutePath)
|
||||
val globalLibrariesFile = virtualFileUrlManager.getOrCreateFromUri(PathManager.getOptionsFile(GLOBAL_LIBRARIES_FILE_NAME).absolutePath)
|
||||
val globalLibrariesEntitySource = JpsGlobalFileEntitySource(globalLibrariesFile)
|
||||
serializers.add(JpsGlobalLibrariesFileSerializer(globalLibrariesEntitySource) as JpsFileEntityTypeSerializer<WorkspaceEntity>)
|
||||
|
||||
@@ -28,7 +28,7 @@ object JpsGlobalEntitiesSerializers {
|
||||
}
|
||||
|
||||
fun createSdkSerializer(virtualFileUrlManager: VirtualFileUrlManager, sortedRootTypes: List<String>): JpsSdkEntitySerializer {
|
||||
val globalSdkFile = virtualFileUrlManager.fromUrl(PathManager.getOptionsFile(SDK_FILE_NAME).absolutePath)
|
||||
val globalSdkFile = virtualFileUrlManager.getOrCreateFromUri(PathManager.getOptionsFile(SDK_FILE_NAME).absolutePath)
|
||||
val globalSdkEntitySource = JpsGlobalFileEntitySource(globalSdkFile)
|
||||
return JpsSdkEntitySerializer(globalSdkEntitySource, sortedRootTypes)
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import com.intellij.openapi.diagnostic.debug
|
||||
import com.intellij.openapi.diagnostic.logger
|
||||
import com.intellij.openapi.diagnostic.thisLogger
|
||||
import com.intellij.openapi.util.JDOMUtil
|
||||
import com.intellij.platform.diagnostic.telemetry.helpers.addElapsedTimeMillis
|
||||
import com.intellij.platform.diagnostic.telemetry.helpers.addMeasuredTimeMillis
|
||||
import com.intellij.platform.workspace.jps.*
|
||||
import com.intellij.platform.workspace.jps.entities.*
|
||||
@@ -42,7 +41,7 @@ internal class JpsLibrariesDirectorySerializerFactory(override val directoryUrl:
|
||||
override fun createSerializer(fileUrl: String,
|
||||
entitySource: JpsProjectFileEntitySource.FileInDirectory,
|
||||
virtualFileManager: VirtualFileUrlManager): JpsFileEntitiesSerializer<LibraryEntity> {
|
||||
return JpsLibraryEntitiesSerializer(virtualFileManager.fromUrl(fileUrl), entitySource, LibraryTableId.ProjectLibraryTableId)
|
||||
return JpsLibraryEntitiesSerializer(virtualFileManager.getOrCreateFromUri(fileUrl), entitySource, LibraryTableId.ProjectLibraryTableId)
|
||||
}
|
||||
|
||||
override fun changeEntitySourcesToDirectoryBasedFormat(builder: MutableEntityStorage, configLocation: JpsProjectConfigLocation) {
|
||||
@@ -280,7 +279,7 @@ open class JpsLibraryEntitiesSerializer(override val fileUrl: VirtualFileUrl,
|
||||
"excluded" -> excludedRoots.addAll(
|
||||
childElement.getChildren(JpsJavaModelSerializerExtension.ROOT_TAG)
|
||||
.map { it.getAttributeValueStrict(JpsModuleRootModelSerializer.URL_ATTRIBUTE) }
|
||||
.map { virtualFileManager.fromUrl(it) }
|
||||
.map { virtualFileManager.getOrCreateFromUri(it) }
|
||||
)
|
||||
PROPERTIES_TAG -> {
|
||||
properties = JDOMUtil.write(childElement)
|
||||
@@ -292,7 +291,7 @@ open class JpsLibraryEntitiesSerializer(override val fileUrl: VirtualFileUrl,
|
||||
for (rootTag in childElement.getChildren(JpsJavaModelSerializerExtension.ROOT_TAG)) {
|
||||
val url = rootTag.getAttributeValueStrict(JpsModuleRootModelSerializer.URL_ATTRIBUTE)
|
||||
val inclusionOptions = jarDirectories[Pair(rootType, url)] ?: LibraryRoot.InclusionOptions.ROOT_ITSELF
|
||||
roots.add(LibraryRoot(virtualFileManager.fromUrl(url), libraryRootTypes[rootType]!!, inclusionOptions))
|
||||
roots.add(LibraryRoot(virtualFileManager.getOrCreateFromUri(url), libraryRootTypes[rootType]!!, inclusionOptions))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,13 +81,13 @@ object JpsProjectEntitiesLoader {
|
||||
val externalModuleListSerializer = ExternalModuleListSerializer(externalStorageRoot, context)
|
||||
|
||||
val entityTypeSerializers: MutableList<JpsFileEntityTypeSerializer<*>> = mutableListOf(
|
||||
JpsLibrariesExternalFileSerializer(librariesExternalStorageFile, virtualFileManager.fromUrl(librariesDirectoryUrl),
|
||||
JpsLibrariesExternalFileSerializer(librariesExternalStorageFile, virtualFileManager.getOrCreateFromUri(librariesDirectoryUrl),
|
||||
context.fileInDirectorySourceNames))
|
||||
|
||||
val artifactsExternalStorageFile = JpsProjectFileEntitySource.ExactFile(externalStorageRoot.append("project/artifacts.xml"),
|
||||
configLocation)
|
||||
val artifactsExternalFileSerializer = JpsArtifactsExternalFileSerializer(artifactsExternalStorageFile,
|
||||
virtualFileManager.fromUrl(artifactsDirectoryUrl),
|
||||
virtualFileManager.getOrCreateFromUri(artifactsDirectoryUrl),
|
||||
context.fileInDirectorySourceNames,
|
||||
virtualFileManager)
|
||||
entityTypeSerializers += artifactsExternalFileSerializer
|
||||
|
||||
@@ -111,7 +111,7 @@ class JpsProjectSerializersImpl(directorySerializersFactories: List<JpsDirectory
|
||||
}
|
||||
return files.map {
|
||||
val fileName = it.fileName.toString()
|
||||
val directoryUrl = virtualFileManager.fromUrl(factory.directoryUrl)
|
||||
val directoryUrl = virtualFileManager.getOrCreateFromUri(factory.directoryUrl)
|
||||
val entitySource =
|
||||
bindExistingSource(fileInDirectorySourceNames, factory.entityClass, fileName, directoryUrl) ?: createFileInDirectorySource(
|
||||
directoryUrl, fileName)
|
||||
@@ -154,7 +154,7 @@ class JpsProjectSerializersImpl(directorySerializersFactories: List<JpsDirectory
|
||||
|
||||
val factory = directorySerializerFactoriesByUrl[PathUtilRt.getParentPath(addedFileUrl)]
|
||||
val newFileSerializer = factory?.createSerializer(addedFileUrl, createFileInDirectorySource(
|
||||
virtualFileManager.fromUrl(factory.directoryUrl), PathUtilRt.getFileName(addedFileUrl)), virtualFileManager)
|
||||
virtualFileManager.getOrCreateFromUri(factory.directoryUrl), PathUtilRt.getFileName(addedFileUrl)), virtualFileManager)
|
||||
if (newFileSerializer != null) {
|
||||
newFileSerializers.add(newFileSerializer)
|
||||
serializerToDirectoryFactory[newFileSerializer] = factory
|
||||
@@ -752,7 +752,7 @@ class JpsProjectSerializersImpl(directorySerializersFactories: List<JpsDirectory
|
||||
}
|
||||
}
|
||||
}
|
||||
val newSerializer = moduleListSerializer.createSerializer(internalSource, virtualFileManager.fromUrl(url), moduleGroup)
|
||||
val newSerializer = moduleListSerializer.createSerializer(internalSource, virtualFileManager.getOrCreateFromUri(url), moduleGroup)
|
||||
fileSerializersByUrl.put(url, newSerializer)
|
||||
moduleSerializers[newSerializer] = moduleListSerializer
|
||||
affectedModuleListSerializers.add(moduleListSerializer)
|
||||
@@ -897,7 +897,7 @@ class JpsProjectSerializersImpl(directorySerializersFactories: List<JpsDirectory
|
||||
|
||||
val source =
|
||||
if (currentSource != null && fileIdToFileName.get(currentSource.fileNameId) == fileName) currentSource
|
||||
else createFileInDirectorySource(virtualFileManager.fromUrl(factory.directoryUrl), fileName)
|
||||
else createFileInDirectorySource(virtualFileManager.getOrCreateFromUri(factory.directoryUrl), fileName)
|
||||
factory.createSerializer("${factory.directoryUrl}/$fileName", source, virtualFileManager) to entityMap
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ class JpsSdkEntitySerializer(val entitySource: JpsGlobalFileEntitySource, privat
|
||||
}
|
||||
val sdkVersion = sdkElement.getChild(ELEMENT_VERSION)?.getAttributeValue(ATTRIBUTE_VALUE)
|
||||
val homePath = sdkElement.getChild(ELEMENT_HOMEPATH).getAttributeValueStrict(ATTRIBUTE_VALUE)
|
||||
val homePathVfu = virtualFileManager.fromUrl(homePath)
|
||||
val homePathVfu = virtualFileManager.getOrCreateFromUri(homePath)
|
||||
|
||||
val roots = readRoots(sdkElement.getChildTagStrict(ELEMENT_ROOTS), virtualFileManager)
|
||||
|
||||
@@ -115,7 +115,7 @@ class JpsSdkEntitySerializer(val entitySource: JpsGlobalFileEntitySource, privat
|
||||
val composite = composites[0]
|
||||
for (rootTag in composite.getChildren(JpsJavaModelSerializerExtension.ROOT_TAG)) {
|
||||
val url = rootTag.getAttributeValueStrict(JpsModuleRootModelSerializer.URL_ATTRIBUTE)
|
||||
result.add(SdkRoot(virtualFileManager.fromUrl(url), rootTypes[rootType]!!))
|
||||
result.add(SdkRoot(virtualFileManager.getOrCreateFromUri(url), rootTypes[rootType]!!))
|
||||
}
|
||||
}
|
||||
return result
|
||||
|
||||
@@ -4,7 +4,6 @@ package com.intellij.platform.workspace.jps.serialization.impl
|
||||
import com.intellij.java.workspace.entities.*
|
||||
import com.intellij.openapi.diagnostic.logger
|
||||
import com.intellij.openapi.util.JDOMUtil
|
||||
import com.intellij.platform.diagnostic.telemetry.helpers.addElapsedTimeMillis
|
||||
import com.intellij.platform.diagnostic.telemetry.helpers.addMeasuredTimeMillis
|
||||
import com.intellij.platform.workspace.jps.*
|
||||
import com.intellij.platform.workspace.jps.entities.*
|
||||
@@ -485,7 +484,7 @@ internal open class ModuleImlFileEntitiesSerializer(internal val modulePath: Mod
|
||||
val isDumb = contentElement.getAttributeValue(DUMB_ATTRIBUTE).toBoolean()
|
||||
val contentRoot = alreadyLoadedContentRoots[contentRootUrlString]
|
||||
if (contentRoot == null) {
|
||||
val contentRootUrl = contentRootUrlString.let { virtualFileManager.fromUrl(it) }
|
||||
val contentRootUrl = contentRootUrlString.let { virtualFileManager.getOrCreateFromUri(it) }
|
||||
val excludePatterns = contentElement.getChildren(EXCLUDE_PATTERN_TAG).map { it.getAttributeValue(EXCLUDE_PATTERN_ATTRIBUTE) }
|
||||
val source = if (isDumb) OrphanageWorkerEntitySource else contentRootEntitySource
|
||||
ContentRootEntity(contentRootUrl, excludePatterns, source) {
|
||||
@@ -534,7 +533,7 @@ internal open class ModuleImlFileEntitiesSerializer(internal val modulePath: Mod
|
||||
): List<ExcludeUrlEntity> {
|
||||
return contentElement
|
||||
.getChildren(EXCLUDE_FOLDER_TAG)
|
||||
.map { virtualFileManager.fromUrl(it.getAttributeValueStrict(URL_ATTRIBUTE)) }
|
||||
.map { virtualFileManager.getOrCreateFromUri(it.getAttributeValueStrict(URL_ATTRIBUTE)) }
|
||||
.map { exclude ->
|
||||
ExcludeUrlEntity(exclude, entitySource)
|
||||
}
|
||||
@@ -552,7 +551,7 @@ internal open class ModuleImlFileEntitiesSerializer(internal val modulePath: Mod
|
||||
?: (if (isTestSource) JAVA_TEST_ROOT_TYPE_ID else JAVA_SOURCE_ROOT_TYPE_ID)
|
||||
|
||||
val sourceRoot = SourceRootEntity(
|
||||
url = virtualFileManager.fromUrl(sourceRootElement.getAttributeValueStrict(URL_ATTRIBUTE)),
|
||||
url = virtualFileManager.getOrCreateFromUri(sourceRootElement.getAttributeValueStrict(URL_ATTRIBUTE)),
|
||||
rootType = type,
|
||||
entitySource = sourceRootSource
|
||||
)
|
||||
@@ -1020,7 +1019,7 @@ internal open class ModuleListSerializerImpl(override val fileUrl: String,
|
||||
override fun loadFileList(reader: JpsFileContentReader, virtualFileManager: VirtualFileUrlManager): List<Pair<VirtualFileUrl, String?>> {
|
||||
val moduleManagerTag = reader.loadComponent(fileUrl, componentName) ?: return emptyList()
|
||||
return ModulePath.getPathsToModuleFiles(moduleManagerTag).map {
|
||||
virtualFileManager.fromUrl("file://${it.path}") to it.group
|
||||
virtualFileManager.getOrCreateFromUri("file://${it.path}") to it.group
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,9 +28,9 @@ class ContentRootEqualityTest {
|
||||
val builder1 = MutableEntityStorage.create()
|
||||
builder1.addEntity(ModuleEntity("MyName", emptyList(), MySource) {
|
||||
contentRoots = listOf(
|
||||
ContentRootEntity(virtualFileManager.fromUrl("/123"), emptyList(), MySource) {
|
||||
ContentRootEntity(virtualFileManager.getOrCreateFromUri("/123"), emptyList(), MySource) {
|
||||
sourceRoots = listOf(
|
||||
SourceRootEntity(virtualFileManager.fromUrl("/data"), "Type", AnotherSource),
|
||||
SourceRootEntity(virtualFileManager.getOrCreateFromUri("/data"), "Type", AnotherSource),
|
||||
)
|
||||
},
|
||||
)
|
||||
@@ -39,8 +39,8 @@ class ContentRootEqualityTest {
|
||||
val builder2 = MutableEntityStorage.create()
|
||||
builder2.addEntity(ModuleEntity("MyName", emptyList(), MySource) {
|
||||
contentRoots = listOf(
|
||||
ContentRootEntity(virtualFileManager.fromUrl("/123"), emptyList(), MySource) {
|
||||
this.excludedUrls = listOf(ExcludeUrlEntity(virtualFileManager.fromUrl("/myRoot"), this.entitySource))
|
||||
ContentRootEntity(virtualFileManager.getOrCreateFromUri("/123"), emptyList(), MySource) {
|
||||
this.excludedUrls = listOf(ExcludeUrlEntity(virtualFileManager.getOrCreateFromUri("/myRoot"), this.entitySource))
|
||||
},
|
||||
)
|
||||
})
|
||||
|
||||
@@ -9,7 +9,6 @@ import com.intellij.platform.workspace.jps.entities.ContentRootEntity
|
||||
import com.intellij.platform.workspace.jps.entities.ExcludeUrlEntity
|
||||
import com.intellij.platform.workspace.jps.entities.ModuleEntity
|
||||
import com.intellij.platform.workspace.jps.entities.SourceRootEntity
|
||||
import com.intellij.platform.workspace.storage.EntityStorage
|
||||
import com.intellij.platform.workspace.storage.entities
|
||||
import com.intellij.platform.workspace.storage.testEntities.entities.MySource
|
||||
import com.intellij.platform.workspace.storage.url.VirtualFileUrlManager
|
||||
@@ -46,7 +45,7 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `adding content root`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
@@ -89,7 +88,7 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `adding content root to existing one duplicate`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
@@ -135,8 +134,8 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `adding content root to existing one`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val url2 = virtualFileManager.fromUrl("/1234")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
val url2 = virtualFileManager.getOrCreateFromUri("/1234")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
@@ -180,7 +179,7 @@ class EntitiesOrphanageTest {
|
||||
|
||||
@Test
|
||||
fun `adding content root to removed module`() = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
writeAction {
|
||||
EntitiesOrphanage.getInstance(projectModel.project).update { builder ->
|
||||
builder addEntity ModuleEntity("MyName", emptyList(), OrphanageWorkerEntitySource) {
|
||||
@@ -213,7 +212,7 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `do not add orphan content root`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
@@ -258,7 +257,7 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `add content root to existing module`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
@@ -302,8 +301,8 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `add content root to existing module and module remain in orphanage`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val url2 = virtualFileManager.fromUrl("/1233")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
val url2 = virtualFileManager.getOrCreateFromUri("/1233")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
@@ -351,8 +350,8 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `adding source root`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val sourceUrl = virtualFileManager.fromUrl("/123/source")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
val sourceUrl = virtualFileManager.getOrCreateFromUri("/123/source")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
@@ -399,8 +398,8 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `adding source root to existing one duplicate`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val sourceUrl = virtualFileManager.fromUrl("/123/source")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
val sourceUrl = virtualFileManager.getOrCreateFromUri("/123/source")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
@@ -449,9 +448,9 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `adding source root to existing one`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val sourceUrl1 = virtualFileManager.fromUrl("/123/source1")
|
||||
val sourceUrl2 = virtualFileManager.fromUrl("/123/source2")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
val sourceUrl1 = virtualFileManager.getOrCreateFromUri("/123/source1")
|
||||
val sourceUrl2 = virtualFileManager.getOrCreateFromUri("/123/source2")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
@@ -500,8 +499,8 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `adding source root to removed module`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val sourceUrl = virtualFileManager.fromUrl("/123/source1")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
val sourceUrl = virtualFileManager.getOrCreateFromUri("/123/source1")
|
||||
writeAction {
|
||||
EntitiesOrphanage.getInstance(projectModel.project).update { builder ->
|
||||
builder addEntity ModuleEntity("MyName", emptyList(), OrphanageWorkerEntitySource) {
|
||||
@@ -538,8 +537,8 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `adding exclude root`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val excludeUrl = virtualFileManager.fromUrl("/123/source")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
val excludeUrl = virtualFileManager.getOrCreateFromUri("/123/source")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
@@ -586,8 +585,8 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `adding exclude root to existing one duplicate`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val excludeUrl = virtualFileManager.fromUrl("/123/source")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
val excludeUrl = virtualFileManager.getOrCreateFromUri("/123/source")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
@@ -636,9 +635,9 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `adding exclude root to existing one`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val excludeUrl1 = virtualFileManager.fromUrl("/123/exclude1")
|
||||
val excludeUrl2 = virtualFileManager.fromUrl("/123/exclude2")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
val excludeUrl1 = virtualFileManager.getOrCreateFromUri("/123/exclude1")
|
||||
val excludeUrl2 = virtualFileManager.getOrCreateFromUri("/123/exclude2")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
@@ -687,8 +686,8 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `adding exclude root to removed module`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val excludeUrl = virtualFileManager.fromUrl("/123/source1")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
val excludeUrl = virtualFileManager.getOrCreateFromUri("/123/source1")
|
||||
writeAction {
|
||||
EntitiesOrphanage.getInstance(projectModel.project).update { builder ->
|
||||
builder addEntity ModuleEntity("MyName", emptyList(), OrphanageWorkerEntitySource) {
|
||||
@@ -725,9 +724,9 @@ class EntitiesOrphanageTest {
|
||||
@ParameterizedTest
|
||||
@ValueSource(booleans = [true, false])
|
||||
fun `move both source and exclude root`(orphanBeforeUpdate: Boolean) = timeoutRunBlocking {
|
||||
val url = virtualFileManager.fromUrl("/123")
|
||||
val excludeUrl = virtualFileManager.fromUrl("/123/source1")
|
||||
val sourceUrl = virtualFileManager.fromUrl("/123/source2")
|
||||
val url = virtualFileManager.getOrCreateFromUri("/123")
|
||||
val excludeUrl = virtualFileManager.getOrCreateFromUri("/123/source1")
|
||||
val sourceUrl = virtualFileManager.getOrCreateFromUri("/123/source2")
|
||||
writeAction {
|
||||
// List of operations as functions to support parametrized test. We call them in different order
|
||||
val operations = listOf(
|
||||
|
||||
@@ -258,7 +258,7 @@ class ModuleBridgesTest {
|
||||
moduleManager.disposeModule(module)
|
||||
}
|
||||
|
||||
val moduleDirUrl = virtualFileManager.fromUrl(VfsUtilCore.pathToUrl(project.basePath!!))
|
||||
val moduleDirUrl = virtualFileManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(project.basePath!!))
|
||||
val projectModel = WorkspaceModel.getInstance(project)
|
||||
|
||||
projectModel.updateProjectModel {
|
||||
@@ -289,7 +289,7 @@ class ModuleBridgesTest {
|
||||
moduleManager.disposeModule(module)
|
||||
}
|
||||
|
||||
val moduleDirUrl = virtualFileManager.fromUrl(VfsUtilCore.pathToUrl(project.basePath!!))
|
||||
val moduleDirUrl = virtualFileManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(project.basePath!!))
|
||||
val projectModel = WorkspaceModel.getInstance(project)
|
||||
|
||||
project.messageBus.connect(disposableRule.disposable).subscribe(WorkspaceModelTopics.CHANGED,
|
||||
@@ -377,7 +377,7 @@ class ModuleBridgesTest {
|
||||
val moduleManager = ModuleManager.getInstance(project)
|
||||
|
||||
val dir = File(project.basePath, "dir")
|
||||
val moduleDirUrl = virtualFileManager.fromUrl(VfsUtilCore.pathToUrl(project.basePath!!))
|
||||
val moduleDirUrl = virtualFileManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(project.basePath!!))
|
||||
val projectModel = WorkspaceModel.getInstance(project)
|
||||
|
||||
val projectLocation = getJpsProjectConfigLocation(project)!!
|
||||
|
||||
@@ -59,20 +59,20 @@ class ReplaceBySourceTest {
|
||||
|
||||
|
||||
val moduleEntity = builder addEntity ModuleEntity("name", emptyList(), source)
|
||||
val contentRootEntity = builder addEntity ContentRootEntity(virtualFileManager.fromUrl(fileUrl), emptyList<@NlsSafe String>(),
|
||||
val contentRootEntity = builder addEntity ContentRootEntity(virtualFileManager.getOrCreateFromUri(fileUrl), emptyList<@NlsSafe String>(),
|
||||
moduleEntity.entitySource) {
|
||||
module = moduleEntity
|
||||
}
|
||||
builder addEntity SourceRootEntity(virtualFileManager.fromUrl(fileUrl2), "", source) {
|
||||
builder addEntity SourceRootEntity(virtualFileManager.getOrCreateFromUri(fileUrl2), "", source) {
|
||||
contentRoot = contentRootEntity
|
||||
}
|
||||
builder addEntity SourceRootEntity(virtualFileManager.fromUrl(fileUrl3), "", source) {
|
||||
builder addEntity SourceRootEntity(virtualFileManager.getOrCreateFromUri(fileUrl3), "", source) {
|
||||
contentRoot = contentRootEntity
|
||||
}
|
||||
builder addEntity SourceRootEntity(virtualFileManager.fromUrl(fileUrl4), "", source) {
|
||||
builder addEntity SourceRootEntity(virtualFileManager.getOrCreateFromUri(fileUrl4), "", source) {
|
||||
contentRoot = contentRootEntity
|
||||
}
|
||||
builder addEntity SourceRootEntity(virtualFileManager.fromUrl(fileUrl5), "", source) {
|
||||
builder addEntity SourceRootEntity(virtualFileManager.getOrCreateFromUri(fileUrl5), "", source) {
|
||||
contentRoot = contentRootEntity
|
||||
}
|
||||
return builder
|
||||
|
||||
@@ -33,8 +33,8 @@ class VirtualFileUrlManagerTest {
|
||||
}
|
||||
|
||||
private fun assertIsEqualOrParentOf(expectedResult: Boolean, parentString: String, childString: String) {
|
||||
val parent = virtualFileManager.fromUrl(parentString)
|
||||
val child = virtualFileManager.fromUrl(childString)
|
||||
val parent = virtualFileManager.getOrCreateFromUri(parentString)
|
||||
val child = virtualFileManager.getOrCreateFromUri(childString)
|
||||
Assert.assertTrue("'$parent'.isEqualOrParentOf('$parent')", parent.isEqualOrParentOf(parent))
|
||||
Assert.assertTrue("'$child'.isEqualOrParentOf('$child')", child.isEqualOrParentOf(child))
|
||||
Assert.assertEquals(
|
||||
|
||||
@@ -264,7 +264,7 @@ class WorkspaceModelBenchmarksPerformanceTest {
|
||||
val module = ModuleEntity("data", emptyList(), MySource)
|
||||
storageBuilder.addEntity(module)
|
||||
repeat(1_000) {
|
||||
storageBuilder.addEntity(ContentRootEntity(manager.fromUrl(VfsUtilCore.pathToUrl("$newFolder/url${it}")), emptyList(), MySource) {
|
||||
storageBuilder.addEntity(ContentRootEntity(manager.getOrCreateFromUri(VfsUtilCore.pathToUrl("$newFolder/url${it}")), emptyList(), MySource) {
|
||||
this.module = module
|
||||
})
|
||||
}
|
||||
@@ -273,7 +273,7 @@ class WorkspaceModelBenchmarksPerformanceTest {
|
||||
val replaceModule = ModuleEntity("data", emptyList(), MySource)
|
||||
replaceStorage.addEntity(replaceModule)
|
||||
repeat(1_000) {
|
||||
replaceStorage.addEntity(ContentRootEntity(manager.fromUrl(VfsUtilCore.pathToUrl("$newFolder/url${it}")), emptyList(), MySource) {
|
||||
replaceStorage.addEntity(ContentRootEntity(manager.getOrCreateFromUri(VfsUtilCore.pathToUrl("$newFolder/url${it}")), emptyList(), MySource) {
|
||||
this.module = replaceModule
|
||||
})
|
||||
}
|
||||
@@ -313,7 +313,7 @@ class WorkspaceModelBenchmarksPerformanceTest {
|
||||
EntitiesOrphanage.getInstance(projectModel.project).update {
|
||||
repeat(10_000) { counter ->
|
||||
it addEntity ModuleEntity("Module$counter", emptyList(), OrphanageWorkerEntitySource) {
|
||||
contentRoots = listOf(ContentRootEntity(manager.fromUrl(VfsUtilCore.pathToUrl("$newFolder/data$counter")), emptyList(), MySource))
|
||||
contentRoots = listOf(ContentRootEntity(manager.getOrCreateFromUri(VfsUtilCore.pathToUrl("$newFolder/data$counter")), emptyList(), MySource))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -350,13 +350,13 @@ class WorkspaceModelBenchmarksPerformanceTest {
|
||||
repeat(10_000) { counter ->
|
||||
it addEntity ModuleEntity("Module$counter", emptyList(), OrphanageWorkerEntitySource) {
|
||||
contentRoots = listOf(
|
||||
ContentRootEntity(manager.fromUrl("$newFolder/data$counter"), emptyList(), OrphanageWorkerEntitySource) {
|
||||
ContentRootEntity(manager.getOrCreateFromUri("$newFolder/data$counter"), emptyList(), OrphanageWorkerEntitySource) {
|
||||
this.sourceRoots = listOf(
|
||||
SourceRootEntity(manager.fromUrl("$newFolder/one$counter"), "", MySource),
|
||||
SourceRootEntity(manager.fromUrl("$newFolder/two$counter"), "", MySource),
|
||||
SourceRootEntity(manager.fromUrl("$newFolder/three$counter"), "", MySource),
|
||||
SourceRootEntity(manager.fromUrl("$newFolder/four$counter"), "", MySource),
|
||||
SourceRootEntity(manager.fromUrl("$newFolder/five$counter"), "", MySource),
|
||||
SourceRootEntity(manager.getOrCreateFromUri("$newFolder/one$counter"), "", MySource),
|
||||
SourceRootEntity(manager.getOrCreateFromUri("$newFolder/two$counter"), "", MySource),
|
||||
SourceRootEntity(manager.getOrCreateFromUri("$newFolder/three$counter"), "", MySource),
|
||||
SourceRootEntity(manager.getOrCreateFromUri("$newFolder/four$counter"), "", MySource),
|
||||
SourceRootEntity(manager.getOrCreateFromUri("$newFolder/five$counter"), "", MySource),
|
||||
)
|
||||
})
|
||||
}
|
||||
@@ -366,7 +366,7 @@ class WorkspaceModelBenchmarksPerformanceTest {
|
||||
WorkspaceModel.getInstance(projectModel.project).updateProjectModel {
|
||||
repeat(10_000) { counter ->
|
||||
it addEntity ModuleEntity("Module$counter", emptyList(), MySource) {
|
||||
contentRoots = listOf(ContentRootEntity(manager.fromUrl("$newFolder/data$counter"), emptyList(), MySource))
|
||||
contentRoots = listOf(ContentRootEntity(manager.getOrCreateFromUri("$newFolder/data$counter"), emptyList(), MySource))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -397,9 +397,9 @@ class WorkspaceModelBenchmarksPerformanceTest {
|
||||
repeat(10_000) { counter ->
|
||||
it addEntity ModuleEntity("Module$counter", emptyList(), OrphanageWorkerEntitySource) {
|
||||
contentRoots = List(10) { contentCounter ->
|
||||
ContentRootEntity(manager.fromUrl(VfsUtilCore.pathToUrl("$newFolder/data$contentCounter$counter")), emptyList(), OrphanageWorkerEntitySource) {
|
||||
ContentRootEntity(manager.getOrCreateFromUri(VfsUtilCore.pathToUrl("$newFolder/data$contentCounter$counter")), emptyList(), OrphanageWorkerEntitySource) {
|
||||
sourceRoots = List(10) { sourceCounter ->
|
||||
SourceRootEntity(manager.fromUrl(VfsUtilCore.pathToUrl("$newFolder/one$sourceCounter$contentCounter$counter")), "", MySource)
|
||||
SourceRootEntity(manager.getOrCreateFromUri(VfsUtilCore.pathToUrl("$newFolder/one$sourceCounter$contentCounter$counter")), "", MySource)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -411,7 +411,7 @@ class WorkspaceModelBenchmarksPerformanceTest {
|
||||
repeat(10_000) { counter ->
|
||||
it addEntity ModuleEntity("Module$counter", emptyList(), MySource) {
|
||||
contentRoots = List(10) { contentCounter ->
|
||||
ContentRootEntity(manager.fromUrl(VfsUtilCore.pathToUrl("$newFolder/data$contentCounter$counter")), emptyList(), OrphanageWorkerEntitySource)
|
||||
ContentRootEntity(manager.getOrCreateFromUri(VfsUtilCore.pathToUrl("$newFolder/data$contentCounter$counter")), emptyList(), OrphanageWorkerEntitySource)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,11 +54,11 @@ class JpsGlobalEntitiesSavingTest {
|
||||
ApplicationManager.getApplication().invokeAndWait {
|
||||
runWriteAction {
|
||||
workspaceModel.updateModel("Test update") { builder ->
|
||||
var libraryRoot = LibraryRoot(virtualFileManager.fromUrl("/a/b/one.txt"), LibraryRootTypeId.COMPILED)
|
||||
var libraryRoot = LibraryRoot(virtualFileManager.getOrCreateFromUri("/a/b/one.txt"), LibraryRootTypeId.COMPILED)
|
||||
val gradleLibraryEntity = LibraryEntity(librariesNames.get(0), globalLibraryTableId, listOf(libraryRoot), entitySource)
|
||||
builder.addEntity(gradleLibraryEntity)
|
||||
|
||||
libraryRoot = LibraryRoot(virtualFileManager.fromUrl("/a/c/test.jar"), LibraryRootTypeId.SOURCES)
|
||||
libraryRoot = LibraryRoot(virtualFileManager.getOrCreateFromUri("/a/c/test.jar"), LibraryRootTypeId.SOURCES)
|
||||
val mavenLibraryEntity = LibraryEntity(librariesNames.get(1), globalLibraryTableId, listOf(libraryRoot), entitySource)
|
||||
builder.addEntity(mavenLibraryEntity)
|
||||
}
|
||||
@@ -90,16 +90,16 @@ class JpsGlobalEntitiesSavingTest {
|
||||
ApplicationManager.getApplication().invokeAndWait {
|
||||
runWriteAction {
|
||||
workspaceModel.updateModel("Test update") { builder ->
|
||||
var sdkRoots = listOf(SdkRoot(virtualFileManager.fromUrl("/Contents/Home!/java.compiler"), SdkRootTypeId(OrderRootType.CLASSES.customName)),
|
||||
SdkRoot(virtualFileManager.fromUrl("/lib/src.zip!/java.se"), SdkRootTypeId(OrderRootType.SOURCES.customName)))
|
||||
var sdkRoots = listOf(SdkRoot(virtualFileManager.getOrCreateFromUri("/Contents/Home!/java.compiler"), SdkRootTypeId(OrderRootType.CLASSES.customName)),
|
||||
SdkRoot(virtualFileManager.getOrCreateFromUri("/lib/src.zip!/java.se"), SdkRootTypeId(OrderRootType.SOURCES.customName)))
|
||||
val jbrSdkEntity = SdkEntity(sdkNames[0], "JavaSDK", sdkRoots, "", entitySource) {
|
||||
this.homePath = virtualFileManager.fromUrl("/Library/Java/JavaVirtualMachines/jbr-2048/Contents/Home")
|
||||
this.homePath = virtualFileManager.getOrCreateFromUri("/Library/Java/JavaVirtualMachines/jbr-2048/Contents/Home")
|
||||
}
|
||||
builder.addEntity(jbrSdkEntity)
|
||||
|
||||
sdkRoots = listOf(SdkRoot(virtualFileManager.fromUrl("/Contents/plugins/java/lib/resources/jdkAnnotations.jar"), SdkRootTypeId(AnnotationOrderRootType.getInstance().customName)))
|
||||
sdkRoots = listOf(SdkRoot(virtualFileManager.getOrCreateFromUri("/Contents/plugins/java/lib/resources/jdkAnnotations.jar"), SdkRootTypeId(AnnotationOrderRootType.getInstance().customName)))
|
||||
val amazonSdkEntity = SdkEntity(sdkNames[1], "JavaSDK", sdkRoots, "", entitySource) {
|
||||
this.homePath = virtualFileManager.fromUrl("/Library/Java/JavaVirtualMachines/amazon.crevetto/Contents/Home")
|
||||
this.homePath = virtualFileManager.getOrCreateFromUri("/Library/Java/JavaVirtualMachines/amazon.crevetto/Contents/Home")
|
||||
}
|
||||
builder.addEntity(amazonSdkEntity)
|
||||
}
|
||||
|
||||
@@ -95,9 +95,9 @@ class JpsGlobalEntitiesSyncTest {
|
||||
val virtualFileManager = VirtualFileUrlManager.getInstance(project)
|
||||
WorkspaceModel.getInstance(project).updateProjectModel("Test update") { builder ->
|
||||
val projectSdkEntity = SdkEntity("oracle-1.8", "JavaSDK",
|
||||
listOf(SdkRoot(virtualFileManager.fromUrl("/Library/Java/JavaVirtualMachines/oracle-1.8/Contents/Home!/java.base"), SdkRootTypeId("sourcePath"))),
|
||||
listOf(SdkRoot(virtualFileManager.getOrCreateFromUri("/Library/Java/JavaVirtualMachines/oracle-1.8/Contents/Home!/java.base"), SdkRootTypeId("sourcePath"))),
|
||||
"", entitySource) {
|
||||
homePath = virtualFileManager.fromUrl("/Library/Java/JavaVirtualMachines/oracle-1.8/Contents/Home")
|
||||
homePath = virtualFileManager.getOrCreateFromUri("/Library/Java/JavaVirtualMachines/oracle-1.8/Contents/Home")
|
||||
version = "1.8"
|
||||
}
|
||||
builder.addEntity(projectSdkEntity)
|
||||
@@ -135,8 +135,8 @@ class JpsGlobalEntitiesSyncTest {
|
||||
val globalVfu = sdkEntities.find { it.name == projectSdk.name }!!.roots[0].url
|
||||
|
||||
assertEquals(globalVfu.url, projectVfu.url)
|
||||
assertSame(projectVfu, projectVirtualFileUrlManager.fromUrl(projectVfu.url))
|
||||
assertSame(globalVfu, globalVirtualFileUrlManager.fromUrl(globalVfu.url))
|
||||
assertSame(projectVfu, projectVirtualFileUrlManager.getOrCreateFromUri(projectVfu.url))
|
||||
assertSame(globalVfu, globalVirtualFileUrlManager.getOrCreateFromUri(globalVfu.url))
|
||||
assertNotSame(globalVfu, projectVfu)
|
||||
}
|
||||
}
|
||||
@@ -183,7 +183,7 @@ class JpsGlobalEntitiesSyncTest {
|
||||
val gradleLibraryEntity = LibraryEntity("com.gradle",
|
||||
LibraryTableId.GlobalLibraryTableId(LibraryTablesRegistrar.APPLICATION_LEVEL),
|
||||
listOf(
|
||||
LibraryRoot(virtualFileManager.fromUrl("/a/b/one.txt"), LibraryRootTypeId.SOURCES)),
|
||||
LibraryRoot(virtualFileManager.getOrCreateFromUri("/a/b/one.txt"), LibraryRootTypeId.SOURCES)),
|
||||
entitySource)
|
||||
builder.addEntity(gradleLibraryEntity)
|
||||
globalLibrariesNames.add(gradleLibraryEntity.name)
|
||||
@@ -225,8 +225,8 @@ class JpsGlobalEntitiesSyncTest {
|
||||
val globalVfu = globalLibraryEntities[projectLibrary.name]!!.roots[0].url
|
||||
|
||||
assertEquals(globalVfu.url, projectVfu.url)
|
||||
assertSame(projectVfu, projectVirtualFileUrlManager.fromUrl(projectVfu.url))
|
||||
assertSame(globalVfu, globalVirtualFileUrlManager.fromUrl(globalVfu.url))
|
||||
assertSame(projectVfu, projectVirtualFileUrlManager.getOrCreateFromUri(projectVfu.url))
|
||||
assertSame(globalVfu, globalVirtualFileUrlManager.getOrCreateFromUri(globalVfu.url))
|
||||
assertNotSame(globalVfu, projectVfu)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ class JpsProjectSaveAfterChangesTest {
|
||||
fun `add library and check vfu index not empty`() {
|
||||
checkSaveProjectAfterChange("directoryBased/addLibrary", "fileBased/addLibrary") { builder, _, _, configLocation ->
|
||||
val root = LibraryRoot(
|
||||
virtualFileManager.fromUrl("jar://${JpsPathUtil.urlToPath(configLocation.baseDirectoryUrlString)}/lib/junit2.jar!/"),
|
||||
virtualFileManager.getOrCreateFromUri("jar://${JpsPathUtil.urlToPath(configLocation.baseDirectoryUrlString)}/lib/junit2.jar!/"),
|
||||
LibraryRootTypeId.COMPILED)
|
||||
val source = JpsEntitySourceFactory.createJpsEntitySourceForProjectLibrary(configLocation)
|
||||
builder addEntity LibraryEntity("junit2", LibraryTableId.ProjectLibraryTableId, listOf(root), source)
|
||||
@@ -151,7 +151,7 @@ class JpsProjectSaveAfterChangesTest {
|
||||
checkSaveProjectAfterChange("directoryBased/modifyLibrary", "fileBased/modifyLibrary") { builder, _, _, configLocation ->
|
||||
val junitLibrary = builder.entities(LibraryEntity::class.java).first { it.name == "junit" }
|
||||
val root = LibraryRoot(
|
||||
virtualFileManager.fromUrl("jar://${JpsPathUtil.urlToPath(configLocation.baseDirectoryUrlString)}/lib/junit2.jar!/"),
|
||||
virtualFileManager.getOrCreateFromUri("jar://${JpsPathUtil.urlToPath(configLocation.baseDirectoryUrlString)}/lib/junit2.jar!/"),
|
||||
LibraryRootTypeId.COMPILED)
|
||||
builder.modifyEntity(junitLibrary) {
|
||||
roots = mutableListOf(root)
|
||||
|
||||
@@ -62,7 +62,7 @@ class JpsProjectSaveAllEntitiesTest {
|
||||
val projectDir = FileUtil.createTempDirectory("jpsSaveTest", null)
|
||||
val (serializers, configLocation) = createProjectSerializers(projectDir, virtualFileManager)
|
||||
val builder = MutableEntityStorage.create()
|
||||
val jarUrl = virtualFileManager.fromUrl("jar://${projectDir.systemIndependentPath}/lib/foo.jar!/")
|
||||
val jarUrl = virtualFileManager.getOrCreateFromUri("jar://${projectDir.systemIndependentPath}/lib/foo.jar!/")
|
||||
val libraryRoot = LibraryRoot(jarUrl, LibraryRootTypeId.COMPILED)
|
||||
val source = JpsEntitySourceFactory.createJpsEntitySourceForProjectLibrary(projectDir.asConfigLocation(virtualFileManager))
|
||||
builder addEntity LibraryEntity("foo", LibraryTableId.ProjectLibraryTableId, listOf(libraryRoot), source)
|
||||
|
||||
@@ -49,7 +49,7 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val moduleEntity = builder.entities(ModuleEntity::class.java).single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
val source = (moduleEntity.entitySource as JpsImportedEntitySource).internalFile
|
||||
builder addEntity ContentRootEntity(virtualFileManager.fromUrl(url), emptyList<@NlsSafe String>(), source) {
|
||||
builder addEntity ContentRootEntity(virtualFileManager.getOrCreateFromUri(url), emptyList<@NlsSafe String>(), source) {
|
||||
module = moduleEntity
|
||||
}
|
||||
}
|
||||
@@ -117,7 +117,7 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val moduleEntity = builder.entities(ModuleEntity::class.java).single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
val source = (moduleEntity.entitySource as JpsImportedEntitySource).internalFile
|
||||
builder addEntity ContentRootEntity(virtualFileManager.fromUrl(url), emptyList<@NlsSafe String>(), source) {
|
||||
builder addEntity ContentRootEntity(virtualFileManager.getOrCreateFromUri(url), emptyList<@NlsSafe String>(), source) {
|
||||
module = moduleEntity
|
||||
}
|
||||
}
|
||||
@@ -130,11 +130,11 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
val url2 = configLocation.baseDirectoryUrlString + "/myContentRoot2"
|
||||
val source = (moduleEntity.entitySource as JpsImportedEntitySource).internalFile
|
||||
builder addEntity ContentRootEntity(virtualFileManager.fromUrl(url), emptyList<@NlsSafe String>(), source) {
|
||||
builder addEntity ContentRootEntity(virtualFileManager.getOrCreateFromUri(url), emptyList<@NlsSafe String>(), source) {
|
||||
module = moduleEntity
|
||||
}
|
||||
val source1 = (moduleEntity.entitySource as JpsImportedEntitySource).internalFile
|
||||
builder addEntity ContentRootEntity(virtualFileManager.fromUrl(url2), emptyList<@NlsSafe String>(), source1) {
|
||||
builder addEntity ContentRootEntity(virtualFileManager.getOrCreateFromUri(url2), emptyList<@NlsSafe String>(), source1) {
|
||||
module = moduleEntity
|
||||
}
|
||||
}
|
||||
@@ -145,7 +145,7 @@ class JpsSplitModuleAndContentRootTest {
|
||||
checkSaveProjectAfterChange("before/addContentRoot", "after/addExternalContentRoot") { builder, _, configLocation ->
|
||||
val moduleEntity = builder.entities(ModuleEntity::class.java).single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
builder addEntity ContentRootEntity(virtualFileManager.fromUrl(url), emptyList<@NlsSafe String>(), moduleEntity.entitySource) {
|
||||
builder addEntity ContentRootEntity(virtualFileManager.getOrCreateFromUri(url), emptyList<@NlsSafe String>(), moduleEntity.entitySource) {
|
||||
module = moduleEntity
|
||||
}
|
||||
}
|
||||
@@ -157,11 +157,11 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val moduleEntity = builder.entities(ModuleEntity::class.java).single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
val url2 = configLocation.baseDirectoryUrlString + "/myContentRoot2"
|
||||
builder addEntity ContentRootEntity(virtualFileManager.fromUrl(url), emptyList<@NlsSafe String>(), moduleEntity.entitySource) {
|
||||
builder addEntity ContentRootEntity(virtualFileManager.getOrCreateFromUri(url), emptyList<@NlsSafe String>(), moduleEntity.entitySource) {
|
||||
module = moduleEntity
|
||||
}
|
||||
val source = (moduleEntity.entitySource as JpsImportedEntitySource).internalFile
|
||||
builder addEntity ContentRootEntity(virtualFileManager.fromUrl(url2), emptyList<@NlsSafe String>(), source) {
|
||||
builder addEntity ContentRootEntity(virtualFileManager.getOrCreateFromUri(url2), emptyList<@NlsSafe String>(), source) {
|
||||
module = moduleEntity
|
||||
}
|
||||
}
|
||||
@@ -174,7 +174,7 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val moduleEntity = builder.entities(ModuleEntity::class.java).single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
val source = (moduleEntity.entitySource as JpsImportedEntitySource).internalFile
|
||||
builder addEntity ContentRootEntity(virtualFileManager.fromUrl(url), emptyList<@NlsSafe String>(), source) {
|
||||
builder addEntity ContentRootEntity(virtualFileManager.getOrCreateFromUri(url), emptyList<@NlsSafe String>(), source) {
|
||||
module = moduleEntity
|
||||
}
|
||||
}
|
||||
@@ -186,10 +186,10 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val moduleEntity = builder.entities(ModuleEntity::class.java).single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
val source = (moduleEntity.entitySource as JpsImportedEntitySource).internalFile
|
||||
val contentRootEntity = builder addEntity ContentRootEntity(virtualFileManager.fromUrl(url), emptyList<@NlsSafe String>(), source) {
|
||||
val contentRootEntity = builder addEntity ContentRootEntity(virtualFileManager.getOrCreateFromUri(url), emptyList<@NlsSafe String>(), source) {
|
||||
module = moduleEntity
|
||||
}
|
||||
builder addEntity SourceRootEntity(virtualFileManager.fromUrl(url), "mock",
|
||||
builder addEntity SourceRootEntity(virtualFileManager.getOrCreateFromUri(url), "mock",
|
||||
(moduleEntity.entitySource as JpsImportedEntitySource).internalFile) {
|
||||
contentRoot = contentRootEntity
|
||||
}
|
||||
@@ -202,7 +202,7 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val moduleEntity = builder.entities(ModuleEntity::class.java).single()
|
||||
val contentRootEntity = moduleEntity.contentRoots.single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
builder addEntity SourceRootEntity(virtualFileManager.fromUrl(url), "mock",
|
||||
builder addEntity SourceRootEntity(virtualFileManager.getOrCreateFromUri(url), "mock",
|
||||
(moduleEntity.entitySource as JpsImportedEntitySource).internalFile) {
|
||||
contentRoot = contentRootEntity
|
||||
}
|
||||
@@ -216,11 +216,11 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val contentRootEntity = moduleEntity.contentRoots.single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
val url2 = configLocation.baseDirectoryUrlString + "/myContentRoot2"
|
||||
builder addEntity SourceRootEntity(virtualFileManager.fromUrl(url), "mock",
|
||||
builder addEntity SourceRootEntity(virtualFileManager.getOrCreateFromUri(url), "mock",
|
||||
(moduleEntity.entitySource as JpsImportedEntitySource).internalFile) {
|
||||
contentRoot = contentRootEntity
|
||||
}
|
||||
builder addEntity SourceRootEntity(virtualFileManager.fromUrl(url2), "mock",
|
||||
builder addEntity SourceRootEntity(virtualFileManager.getOrCreateFromUri(url2), "mock",
|
||||
(moduleEntity.entitySource as JpsImportedEntitySource).internalFile) {
|
||||
contentRoot = contentRootEntity
|
||||
}
|
||||
@@ -233,7 +233,7 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val moduleEntity = builder.entities(ModuleEntity::class.java).single()
|
||||
val contentRootEntity = moduleEntity.contentRoots.single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
builder addEntity SourceRootEntity(virtualFileManager.fromUrl(url), "mock", moduleEntity.entitySource) {
|
||||
builder addEntity SourceRootEntity(virtualFileManager.getOrCreateFromUri(url), "mock", moduleEntity.entitySource) {
|
||||
contentRoot = contentRootEntity
|
||||
}
|
||||
}
|
||||
@@ -246,10 +246,10 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val contentRootEntity = moduleEntity.contentRoots.single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
val url2 = configLocation.baseDirectoryUrlString + "/myContentRoot2"
|
||||
builder addEntity SourceRootEntity(virtualFileManager.fromUrl(url), "mock", moduleEntity.entitySource) {
|
||||
builder addEntity SourceRootEntity(virtualFileManager.getOrCreateFromUri(url), "mock", moduleEntity.entitySource) {
|
||||
contentRoot = contentRootEntity
|
||||
}
|
||||
builder addEntity SourceRootEntity(virtualFileManager.fromUrl(url2), "mock",
|
||||
builder addEntity SourceRootEntity(virtualFileManager.getOrCreateFromUri(url2), "mock",
|
||||
(moduleEntity.entitySource as JpsImportedEntitySource).internalFile) {
|
||||
contentRoot = contentRootEntity
|
||||
}
|
||||
@@ -263,10 +263,10 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
val url2 = configLocation.baseDirectoryUrlString + "/myContentRoot2"
|
||||
val source = (moduleEntity.entitySource as JpsImportedEntitySource).internalFile
|
||||
val contentRootEntity = builder addEntity ContentRootEntity(virtualFileManager.fromUrl(url), emptyList<@NlsSafe String>(), source) {
|
||||
val contentRootEntity = builder addEntity ContentRootEntity(virtualFileManager.getOrCreateFromUri(url), emptyList<@NlsSafe String>(), source) {
|
||||
module = moduleEntity
|
||||
}
|
||||
builder addEntity SourceRootEntity(virtualFileManager.fromUrl(url2), "mock",
|
||||
builder addEntity SourceRootEntity(virtualFileManager.getOrCreateFromUri(url2), "mock",
|
||||
(moduleEntity.entitySource as JpsImportedEntitySource).internalFile) {
|
||||
contentRoot = contentRootEntity
|
||||
}
|
||||
@@ -279,7 +279,7 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val moduleEntity = builder.entities(ModuleEntity::class.java).single()
|
||||
val contentRootEntity = moduleEntity.contentRoots.single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.fromUrl(url),
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.getOrCreateFromUri(url),
|
||||
(moduleEntity.entitySource as JpsImportedEntitySource).internalFile) {
|
||||
this.contentRoot = contentRootEntity
|
||||
}
|
||||
@@ -293,11 +293,11 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val contentRootEntity = moduleEntity.contentRoots.single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
val url2 = configLocation.baseDirectoryUrlString + "/myContentRoot2"
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.fromUrl(url),
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.getOrCreateFromUri(url),
|
||||
(moduleEntity.entitySource as JpsImportedEntitySource).internalFile) {
|
||||
this.contentRoot = contentRootEntity
|
||||
}
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.fromUrl(url2),
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.getOrCreateFromUri(url2),
|
||||
(moduleEntity.entitySource as JpsImportedEntitySource).internalFile) {
|
||||
this.contentRoot = contentRootEntity
|
||||
}
|
||||
@@ -313,11 +313,11 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val contentRootEntity2 = moduleEntity.contentRoots.single { it.url.url.endsWith("myContentRoot2") }
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot/x"
|
||||
val url2 = configLocation.baseDirectoryUrlString + "/myContentRoot2/y"
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.fromUrl(url),
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.getOrCreateFromUri(url),
|
||||
(moduleEntity.entitySource as JpsImportedEntitySource).internalFile) {
|
||||
this.contentRoot = contentRootEntity
|
||||
}
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.fromUrl(url2),
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.getOrCreateFromUri(url2),
|
||||
(moduleEntity.entitySource as JpsImportedEntitySource).internalFile) {
|
||||
this.contentRoot = contentRootEntity2
|
||||
}
|
||||
@@ -330,7 +330,7 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val moduleEntity = builder.entities(ModuleEntity::class.java).single()
|
||||
val contentRootEntity = moduleEntity.contentRoots.single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.fromUrl(url), moduleEntity.entitySource) {
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.getOrCreateFromUri(url), moduleEntity.entitySource) {
|
||||
this.contentRoot = contentRootEntity
|
||||
}
|
||||
}
|
||||
@@ -343,11 +343,11 @@ class JpsSplitModuleAndContentRootTest {
|
||||
val contentRootEntity = moduleEntity.contentRoots.single()
|
||||
val url = configLocation.baseDirectoryUrlString + "/myContentRoot"
|
||||
val url2 = configLocation.baseDirectoryUrlString + "/myContentRoot2"
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.fromUrl(url),
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.getOrCreateFromUri(url),
|
||||
(moduleEntity.entitySource as JpsImportedEntitySource).internalFile) {
|
||||
this.contentRoot = contentRootEntity
|
||||
}
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.fromUrl(url2), moduleEntity.entitySource) {
|
||||
builder addEntity ExcludeUrlEntity(virtualFileManager.getOrCreateFromUri(url2), moduleEntity.entitySource) {
|
||||
this.contentRoot = contentRootEntity
|
||||
}
|
||||
}
|
||||
|
||||
@@ -443,10 +443,10 @@ internal fun copyAndLoadGlobalEntities(originalFile: String? = null,
|
||||
|
||||
// Entity source for global entities
|
||||
val virtualFileManager = VirtualFileUrlManager.getGlobalInstance()
|
||||
val globalLibrariesFile = virtualFileManager.fromUrl("$testDir/options/applicationLibraries.xml")
|
||||
val globalLibrariesFile = virtualFileManager.getOrCreateFromUri("$testDir/options/applicationLibraries.xml")
|
||||
val libraryEntitySource = JpsGlobalFileEntitySource(globalLibrariesFile)
|
||||
|
||||
val globalSdkFile = virtualFileManager.fromUrl("$testDir/options/jdk.table.xml")
|
||||
val globalSdkFile = virtualFileManager.getOrCreateFromUri("$testDir/options/jdk.table.xml")
|
||||
val sdkEntitySource = JpsGlobalFileEntitySource(globalSdkFile)
|
||||
action(libraryEntitySource, sdkEntitySource)
|
||||
|
||||
|
||||
@@ -194,7 +194,7 @@ class ImlCreationPropertyTest {
|
||||
|
||||
val path = configLocation.baseDirectoryUrl.toPath().resolve(contentRootPath).createDirectories()
|
||||
|
||||
storage addEntity ContentRootEntity(virtualFileManager.fromUrl(VfsUtilCore.pathToUrl(path.toString())), emptyList(), moduleEntity.entitySource) {
|
||||
storage addEntity ContentRootEntity(virtualFileManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(path.toString())), emptyList(), moduleEntity.entitySource) {
|
||||
this.module = moduleEntity
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ internal class StorageSerializerUtil(
|
||||
else {
|
||||
val serializedUrl = kryo.readObject(input, String::class.java) as String
|
||||
val convertedUrl = urlRelativizer.toAbsoluteUrl(serializedUrl)
|
||||
return virtualFileManager.fromUrl(convertedUrl)
|
||||
return virtualFileManager.getOrCreateFromUri(convertedUrl)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,5 +72,5 @@ public fun Path.toVirtualFileUrl(virtualFileManager: VirtualFileUrlManager): Vir
|
||||
|
||||
public fun String.toVirtualFileUrl(virtualFileManager: VirtualFileUrlManager): VirtualFileUrl {
|
||||
val url = URLUtil.FILE_PROTOCOL + URLUtil.SCHEME_SEPARATOR + FileUtil.toSystemIndependentName(this)
|
||||
return virtualFileManager.fromUrl(url)
|
||||
return virtualFileManager.getOrCreateFromUri(url)
|
||||
}
|
||||
|
||||
@@ -19,9 +19,9 @@ public open class VirtualFileUrlManagerImpl : VirtualFileUrlManager {
|
||||
private val rootNode = FilePathNode(0, 0)
|
||||
|
||||
@Synchronized
|
||||
override fun fromUrl(url: String): VirtualFileUrl {
|
||||
if (url.isEmpty()) return getEmptyUrl()
|
||||
return add(url)
|
||||
override fun getOrCreateFromUri(uri: String): VirtualFileUrl {
|
||||
if (uri.isEmpty()) return getEmptyUrl()
|
||||
return add(uri)
|
||||
}
|
||||
|
||||
override fun findByUrl(url: String): VirtualFileUrl? {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.List;
|
||||
* Workspace model entities must use properties of this type to store references to files instead of storing their paths or URLs as
|
||||
* {@link String} properties, because it consumes less memory and provide efficient way to locate a {@link com.intellij.openapi.vfs.VirtualFile VirtualFile}.
|
||||
* <p>
|
||||
* Use {@link VirtualFileUrlManager#fromUrl} or {@link com.intellij.platform.backend.workspace.VirtualFileUrls#toVirtualFileUrl toVirtualFileUrl}
|
||||
* Use {@link VirtualFileUrlManager#getOrCreateFromUri} or {@link com.intellij.platform.backend.workspace.VirtualFileUrls#toVirtualFileUrl toVirtualFileUrl}
|
||||
* extension function to get an instance of this interface.
|
||||
* Use {@link com.intellij.platform.backend.workspace.VirtualFileUrls#getVirtualFile virtualFile} extension property to locate a
|
||||
* {@link com.intellij.openapi.vfs.VirtualFile VirtualFile} instance by an instance of this interface.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.platform.workspace.storage.url
|
||||
|
||||
import com.intellij.util.containers.TreeNodeProcessingResult
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
/**
|
||||
@@ -19,7 +18,7 @@ public interface VirtualFileUrlManager {
|
||||
* It must not be used for other purposes (e.g., to convert between different URL formats or to find [VirtualFile][com.intellij.openapi.vfs.VirtualFile],
|
||||
* because all created URLs are stored in the shared data structures until the project is closed.
|
||||
*/
|
||||
public fun fromUrl(url: String): VirtualFileUrl
|
||||
public fun getOrCreateFromUri(uri: String): VirtualFileUrl
|
||||
|
||||
/**
|
||||
* Returns an existing instance of [VirtualFileUrl] for the given URL or `null` if no instance was registered.
|
||||
|
||||
@@ -200,7 +200,7 @@ fun MutableEntityStorage.addVFUEntity(
|
||||
virtualFileManager: VirtualFileUrlManager,
|
||||
source: EntitySource = SampleEntitySource("test")
|
||||
): VFUEntity {
|
||||
val vfuEntity = VFUEntity(data, virtualFileManager.fromUrl(fileUrl), source)
|
||||
val vfuEntity = VFUEntity(data, virtualFileManager.getOrCreateFromUri(fileUrl), source)
|
||||
this.addEntity(vfuEntity)
|
||||
return vfuEntity
|
||||
}
|
||||
@@ -212,7 +212,7 @@ fun MutableEntityStorage.addVFU2Entity(
|
||||
virtualFileManager: VirtualFileUrlManager,
|
||||
source: EntitySource = SampleEntitySource("test")
|
||||
): VFUWithTwoPropertiesEntity {
|
||||
val vfuWithTwoPropertiesEntity = VFUWithTwoPropertiesEntity(data, virtualFileManager.fromUrl(fileUrl), virtualFileManager.fromUrl(secondFileUrl), source)
|
||||
val vfuWithTwoPropertiesEntity = VFUWithTwoPropertiesEntity(data, virtualFileManager.getOrCreateFromUri(fileUrl), virtualFileManager.getOrCreateFromUri(secondFileUrl), source)
|
||||
this.addEntity(vfuWithTwoPropertiesEntity)
|
||||
return vfuWithTwoPropertiesEntity
|
||||
}
|
||||
@@ -224,7 +224,7 @@ fun MutableEntityStorage.addNullableVFUEntity(
|
||||
source: EntitySource = SampleEntitySource("test")
|
||||
): NullableVFUEntity {
|
||||
val nullableVFUEntity = NullableVFUEntity(data, source) {
|
||||
this.fileProperty = fileUrl?.let { virtualFileManager.fromUrl(it) }
|
||||
this.fileProperty = fileUrl?.let { virtualFileManager.getOrCreateFromUri(it) }
|
||||
}
|
||||
this.addEntity(nullableVFUEntity)
|
||||
return nullableVFUEntity
|
||||
@@ -236,7 +236,7 @@ fun MutableEntityStorage.addListVFUEntity(
|
||||
virtualFileManager: VirtualFileUrlManager,
|
||||
source: EntitySource = SampleEntitySource("test")
|
||||
): ListVFUEntity {
|
||||
val listVFUEntity = ListVFUEntity(data, fileUrl.map { virtualFileManager.fromUrl(it) }, source)
|
||||
val listVFUEntity = ListVFUEntity(data, fileUrl.map { virtualFileManager.getOrCreateFromUri(it) }, source)
|
||||
this.addEntity(listVFUEntity)
|
||||
return listVFUEntity
|
||||
}
|
||||
|
||||
@@ -49,9 +49,9 @@ class ApplyChangesFromTest {
|
||||
@RepeatedTest(10)
|
||||
fun `add entity`() {
|
||||
val source = createEmptyBuilder()
|
||||
source addEntity SampleEntity(false, "first", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
source addEntity SampleEntity(false, "first", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
target addEntity SampleEntity(false, "second", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
target addEntity SampleEntity(false, "second", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val storage = target.applyChanges(source)
|
||||
assertEquals(setOf("first", "second"), storage.entities(SampleEntity::class.java).mapTo(HashSet()) { it.stringProperty })
|
||||
@@ -59,9 +59,9 @@ class ApplyChangesFromTest {
|
||||
|
||||
@RepeatedTest(10)
|
||||
fun `remove entity`() {
|
||||
val entity = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
val entity = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val entity2 = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
val entity2 = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val source = createBuilderFrom(target.toSnapshot())
|
||||
source.removeEntity(entity.from(source))
|
||||
@@ -71,7 +71,7 @@ class ApplyChangesFromTest {
|
||||
|
||||
@RepeatedTest(10)
|
||||
fun `modify entity`() {
|
||||
val entity = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
val entity = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val source = createBuilderFrom(target.toSnapshot())
|
||||
source.modifyEntity(entity.from(source)) {
|
||||
@@ -83,9 +83,9 @@ class ApplyChangesFromTest {
|
||||
|
||||
@RepeatedTest(10)
|
||||
fun `remove removed entity`() {
|
||||
val entity = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
val entity = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val entity2 = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
val entity2 = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val source = createBuilderFrom(target.toSnapshot())
|
||||
target.removeEntity(entity)
|
||||
@@ -98,7 +98,7 @@ class ApplyChangesFromTest {
|
||||
|
||||
@RepeatedTest(10)
|
||||
fun `modify removed entity`() {
|
||||
val entity = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
val entity = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val source = createBuilderFrom(target.toSnapshot())
|
||||
target.removeEntity(entity)
|
||||
@@ -134,7 +134,7 @@ class ApplyChangesFromTest {
|
||||
|
||||
@RepeatedTest(10)
|
||||
fun `remove modified entity`() {
|
||||
val entity = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
val entity = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val source = createBuilderFrom(target.toSnapshot())
|
||||
target.modifyEntity(entity) {
|
||||
@@ -149,10 +149,10 @@ class ApplyChangesFromTest {
|
||||
@RepeatedTest(10)
|
||||
fun `add entity with refs at the same slot`() {
|
||||
val source = createEmptyBuilder()
|
||||
source addEntity SampleEntity(false, "Another entity", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
source addEntity SampleEntity(false, "Another entity", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val parentEntity = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(),
|
||||
virtualFileUrlManager.fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
virtualFileUrlManager.getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
target addEntity ChildSampleEntity("data", SampleEntitySource("test")) {
|
||||
this@ChildSampleEntity.parentEntity = parentEntity
|
||||
}
|
||||
@@ -172,13 +172,13 @@ class ApplyChangesFromTest {
|
||||
fun `add remove and add with refs`() {
|
||||
val source = createEmptyBuilder()
|
||||
val parent = source addEntity SampleEntity(false, "Another entity", ArrayList(), HashMap(),
|
||||
virtualFileUrlManager.fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
virtualFileUrlManager.getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
source addEntity ChildSampleEntity("String", SampleEntitySource("test")) {
|
||||
parentEntity = parent
|
||||
}
|
||||
|
||||
val parentEntity = target addEntity SampleEntity(false, "hello", ArrayList(), HashMap(),
|
||||
virtualFileUrlManager.fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
virtualFileUrlManager.getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
target addEntity ChildSampleEntity("data", SampleEntitySource("test")) {
|
||||
this@ChildSampleEntity.parentEntity = parentEntity
|
||||
}
|
||||
@@ -202,7 +202,7 @@ class ApplyChangesFromTest {
|
||||
@RepeatedTest(10)
|
||||
fun `add dependency without changing entities`() {
|
||||
val source = createEmptyBuilder()
|
||||
source addEntity SampleEntity(false, "Another entity", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
source addEntity SampleEntity(false, "Another entity", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
source addEntity ChildSampleEntity("String", SampleEntitySource("test"))
|
||||
|
||||
@@ -321,12 +321,12 @@ class ApplyChangesFromTest {
|
||||
fun `checking external mapping`() {
|
||||
val target = createEmptyBuilder()
|
||||
|
||||
target addEntity SampleEntity(false, "Entity at index 0", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
target addEntity SampleEntity(false, "Entity at index 0", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
|
||||
val source = createEmptyBuilder()
|
||||
val sourceSample = source addEntity SampleEntity(false, "Entity at index 1", ArrayList(), HashMap(),
|
||||
virtualFileUrlManager.fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
virtualFileUrlManager.getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
val mutableExternalMapping = source.getMutableExternalMapping(externalMappingName)
|
||||
val anyObj = Any()
|
||||
mutableExternalMapping.addMapping(sourceSample, anyObj)
|
||||
@@ -365,7 +365,7 @@ class ApplyChangesFromTest {
|
||||
@RepeatedTest(10)
|
||||
fun `change source in diff`() {
|
||||
val sampleEntity = target addEntity SampleEntity(false, "Prop", ArrayList(), HashMap(),
|
||||
virtualFileUrlManager.fromUrl("file:///tmp"), MySource)
|
||||
virtualFileUrlManager.getOrCreateFromUri("file:///tmp"), MySource)
|
||||
|
||||
val source = createBuilderFrom(target)
|
||||
source.modifyEntity(sampleEntity.from(source)) {
|
||||
@@ -384,7 +384,7 @@ class ApplyChangesFromTest {
|
||||
@RepeatedTest(10)
|
||||
fun `change source and data in diff`() {
|
||||
val sampleEntity = target addEntity SampleEntity(false, "Prop", ArrayList(), HashMap(),
|
||||
virtualFileUrlManager.fromUrl("file:///tmp"), MySource)
|
||||
virtualFileUrlManager.getOrCreateFromUri("file:///tmp"), MySource)
|
||||
|
||||
val source = createBuilderFrom(target)
|
||||
source.modifyEntity(sampleEntity.from(source)) {
|
||||
@@ -410,7 +410,7 @@ class ApplyChangesFromTest {
|
||||
@RepeatedTest(10)
|
||||
fun `change source in target`() {
|
||||
val sampleEntity = target addEntity SampleEntity(false, "Prop", ArrayList(), HashMap(),
|
||||
virtualFileUrlManager.fromUrl("file:///tmp"), MySource)
|
||||
virtualFileUrlManager.getOrCreateFromUri("file:///tmp"), MySource)
|
||||
|
||||
val source = createBuilderFrom(target)
|
||||
target.modifyEntity(sampleEntity) {
|
||||
@@ -490,7 +490,7 @@ class ApplyChangesFromTest {
|
||||
fun `removing non-existing entity while adding the new one`() {
|
||||
val initial = createEmptyBuilder()
|
||||
val toBeRemoved = initial addEntity SampleEntity(false, "En1", ArrayList(), HashMap(),
|
||||
virtualFileUrlManager.fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
virtualFileUrlManager.getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
|
||||
val source = createBuilderFrom(initial)
|
||||
|
||||
@@ -498,7 +498,7 @@ class ApplyChangesFromTest {
|
||||
val target = createBuilderFrom(initial.toSnapshot())
|
||||
|
||||
// In the incorrect implementation remove event will remove added entity
|
||||
source addEntity SampleEntity(false, "En2", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
source addEntity SampleEntity(false, "En2", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
source.removeEntity(toBeRemoved.from(source))
|
||||
|
||||
@@ -648,7 +648,7 @@ class ApplyChangesFromTest {
|
||||
@RepeatedTest(10)
|
||||
fun `change source and data`() {
|
||||
val sampleEntity = target addEntity SampleEntity(false, "Prop", ArrayList(), HashMap(),
|
||||
virtualFileUrlManager.fromUrl("file:///tmp"), MySource)
|
||||
virtualFileUrlManager.getOrCreateFromUri("file:///tmp"), MySource)
|
||||
|
||||
val source = createBuilderFrom(target)
|
||||
source.modifyEntity(sampleEntity.from(source)) {
|
||||
|
||||
@@ -25,7 +25,7 @@ class CollectChangesInBuilderTest {
|
||||
"initial",
|
||||
ArrayList(),
|
||||
HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
addEntity(SecondSampleEntity(1, SampleEntitySource("test")))
|
||||
}.toSnapshot()
|
||||
@@ -38,7 +38,7 @@ class CollectChangesInBuilderTest {
|
||||
"added",
|
||||
ArrayList(),
|
||||
HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
builder.addEntity(SecondSampleEntity(2, SampleEntitySource("test")))
|
||||
builder.removeEntity(initialStorage.singleSampleEntity())
|
||||
@@ -94,7 +94,7 @@ class CollectChangesInBuilderTest {
|
||||
"added",
|
||||
ArrayList(),
|
||||
HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
builder.removeEntity(added)
|
||||
assertChangelogSize(0)
|
||||
@@ -107,7 +107,7 @@ class CollectChangesInBuilderTest {
|
||||
"added",
|
||||
ArrayList(),
|
||||
HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
builder.modifyEntity(added) {
|
||||
stringProperty = "changed"
|
||||
@@ -122,7 +122,7 @@ class CollectChangesInBuilderTest {
|
||||
"added",
|
||||
ArrayList(),
|
||||
HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val modified = builder.modifyEntity(added) {
|
||||
stringProperty = "changed"
|
||||
|
||||
@@ -25,7 +25,7 @@ class EntityPointerTest {
|
||||
@Test
|
||||
fun basic() {
|
||||
val builder = createEmptyBuilder()
|
||||
val entity = builder addEntity SampleEntity(false, "data", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
val entity = builder addEntity SampleEntity(false, "data", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val reference = entity.createPointer<SampleEntity>()
|
||||
assertEquals(entity, reference.resolve(builder))
|
||||
@@ -41,9 +41,9 @@ class EntityPointerTest {
|
||||
@Test
|
||||
fun equality() {
|
||||
val builder = createEmptyBuilder()
|
||||
val entity = builder addEntity SampleEntity(false, "data", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
val entity = builder addEntity SampleEntity(false, "data", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val entity2 = builder addEntity SampleEntity(false, "data", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
val entity2 = builder addEntity SampleEntity(false, "data", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val reference1 = entity.createPointer<SampleEntity>()
|
||||
val reference2 = entity.createPointer<SampleEntity>()
|
||||
@@ -55,14 +55,14 @@ class EntityPointerTest {
|
||||
@Test
|
||||
fun `replace entity by equal`() {
|
||||
val builder = createEmptyBuilder()
|
||||
builder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
builder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val snapshot = builder.toSnapshot()
|
||||
val entity = snapshot.singleSampleEntity()
|
||||
val reference = entity.createPointer<SampleEntity>()
|
||||
val newBuilder = createBuilderFrom(snapshot)
|
||||
newBuilder.removeEntity(entity)
|
||||
newBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
newBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val changes = newBuilder.collectChanges()
|
||||
//if there is an event about the change, the code which stores EntityReference is supposed to update it
|
||||
@@ -77,12 +77,12 @@ class EntityPointerTest {
|
||||
fun `wrong entity ref resolve in different storage`() {
|
||||
val mutableStorage = MutableEntityStorage.create()
|
||||
val sampleEntity = mutableStorage addEntity SampleEntity(false, "hello", ArrayList(), HashMap(),
|
||||
virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val reference = sampleEntity.createPointer<SampleEntity>()
|
||||
|
||||
val mutableStorage1 = MutableEntityStorage.create()
|
||||
mutableStorage1 addEntity SampleEntity(false, "buy", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
mutableStorage1 addEntity SampleEntity(false, "buy", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
assertNull(reference.resolve(mutableStorage1))
|
||||
}
|
||||
@@ -92,17 +92,17 @@ class EntityPointerTest {
|
||||
fun `wrong entity ref resolve in same storage`() {
|
||||
val mutableStorage = MutableEntityStorage.create()
|
||||
val sampleEntity = mutableStorage addEntity SampleEntity(false, "hello", ArrayList(), HashMap(),
|
||||
virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val reference = sampleEntity.createPointer<SampleEntity>()
|
||||
mutableStorage addEntity SampleEntity(false, "buy", ArrayList(), HashMap(), virtualFileUrlManager.fromUrl("file:///tmp"),
|
||||
mutableStorage addEntity SampleEntity(false, "buy", ArrayList(), HashMap(), virtualFileUrlManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val toBuilder = mutableStorage.toSnapshot().toBuilder()
|
||||
val sampleEntity2 = toBuilder.entities(SampleEntity::class.java).first()
|
||||
toBuilder.removeEntity(sampleEntity2)
|
||||
val toBuilder1 = toBuilder.toSnapshot().toBuilder()
|
||||
val sampleEntity1 = toBuilder1 addEntity SampleEntity(false, "own", ArrayList(), HashMap(),
|
||||
virtualFileUrlManager.fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
virtualFileUrlManager.getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
val resolve = reference.resolve(toBuilder1)
|
||||
assertEquals(sampleEntity.stringProperty, resolve!!.stringProperty)
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ class EntityStorageSerializationTest {
|
||||
@Test
|
||||
fun `simple model serialization`() {
|
||||
val builder = createEmptyBuilder()
|
||||
builder addEntity SampleEntity(false, "MyEntity", ArrayList(), HashMap(), virtualFileManager.fromUrl("file:///tmp"),
|
||||
builder addEntity SampleEntity(false, "MyEntity", ArrayList(), HashMap(), virtualFileManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
|
||||
SerializationRoundTripChecker.verifyPSerializationRoundTrip(builder.toSnapshot(), VirtualFileUrlManagerImpl())
|
||||
@@ -43,7 +43,7 @@ class EntityStorageSerializationTest {
|
||||
VirtualFileUrlManagerImpl()
|
||||
builder addEntity SampleEntity(false, stringProperty = "MyEntity",
|
||||
stringListProperty = mutableListOf("a", "b"),
|
||||
stringMapProperty = HashMap(), fileProperty = virtualFileManager.fromUrl("file:///tmp"),
|
||||
stringMapProperty = HashMap(), fileProperty = virtualFileManager.getOrCreateFromUri("file:///tmp"),
|
||||
entitySource = SampleEntitySource("test"))
|
||||
|
||||
SerializationRoundTripChecker.verifyPSerializationRoundTrip(builder.toSnapshot(), VirtualFileUrlManagerImpl())
|
||||
@@ -62,7 +62,7 @@ class EntityStorageSerializationTest {
|
||||
put("bc", "ce")
|
||||
}
|
||||
val entity = SampleEntity(false, "MyEntity", stringListProperty,
|
||||
stringMapProperty, virtualFileManager.fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
stringMapProperty, virtualFileManager.getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
builder.addEntity(entity)
|
||||
|
||||
val setProperty = buildSet {
|
||||
@@ -86,7 +86,7 @@ class EntityStorageSerializationTest {
|
||||
val virtualFileManager: VirtualFileUrlManager = VirtualFileUrlManagerImpl()
|
||||
val builder = createEmptyBuilder()
|
||||
val entity = SampleEntity(false, "MyEntity", emptyList(),
|
||||
emptyMap(), virtualFileManager.fromUrl("file:///tmp"), SampleEntitySource("test")) {
|
||||
emptyMap(), virtualFileManager.getOrCreateFromUri("file:///tmp"), SampleEntitySource("test")) {
|
||||
randomUUID = UUID.fromString("58e0a7d7-eebc-11d8-9669-0800200c9a66")
|
||||
}
|
||||
builder.addEntity(entity)
|
||||
@@ -97,7 +97,7 @@ class EntityStorageSerializationTest {
|
||||
@Test
|
||||
fun `serialization with version changing`() {
|
||||
val builder = createEmptyBuilder()
|
||||
builder addEntity SampleEntity(false, "MyEntity", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
builder addEntity SampleEntity(false, "MyEntity", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
|
||||
val serializer = EntityStorageSerializerImpl(PluginAwareEntityTypesResolver, VirtualFileUrlManagerImpl())
|
||||
@@ -175,7 +175,7 @@ class EntityStorageSerializationTest {
|
||||
|
||||
val builder = createEmptyBuilder()
|
||||
|
||||
builder addEntity SampleEntity(false, "myString", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
builder addEntity SampleEntity(false, "myString", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
|
||||
withTempFile { file ->
|
||||
@@ -206,7 +206,7 @@ class EntityStorageSerializationTest {
|
||||
|
||||
val builder = createEmptyBuilder()
|
||||
|
||||
builder addEntity SampleEntity(false, "myString", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
builder addEntity SampleEntity(false, "myString", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
|
||||
withTempFile { file ->
|
||||
@@ -226,7 +226,7 @@ class EntityStorageSerializationTest {
|
||||
val entity = SampleEntity(
|
||||
false, stringProperty = "MyEntity",
|
||||
stringListProperty = mutableListOf("a", "b"),
|
||||
stringMapProperty = HashMap(), fileProperty = virtualFileManager.fromUrl("file:///tmp"),
|
||||
stringMapProperty = HashMap(), fileProperty = virtualFileManager.getOrCreateFromUri("file:///tmp"),
|
||||
entitySource = SampleEntitySource("test")
|
||||
)
|
||||
|
||||
|
||||
@@ -197,17 +197,17 @@ class ExternalEntityMappingTest {
|
||||
fun `remove mapping if entity is removed`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val entity1 = initialBuilder addEntity SampleEntity(false, "1", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
initialBuilder.getMutableExternalMapping(INDEX_ID).addMapping(entity1, 1)
|
||||
val entity2 = initialBuilder addEntity SampleEntity(false, "2", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
initialBuilder.getMutableExternalMapping(INDEX_ID).addMapping(entity2, 2)
|
||||
val storage = initialBuilder.toSnapshot()
|
||||
assertEquals(1, storage.getExternalMapping(INDEX_ID).getDataByEntity(entity1))
|
||||
assertEquals(2, storage.getExternalMapping(INDEX_ID).getDataByEntity(entity2))
|
||||
|
||||
val builder = createBuilderFrom(storage)
|
||||
val entity3 = builder addEntity SampleEntity(false, "3", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
val entity3 = builder addEntity SampleEntity(false, "3", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
builder.getMutableExternalMapping(INDEX_ID).addMapping(entity3, 3)
|
||||
builder.removeEntity(entity1.from(builder))
|
||||
@@ -233,17 +233,17 @@ class ExternalEntityMappingTest {
|
||||
fun `keep mapping if entity is modified`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val entity1 = initialBuilder addEntity SampleEntity(false, "1", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
initialBuilder.getMutableExternalMapping(INDEX_ID).addMapping(entity1, 1)
|
||||
val entity2 = initialBuilder addEntity SampleEntity(false, "2", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
initialBuilder.getMutableExternalMapping(INDEX_ID).addMapping(entity2, 2)
|
||||
val storage = initialBuilder.toSnapshot()
|
||||
assertEquals(1, storage.getExternalMapping(INDEX_ID).getDataByEntity(entity1))
|
||||
assertEquals(2, storage.getExternalMapping(INDEX_ID).getDataByEntity(entity2))
|
||||
|
||||
val builder = createBuilderFrom(storage)
|
||||
val entity3 = builder addEntity SampleEntity(false, "3", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
val entity3 = builder addEntity SampleEntity(false, "3", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
builder.getMutableExternalMapping(INDEX_ID).addMapping(entity3, 3)
|
||||
val entity1a = builder.modifyEntity(entity1.from(builder)) {
|
||||
@@ -276,10 +276,10 @@ class ExternalEntityMappingTest {
|
||||
fun `update mapping when id changes on adding via diff`() {
|
||||
val builder = createEmptyBuilder()
|
||||
val diff = MutableEntityStorage.from(builder.toSnapshot())
|
||||
val entity1 = builder addEntity SampleEntity(false, "1", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
val entity1 = builder addEntity SampleEntity(false, "1", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
builder.getMutableExternalMapping(INDEX_ID).addMapping(entity1, 1)
|
||||
val entity2 = diff addEntity SampleEntity(false, "2", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
val entity2 = diff addEntity SampleEntity(false, "2", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
diff.getMutableExternalMapping(INDEX_ID).addMapping(entity2, 2)
|
||||
builder.applyChangesFrom(diff)
|
||||
@@ -298,11 +298,11 @@ class ExternalEntityMappingTest {
|
||||
@Test
|
||||
fun `merge mapping added after builder was created`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val initialStorage = initialBuilder.toSnapshot()
|
||||
val diff1 = MutableEntityStorage.from(initialStorage)
|
||||
diff1 addEntity SampleEntity(false, "bar", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
diff1 addEntity SampleEntity(false, "bar", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
|
||||
val diff2 = MutableEntityStorage.from(initialStorage)
|
||||
@@ -325,7 +325,7 @@ class ExternalEntityMappingTest {
|
||||
@Test
|
||||
fun `replace by source add new mapping`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
|
||||
val replacement = createBuilderFrom(initialBuilder)
|
||||
@@ -339,11 +339,11 @@ class ExternalEntityMappingTest {
|
||||
fun `replace by source add new mapping with new entity`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val fooEntity = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
|
||||
val replacement = createBuilderFrom(initialBuilder)
|
||||
val barEntity = replacement addEntity SampleEntity(false, "bar", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
var externalMapping = replacement.getMutableExternalMapping(INDEX_ID)
|
||||
externalMapping.addMapping(fooEntity, 1)
|
||||
externalMapping = replacement.getMutableExternalMapping(ANOTHER_INDEX_ID)
|
||||
@@ -359,7 +359,7 @@ class ExternalEntityMappingTest {
|
||||
fun `replace by source update mapping for old entity`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val fooEntity = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
var externalMapping = initialBuilder.getMutableExternalMapping(INDEX_ID)
|
||||
externalMapping.addMapping(fooEntity, 1)
|
||||
|
||||
@@ -375,13 +375,13 @@ class ExternalEntityMappingTest {
|
||||
fun `replace by source update mapping for new entity`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val fooEntity = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
var externalMapping = initialBuilder.getMutableExternalMapping(INDEX_ID)
|
||||
externalMapping.addMapping(fooEntity, 1)
|
||||
|
||||
val replacement = createBuilderFrom(initialBuilder)
|
||||
val barEntity = replacement addEntity SampleEntity(false, "bar", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
externalMapping = replacement.getMutableExternalMapping(INDEX_ID)
|
||||
externalMapping.addMapping(barEntity, 2)
|
||||
initialBuilder.replaceBySource({ it is SampleEntitySource }, replacement)
|
||||
@@ -394,13 +394,13 @@ class ExternalEntityMappingTest {
|
||||
fun `replace by source remove from mapping`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val fooEntity = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
var externalMapping = initialBuilder.getMutableExternalMapping(INDEX_ID)
|
||||
externalMapping.addMapping(fooEntity, 1)
|
||||
|
||||
val replacement = createBuilderFrom(initialBuilder)
|
||||
val barEntity = replacement addEntity SampleEntity(false, "bar", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
externalMapping = replacement.getMutableExternalMapping(INDEX_ID)
|
||||
externalMapping.addMapping(barEntity, 2)
|
||||
externalMapping.removeMapping(barEntity)
|
||||
@@ -415,7 +415,7 @@ class ExternalEntityMappingTest {
|
||||
fun `replace by source cleanup mapping by entity remove`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val fooEntity = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
val externalMapping = initialBuilder.getMutableExternalMapping(INDEX_ID)
|
||||
externalMapping.addMapping(fooEntity, 1)
|
||||
|
||||
@@ -431,13 +431,13 @@ class ExternalEntityMappingTest {
|
||||
fun `replace by source replace one mapping to another`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val fooEntity = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
var externalMapping = initialBuilder.getMutableExternalMapping(INDEX_ID)
|
||||
externalMapping.addMapping(fooEntity, 1)
|
||||
|
||||
val replacement = createEmptyBuilder()
|
||||
var barEntity = replacement addEntity SampleEntity(false, "bar", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
externalMapping = replacement.getMutableExternalMapping(ANOTHER_INDEX_ID)
|
||||
externalMapping.addMapping(barEntity, 2)
|
||||
initialBuilder.replaceBySource({ it is SampleEntitySource }, replacement)
|
||||
@@ -452,13 +452,13 @@ class ExternalEntityMappingTest {
|
||||
fun `replace by source replace mappings`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val fooEntity = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
var externalMapping = initialBuilder.getMutableExternalMapping(INDEX_ID)
|
||||
externalMapping.addMapping(fooEntity, 1)
|
||||
|
||||
val replacement = createEmptyBuilder()
|
||||
var barEntity = replacement addEntity SampleEntity(false, "bar", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
externalMapping = replacement.getMutableExternalMapping(INDEX_ID)
|
||||
externalMapping.addMapping(barEntity, 2)
|
||||
initialBuilder.replaceBySource({ it is SampleEntitySource }, replacement)
|
||||
@@ -474,13 +474,13 @@ class ExternalEntityMappingTest {
|
||||
fun `replace by source update mapping content and type`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
var fooEntity = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
val externalMapping = initialBuilder.getMutableExternalMapping(INDEX_ID)
|
||||
externalMapping.addMapping(fooEntity, 1)
|
||||
|
||||
val replacement = createEmptyBuilder()
|
||||
val secondFooEntity = replacement addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val newExternalMapping = replacement.getMutableExternalMapping(INDEX_ID)
|
||||
newExternalMapping.addMapping(secondFooEntity, "test")
|
||||
@@ -496,7 +496,7 @@ class ExternalEntityMappingTest {
|
||||
fun `replace by source empty mapping`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val fooEntity = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
val externalMapping = initialBuilder.getMutableExternalMapping(INDEX_ID)
|
||||
externalMapping.addMapping(fooEntity, 1)
|
||||
|
||||
@@ -511,18 +511,18 @@ class ExternalEntityMappingTest {
|
||||
fun `replace by source update id in the mapping`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val fooEntity = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
initialBuilder addEntity SampleEntity(false, "baz", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
initialBuilder addEntity SampleEntity(false, "baz", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val barEntity = initialBuilder addEntity SampleEntity(false, "bar", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
|
||||
val replacement = createEmptyBuilder()
|
||||
val externalMapping = replacement.getMutableExternalMapping(INDEX_ID)
|
||||
val fooEntity1 = replacement addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
val barEntity1 = replacement addEntity SampleEntity(false, "bar", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
externalMapping.addMapping(fooEntity1, 1)
|
||||
externalMapping.addMapping(barEntity1, 2)
|
||||
initialBuilder.replaceBySource({ it is SampleEntitySource }, replacement)
|
||||
@@ -538,13 +538,13 @@ class ExternalEntityMappingTest {
|
||||
val commonBuilder = createEmptyBuilder()
|
||||
|
||||
val diff1 = createEmptyBuilder()
|
||||
val foo1 = diff1 addEntity SampleEntity(false, "foo1", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
val foo1 = diff1 addEntity SampleEntity(false, "foo1", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
diff1.getMutableExternalMapping(INDEX_ID).addMapping(foo1, 1)
|
||||
commonBuilder.applyChangesFrom(diff1)
|
||||
|
||||
val diff2 = createEmptyBuilder()
|
||||
val foo2 = diff2 addEntity SampleEntity(false, "foo2", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
val foo2 = diff2 addEntity SampleEntity(false, "foo2", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
diff2.getMutableExternalMapping(INDEX_ID).addMapping(foo2, 2)
|
||||
diff2.removeEntity(foo2)
|
||||
@@ -560,7 +560,7 @@ class ExternalEntityMappingTest {
|
||||
fun `remove mapping for removed entity after merge`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val foo = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
initialBuilder.getMutableExternalMapping(INDEX_ID).addMapping(foo, 1)
|
||||
val initialStorage = initialBuilder.toSnapshot()
|
||||
|
||||
@@ -579,7 +579,7 @@ class ExternalEntityMappingTest {
|
||||
fun `check double mapping adding`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val foo = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
initialBuilder.getMutableExternalMapping(INDEX_ID).addMapping(foo, 1)
|
||||
initialBuilder.getMutableExternalMapping(INDEX_ID).addMapping(foo, 2)
|
||||
assertEquals(2, ((initialBuilder.getMutableExternalMapping(INDEX_ID) as MutableExternalEntityMappingImpl)
|
||||
@@ -592,7 +592,7 @@ class ExternalEntityMappingTest {
|
||||
fun `mapping replacement generates remove plus add events`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val foo = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
initialBuilder.getMutableExternalMapping(INDEX_ID).addMapping(foo, 1)
|
||||
|
||||
val newBuilder = initialBuilder.toSnapshot().toBuilder()
|
||||
@@ -611,12 +611,12 @@ class ExternalEntityMappingTest {
|
||||
fun `index log don't have removed entity that was not commited`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val foo = initialBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
initialBuilder.getMutableExternalMapping(INDEX_ID).addMapping(foo, 1)
|
||||
|
||||
val newBuilder = initialBuilder.toSnapshot().toBuilder()
|
||||
val addedEntity = newBuilder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
newBuilder.removeEntity(addedEntity)
|
||||
|
||||
assertEquals(0, (newBuilder.getMutableExternalMapping(INDEX_ID) as MutableExternalEntityMappingImpl)
|
||||
|
||||
@@ -13,7 +13,7 @@ class MoveEntitiesBetweenStoragesTest {
|
||||
@Test
|
||||
fun `move entity`() {
|
||||
val snapshot = createEmptyBuilder().also {
|
||||
it addEntity SampleEntity(false, "to copy", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
it addEntity SampleEntity(false, "to copy", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
}.toSnapshot()
|
||||
|
||||
|
||||
@@ -72,12 +72,12 @@ class MutableEntityCollectionTest {
|
||||
}
|
||||
|
||||
makeReplaceOnListOperationAndCheck(builder, listOf("/user/a.txt", "/user/f.txt"), listOf("/user/c.txt")) { entity, vfu ->
|
||||
entity.fileProperty.retainAll(listOf(virtualFileManager.fromUrl("/user/c.txt")))
|
||||
entity.fileProperty.retainAll(listOf(virtualFileManager.getOrCreateFromUri("/user/c.txt")))
|
||||
}
|
||||
|
||||
makeReplaceOnListOperationAndCheck(builder, listOf("/user/c.txt"), listOf("/user/e.txt")) { entity, vfu ->
|
||||
entity.fileProperty.replaceAll {
|
||||
if (it == vfu.single()) virtualFileManager.fromUrl("/user/e.txt") else it
|
||||
if (it == vfu.single()) virtualFileManager.getOrCreateFromUri("/user/e.txt") else it
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ class MutableEntityCollectionTest {
|
||||
val listIterator = entity.fileProperty.listIterator()
|
||||
while (listIterator.hasNext()) {
|
||||
val element = listIterator.next()
|
||||
if (element == vfu.single()) listIterator.set(virtualFileManager.fromUrl("/user/k.txt"))
|
||||
if (element == vfu.single()) listIterator.set(virtualFileManager.getOrCreateFromUri("/user/k.txt"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ class MutableEntityCollectionTest {
|
||||
|
||||
@Test
|
||||
fun `check vfu set basic operations`() {
|
||||
val vfuSet = listOf("/user/a.txt", "/user/b.txt", "/user/c.txt", "/user/opt/app/a.txt").map { virtualFileManager.fromUrl(it) }.toSet()
|
||||
val vfuSet = listOf("/user/a.txt", "/user/b.txt", "/user/c.txt", "/user/opt/app/a.txt").map { virtualFileManager.getOrCreateFromUri(it) }.toSet()
|
||||
val builder = createEmptyBuilder()
|
||||
builder.addEntity(SetVFUEntity("hello", vfuSet, SampleEntitySource("test")))
|
||||
|
||||
@@ -147,7 +147,7 @@ class MutableEntityCollectionTest {
|
||||
//}
|
||||
|
||||
makeReplaceOnSetOperationAndCheck(builder, listOf("/user/b.txt", "/user/opt/app/a.txt"), listOf("/user/c.txt")) { entity, vfu ->
|
||||
entity.fileProperty.retainAll(listOf(virtualFileManager.fromUrl("/user/c.txt")))
|
||||
entity.fileProperty.retainAll(listOf(virtualFileManager.getOrCreateFromUri("/user/c.txt")))
|
||||
}
|
||||
|
||||
// TODO:: Not supported
|
||||
@@ -171,7 +171,7 @@ class MutableEntityCollectionTest {
|
||||
private fun makeOperationOnSetAndCheck(builder: MutableEntityStorageImpl, vararg urls: String, removeOperation: Boolean = false,
|
||||
operation: (SetVFUEntity.Builder, Set<VirtualFileUrl>) -> Unit) {
|
||||
val entity = builder.entities(SetVFUEntity::class.java).single()
|
||||
val vfuForAction = urls.map { virtualFileManager.fromUrl(it) }.toSet()
|
||||
val vfuForAction = urls.map { virtualFileManager.getOrCreateFromUri(it) }.toSet()
|
||||
|
||||
var virtualFiles = builder.indexes.virtualFileIndex.getVirtualFiles((entity as WorkspaceEntityBase).id)
|
||||
if (removeOperation) vfuForAction.forEach { assertTrue(virtualFiles.contains(it)) }
|
||||
@@ -193,7 +193,7 @@ class MutableEntityCollectionTest {
|
||||
|
||||
@Test
|
||||
fun `collection modification allowed only in modifyEntity block`() {
|
||||
val vfuSet = listOf("/user/a.txt", "/user/b.txt", "/user/c.txt", "/user/opt/app/a.txt").map { virtualFileManager.fromUrl(it) }.toSet()
|
||||
val vfuSet = listOf("/user/a.txt", "/user/b.txt", "/user/c.txt", "/user/opt/app/a.txt").map { virtualFileManager.getOrCreateFromUri(it) }.toSet()
|
||||
val builder = createEmptyBuilder()
|
||||
builder.addEntity(SetVFUEntity("hello", vfuSet, SampleEntitySource("test")))
|
||||
val entity = builder.entities(SetVFUEntity::class.java).first()
|
||||
@@ -205,7 +205,7 @@ class MutableEntityCollectionTest {
|
||||
|
||||
@Test
|
||||
fun `check lambda is available only in certain places`() {
|
||||
val vfuSet = listOf("/user/a.txt", "/user/b.txt", "/user/c.txt", "/user/opt/app/a.txt").map { virtualFileManager.fromUrl(it) }.toSet()
|
||||
val vfuSet = listOf("/user/a.txt", "/user/b.txt", "/user/c.txt", "/user/opt/app/a.txt").map { virtualFileManager.getOrCreateFromUri(it) }.toSet()
|
||||
val builder = createEmptyBuilder()
|
||||
val entity = SetVFUEntity("hello", vfuSet, SampleEntitySource("test"))
|
||||
assertNotNull((entity.fileProperty as MutableWorkspaceSet).getModificationUpdateAction())
|
||||
@@ -224,7 +224,7 @@ class MutableEntityCollectionTest {
|
||||
private fun makeReplaceOnSetOperationAndCheck(builder: MutableEntityStorageImpl, oldUrls: List<String>, newUrls: List<String>,
|
||||
operation: (SetVFUEntity.Builder, Set<VirtualFileUrl>) -> Unit) {
|
||||
val entity = builder.entities(SetVFUEntity::class.java).single()
|
||||
val vfuForAction = oldUrls.map { virtualFileManager.fromUrl(it) }.toSet()
|
||||
val vfuForAction = oldUrls.map { virtualFileManager.getOrCreateFromUri(it) }.toSet()
|
||||
|
||||
var virtualFiles = builder.indexes.virtualFileIndex.getVirtualFiles((entity as WorkspaceEntityBase).id)
|
||||
vfuForAction.forEach { assertTrue(virtualFiles.contains(it)) }
|
||||
@@ -235,13 +235,13 @@ class MutableEntityCollectionTest {
|
||||
|
||||
virtualFiles = builder.indexes.virtualFileIndex.getVirtualFiles((entity as WorkspaceEntityBase).id)
|
||||
vfuForAction.forEach { assertFalse(virtualFiles.contains(it)) }
|
||||
newUrls.map { virtualFileManager.fromUrl(it) }.forEach { assertTrue(virtualFiles.contains(it)) }
|
||||
newUrls.map { virtualFileManager.getOrCreateFromUri(it) }.forEach { assertTrue(virtualFiles.contains(it)) }
|
||||
}
|
||||
|
||||
private fun makeOperationOnListAndCheck(builder: MutableEntityStorageImpl, vararg urls: String, removeOperation: Boolean = false,
|
||||
operation: (ListVFUEntity.Builder, List<VirtualFileUrl>) -> Unit) {
|
||||
val entity = builder.entities(ListVFUEntity::class.java).single()
|
||||
val vfuForAction = urls.map { virtualFileManager.fromUrl(it) }
|
||||
val vfuForAction = urls.map { virtualFileManager.getOrCreateFromUri(it) }
|
||||
|
||||
var virtualFiles = builder.indexes.virtualFileIndex.getVirtualFiles((entity as WorkspaceEntityBase).id)
|
||||
if (removeOperation) vfuForAction.forEach { assertTrue(virtualFiles.contains(it)) }
|
||||
@@ -264,7 +264,7 @@ class MutableEntityCollectionTest {
|
||||
private fun makeReplaceOnListOperationAndCheck(builder: MutableEntityStorageImpl, oldUrls: List<String>, newUrls: List<String>,
|
||||
operation: (ListVFUEntity.Builder, List<VirtualFileUrl>) -> Unit) {
|
||||
val entity = builder.entities(ListVFUEntity::class.java).single()
|
||||
val vfuForAction = oldUrls.map { virtualFileManager.fromUrl(it) }
|
||||
val vfuForAction = oldUrls.map { virtualFileManager.getOrCreateFromUri(it) }
|
||||
|
||||
var virtualFiles = builder.indexes.virtualFileIndex.getVirtualFiles((entity as WorkspaceEntityBase).id)
|
||||
vfuForAction.forEach { assertTrue(virtualFiles.contains(it)) }
|
||||
@@ -275,6 +275,6 @@ class MutableEntityCollectionTest {
|
||||
|
||||
virtualFiles = builder.indexes.virtualFileIndex.getVirtualFiles((entity as WorkspaceEntityBase).id)
|
||||
vfuForAction.forEach { assertFalse(virtualFiles.contains(it)) }
|
||||
newUrls.map { virtualFileManager.fromUrl(it) }.forEach { assertTrue(virtualFiles.contains(it)) }
|
||||
newUrls.map { virtualFileManager.getOrCreateFromUri(it) }.forEach { assertTrue(virtualFiles.contains(it)) }
|
||||
}
|
||||
}
|
||||
@@ -1030,9 +1030,9 @@ class ReplaceBySourceTest {
|
||||
@RepeatedTest(10)
|
||||
fun `non persistent id root`() {
|
||||
val targetEntity = builder addEntity SampleEntity(false, "data", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), MySource)
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), MySource)
|
||||
val replaceWithEntity = replacement addEntity SampleEntity(false, "data", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), MySource)
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), MySource)
|
||||
|
||||
rbsMySources()
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ class SimplePropertiesInStorageTest {
|
||||
val builder = createEmptyBuilder()
|
||||
val source = SampleEntitySource("test")
|
||||
val entity = builder addEntity SampleEntity(true, "hello", mutableListOf("one", "two"), HashMap(),
|
||||
virtualFileManager.fromUrl("file:///tmp"), source)
|
||||
virtualFileManager.getOrCreateFromUri("file:///tmp"), source)
|
||||
assertTrue(entity.booleanProperty)
|
||||
assertEquals("hello", entity.stringProperty)
|
||||
assertEquals(listOf("one", "two"), entity.stringListProperty)
|
||||
@@ -38,7 +38,7 @@ class SimplePropertiesInStorageTest {
|
||||
@Test
|
||||
fun `remove entity`() {
|
||||
val builder = createEmptyBuilder()
|
||||
val entity = builder addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
val entity = builder addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
builder.removeEntity(entity)
|
||||
assertTrue(builder.entities(SampleEntity::class.java).toList().isEmpty())
|
||||
@@ -49,12 +49,12 @@ class SimplePropertiesInStorageTest {
|
||||
fun `modify entity`() {
|
||||
val builder = createEmptyBuilder()
|
||||
val original = builder addEntity SampleEntity(false, "hello", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
val modified = builder.modifyEntity(original) {
|
||||
stringProperty = "foo"
|
||||
stringListProperty.add("first")
|
||||
booleanProperty = true
|
||||
fileProperty = virtualFileManager.fromUrl("file:///xxx")
|
||||
fileProperty = virtualFileManager.getOrCreateFromUri("file:///xxx")
|
||||
}
|
||||
assertEquals("hello", original.stringProperty)
|
||||
assertEquals(emptyList<String>(), original.stringListProperty)
|
||||
@@ -67,7 +67,7 @@ class SimplePropertiesInStorageTest {
|
||||
@Test
|
||||
fun `builder from storage`() {
|
||||
val storage = createEmptyBuilder().apply {
|
||||
this addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
this addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
}.toSnapshot()
|
||||
|
||||
@@ -87,7 +87,7 @@ class SimplePropertiesInStorageTest {
|
||||
@Test
|
||||
fun `snapshot from builder`() {
|
||||
val builder = createEmptyBuilder()
|
||||
builder addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
builder addEntity SampleEntity(false, "hello", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
|
||||
val snapshot = builder.toSnapshot()
|
||||
@@ -137,7 +137,7 @@ class SimplePropertiesInStorageTest {
|
||||
val builder = createEmptyBuilder()
|
||||
val source1 = SampleEntitySource("1")
|
||||
val source2 = SampleEntitySource("2")
|
||||
val foo = builder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
val foo = builder addEntity SampleEntity(false, "foo", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
source1)
|
||||
val foo2 = builder.modifyEntity(foo) { this.entitySource = source2 }
|
||||
assertEquals(source1, foo.entitySource)
|
||||
@@ -151,7 +151,7 @@ class SimplePropertiesInStorageTest {
|
||||
fun `test trying to modify non-existing entity`() {
|
||||
val builder = createEmptyBuilder()
|
||||
val sampleEntity = builder addEntity SampleEntity(false, "Prop", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
val anotherBuilder = createEmptyBuilder()
|
||||
assertThrows<IllegalStateException> {
|
||||
anotherBuilder.modifyEntity(sampleEntity) {
|
||||
|
||||
@@ -41,8 +41,8 @@ class VirtualFileIndexTest {
|
||||
assertEquals(fileUrl, entity.fileProperty.url)
|
||||
|
||||
val modifiedEntity = builder.modifyEntity(entity) {
|
||||
this.fileProperty = virtualFileManager.fromUrl(fileUrl2)
|
||||
this.fileProperty = virtualFileManager.fromUrl(fileUrl3)
|
||||
this.fileProperty = virtualFileManager.getOrCreateFromUri(fileUrl2)
|
||||
this.fileProperty = virtualFileManager.getOrCreateFromUri(fileUrl3)
|
||||
} as VFUEntityImpl
|
||||
assertEquals(fileUrl3, modifiedEntity.fileProperty.url)
|
||||
val virtualFiles = builder.indexes.virtualFileIndex.getVirtualFiles(modifiedEntity.id)
|
||||
@@ -154,7 +154,7 @@ class VirtualFileIndexTest {
|
||||
assertEquals(entityB.fileProperty, virtualFile.first())
|
||||
|
||||
entityB = diff.modifyEntity((entityB as VFUEntity).from(diff)) {
|
||||
fileProperty = virtualFileManager.fromUrl(fileUrlC)
|
||||
fileProperty = virtualFileManager.getOrCreateFromUri(fileUrlC)
|
||||
} as VFUEntityImpl
|
||||
assertEquals(entityA.fileProperty, diff.indexes.virtualFileIndex.getVirtualFiles(entityA.id).first())
|
||||
virtualFile = diff.indexes.virtualFileIndex.getVirtualFiles(entityB.id)
|
||||
|
||||
@@ -180,10 +180,10 @@ class VirtualFileUrlManagerTest {
|
||||
|
||||
@Test
|
||||
fun `check from path`() {
|
||||
assertEquals("file://", virtualFileManager.fromUrl(VfsUtilCore.pathToUrl("")).url)
|
||||
assertEquals("file://", virtualFileManager.getOrCreateFromUri(VfsUtilCore.pathToUrl("")).url)
|
||||
|
||||
fun assertUrlFromPath(path: String) {
|
||||
assertEquals(VfsUtil.pathToUrl(path), virtualFileManager.fromUrl(VfsUtilCore.pathToUrl(path)).url)
|
||||
assertEquals(VfsUtil.pathToUrl(path), virtualFileManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(path)).url)
|
||||
}
|
||||
|
||||
assertUrlFromPath("/main/a.jar")
|
||||
@@ -194,14 +194,14 @@ class VirtualFileUrlManagerTest {
|
||||
|
||||
@Test
|
||||
fun `check normalize slashes`() {
|
||||
assertEquals("jar://C:/Users/X/a.txt", virtualFileManager.fromUrl("jar://C:/Users\\X\\a.txt").url)
|
||||
assertEquals("jar://C:/Users/X/a.txt", virtualFileManager.getOrCreateFromUri("jar://C:/Users\\X\\a.txt").url)
|
||||
}
|
||||
|
||||
private fun assertFilePath(expectedResult: String?, url: String) {
|
||||
assertEquals(expectedResult, virtualFileManager.fromUrl(url).presentableUrl)
|
||||
assertEquals(expectedResult, virtualFileManager.getOrCreateFromUri(url).presentableUrl)
|
||||
}
|
||||
|
||||
private fun roundTrip(url: String) {
|
||||
assertEquals(url, virtualFileManager.fromUrl(url).url)
|
||||
assertEquals(url, virtualFileManager.getOrCreateFromUri(url).url)
|
||||
}
|
||||
}
|
||||
@@ -29,9 +29,9 @@ class WorkspaceEntityEqualityTest {
|
||||
@Test
|
||||
fun `equality from different stores`() {
|
||||
val entityOne = builderOne addEntity SampleEntity(false, "Data", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
val entityTwo = builderTwo addEntity SampleEntity(false, "Data", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
|
||||
assertNotEquals(entityOne, entityTwo)
|
||||
}
|
||||
@@ -39,7 +39,7 @@ class WorkspaceEntityEqualityTest {
|
||||
@Test
|
||||
fun `equality modified entity in builder`() {
|
||||
val entityOne = builderOne addEntity SampleEntity(false, "Data", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), SampleEntitySource("test"))
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), SampleEntitySource("test"))
|
||||
val entityTwo = builderOne.modifyEntity(entityOne) {
|
||||
stringProperty = "AnotherData"
|
||||
}
|
||||
@@ -50,7 +50,7 @@ class WorkspaceEntityEqualityTest {
|
||||
|
||||
@Test
|
||||
fun `equality modified entity`() {
|
||||
builderOne addEntity SampleEntity(false, "Data", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
builderOne addEntity SampleEntity(false, "Data", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val storage = builderOne.toSnapshot()
|
||||
val entityOne = storage.entities(SampleEntity::class.java).single()
|
||||
@@ -65,9 +65,9 @@ class WorkspaceEntityEqualityTest {
|
||||
|
||||
@Test
|
||||
fun `equality modified another entity`() {
|
||||
builderOne addEntity SampleEntity(false, "Data1", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
builderOne addEntity SampleEntity(false, "Data1", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
builderOne addEntity SampleEntity(false, "Data2", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
builderOne addEntity SampleEntity(false, "Data2", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val storage = builderOne.toSnapshot()
|
||||
val entityOne = storage.entities(SampleEntity::class.java).single { it.stringProperty == "Data1" }
|
||||
@@ -84,9 +84,9 @@ class WorkspaceEntityEqualityTest {
|
||||
|
||||
@Test
|
||||
fun `equality in set`() {
|
||||
builderOne addEntity SampleEntity(false, "Data1", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
builderOne addEntity SampleEntity(false, "Data1", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
builderOne addEntity SampleEntity(false, "Data2", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
builderOne addEntity SampleEntity(false, "Data2", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
|
||||
val checkSet = HashSet<SampleEntity>()
|
||||
@@ -118,7 +118,7 @@ class WorkspaceEntityEqualityTest {
|
||||
@Disabled
|
||||
@Test
|
||||
fun `equality for entity from event and from updated snapshot after dummy modification`() {
|
||||
builderOne addEntity SampleEntity(false, "Data", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
builderOne addEntity SampleEntity(false, "Data", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
builderTwo.applyChangesFrom(builderOne)
|
||||
val entityInEvent = builderTwo.collectChanges()[SampleEntity::class.java]!!.single().newEntity!!
|
||||
@@ -140,7 +140,7 @@ class WorkspaceEntityEqualityTest {
|
||||
|
||||
@Test
|
||||
fun `cache for requests works`() {
|
||||
builderOne addEntity SampleEntity(false, "Data", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
builderOne addEntity SampleEntity(false, "Data", ArrayList(), HashMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val snapshot = builderOne.toSnapshot()
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ class ExternalEntityMappingImplTest {
|
||||
fun `mapping mutability test`() {
|
||||
val initialBuilder = createEmptyBuilder()
|
||||
val sampleEntity = initialBuilder addEntity SampleEntity(false, "123", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
val mutableMapping = initialBuilder.getMutableExternalMapping(externalMappingKey)
|
||||
mutableMapping.addMapping(sampleEntity, 1)
|
||||
@@ -24,7 +24,7 @@ class ExternalEntityMappingImplTest {
|
||||
val newBuilder = createBuilderFrom(initialBuilder)
|
||||
|
||||
val anotherEntity = initialBuilder addEntity SampleEntity(false, "321", ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test"))
|
||||
mutableMapping.addMapping(anotherEntity, 2)
|
||||
|
||||
|
||||
@@ -784,7 +784,7 @@ class WorkspaceBuilderChangeLogTest {
|
||||
fun updateParentOfOneToOneChild() {
|
||||
val child = builder addEntity ChildSampleEntity("data", MySource)
|
||||
val newBuilder = builder.toSnapshot().toBuilder() as MutableEntityStorageImpl
|
||||
newBuilder addEntity SampleEntity(true, "", listOf(), emptyMap(), VirtualFileUrlManagerImpl().fromUrl("file:///tmp"), MySource) {
|
||||
newBuilder addEntity SampleEntity(true, "", listOf(), emptyMap(), VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"), MySource) {
|
||||
this.children = listOf(child)
|
||||
}
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@ class SimpleMetadataSerializationTest: MetadataSerializationTest() {
|
||||
builder addEntity com.intellij.platform.workspace.storage.testEntities.entities.cacheVersion.KeyPropEntity(
|
||||
someInt = 5,
|
||||
text = "cache version",
|
||||
url = virtualFileManager.fromUrl("file:///tmp"),
|
||||
url = virtualFileManager.getOrCreateFromUri("file:///tmp"),
|
||||
SampleEntitySource("test")
|
||||
)
|
||||
|
||||
|
||||
@@ -517,7 +517,7 @@ private object SampleEntityManipulation : EntityManipulation {
|
||||
someProperty: String,
|
||||
env: ImperativeCommand.Environment): Pair<WorkspaceEntity?, String> {
|
||||
return storage addEntity SampleEntity(false, someProperty, ArrayList(), HashMap(),
|
||||
VirtualFileUrlManagerImpl().fromUrl("file:///tmp"),
|
||||
VirtualFileUrlManagerImpl().getOrCreateFromUri("file:///tmp"),
|
||||
source) to "property: $someProperty"
|
||||
}
|
||||
}
|
||||
@@ -541,7 +541,7 @@ private object SampleEntityManipulation : EntityManipulation {
|
||||
someProperty: String,
|
||||
env: ImperativeCommand.Environment): Pair<WorkspaceEntity?, String> {
|
||||
val virtualFileManager = VirtualFileUrlManagerImpl()
|
||||
return SampleEntity(false, someProperty, emptyList(), emptyMap(), virtualFileManager.fromUrl("file:///tmp"), source) {
|
||||
return SampleEntity(false, someProperty, emptyList(), emptyMap(), virtualFileManager.getOrCreateFromUri("file:///tmp"), source) {
|
||||
this.children = emptyList()
|
||||
} to "property: $someProperty"
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ public final class EclipseClasspathStorageProvider implements ClasspathStoragePr
|
||||
VirtualFileUrlManager virtualFileUrlManager = VirtualFileUrls.getVirtualFileUrlManager(model.getModule().getProject());
|
||||
String contentRoot = getContentRoot(model);
|
||||
String classpathFileUrl = VfsUtilCore.pathToUrl(contentRoot) + "/" + EclipseXml.CLASSPATH_FILE;
|
||||
return new EclipseProjectFile(virtualFileUrlManager.fromUrl(classpathFileUrl), (JpsFileEntitySource)source);
|
||||
return new EclipseProjectFile(virtualFileUrlManager.getOrCreateFromUri(classpathFileUrl), (JpsFileEntitySource)source);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ class EclipseModuleManagerSerializer : CustomModuleComponentSerializer {
|
||||
}
|
||||
(entity as EclipseProjectPropertiesEntity.Builder).apply {
|
||||
componentTag.getChildren(LIBELEMENT).forEach {
|
||||
eclipseUrls.add(virtualFileManager.fromUrl(it.getAttributeValue(VALUE_ATTR)!!))
|
||||
eclipseUrls.add(virtualFileManager.getOrCreateFromUri(it.getAttributeValue(VALUE_ATTR)!!))
|
||||
}
|
||||
componentTag.getChildren(VARELEMENT).forEach {
|
||||
variablePaths = variablePaths.toMutableMap().also { map ->
|
||||
|
||||
@@ -215,7 +215,7 @@ class EclipseModuleRootsSerializer : CustomModuleRootsSerializer, StorageManager
|
||||
val linked = expandLinkedResourcesPath(storageRootPath, expandMacroMap, path)
|
||||
val outputUrl: VirtualFileUrl
|
||||
if (linked != null) {
|
||||
outputUrl = virtualUrlManager.fromUrl(pathToUrl(linked))
|
||||
outputUrl = virtualUrlManager.getOrCreateFromUri(pathToUrl(linked))
|
||||
editEclipseProperties {
|
||||
it.setVariable(EclipseModuleManagerImpl.LINK_PREFIX, path, outputUrl.url)
|
||||
}
|
||||
@@ -333,7 +333,7 @@ class EclipseModuleRootsSerializer : CustomModuleRootsSerializer, StorageManager
|
||||
else if (path.startsWith(EclipseXml.JUNIT_CONTAINER)) {
|
||||
val junitName = IdeaXml.JUNIT + AbstractEclipseClasspathReader.getPresentableName(path)
|
||||
val url = EclipseClasspathReader.getJunitClsUrl(junitName.contains("4"))
|
||||
val roots = listOf(LibraryRoot(virtualUrlManager.fromUrl(url),
|
||||
val roots = listOf(LibraryRoot(virtualUrlManager.getOrCreateFromUri(url),
|
||||
LibraryRootTypeId.COMPILED))
|
||||
val libraryEntity = LibraryEntity(junitName,
|
||||
LibraryTableId.ModuleLibraryTableId(moduleEntity.symbolicId),
|
||||
|
||||
@@ -86,15 +86,15 @@ internal class EmlFileLoader(
|
||||
val url = rootTag.getAttributeValue("url")
|
||||
val bindAttribute = rootTag.getAttributeValue(IdeaSpecificSettings.SRCROOT_BIND_ATTR)
|
||||
if (bindAttribute != null && !bindAttribute.toBoolean()) {
|
||||
rootsToAdd.add(LibraryRoot(virtualFileManager.fromUrl(url!!), LibraryRootTypeId.SOURCES))
|
||||
rootsToAdd.add(LibraryRoot(virtualFileManager.getOrCreateFromUri(url!!), LibraryRootTypeId.SOURCES))
|
||||
}
|
||||
else if (eclipseSrcRoot != null && url != eclipseSrcRoot.url.url && EPathUtil.areUrlsPointTheSame(url, eclipseSrcRoot.url.url)) {
|
||||
rootsToAdd.add(LibraryRoot(virtualFileManager.fromUrl(url!!), LibraryRootTypeId.SOURCES))
|
||||
rootsToAdd.add(LibraryRoot(virtualFileManager.getOrCreateFromUri(url!!), LibraryRootTypeId.SOURCES))
|
||||
rootsToRemove.add(eclipseSrcRoot)
|
||||
}
|
||||
}
|
||||
libTag.getChildren(IdeaSpecificSettings.JAVADOCROOT_ATTR).mapTo(rootsToAdd) {
|
||||
LibraryRoot(virtualFileManager.fromUrl(it.getAttributeValue("url")!!), EclipseModuleRootsSerializer.JAVADOC_TYPE)
|
||||
LibraryRoot(virtualFileManager.getOrCreateFromUri(it.getAttributeValue("url")!!), EclipseModuleRootsSerializer.JAVADOC_TYPE)
|
||||
}
|
||||
|
||||
fun updateRoots(tagName: String, rootType: String) {
|
||||
@@ -103,7 +103,7 @@ internal class EmlFileLoader(
|
||||
library.roots.forEach { libRoot ->
|
||||
if (libRoot !in rootsToRemove && libRoot.type.name == rootType && EPathUtil.areUrlsPointTheSame(root, libRoot.url.url)) {
|
||||
rootsToRemove.add(libRoot)
|
||||
rootsToAdd.add(LibraryRoot(virtualFileManager.fromUrl(root), LibraryRootTypeId(rootType)))
|
||||
rootsToAdd.add(LibraryRoot(virtualFileManager.getOrCreateFromUri(root), LibraryRootTypeId(rootType)))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -155,7 +155,7 @@ internal class EmlFileLoader(
|
||||
(javaSettings as JavaModuleSettingsEntity.Builder).apply {
|
||||
val testOutputElement = emlTag.getChild(IdeaXml.OUTPUT_TEST_TAG)
|
||||
if (testOutputElement != null) {
|
||||
compilerOutputForTests = testOutputElement.getAttributeValue(IdeaXml.URL_ATTR)?.let { virtualFileManager.fromUrl(it) }
|
||||
compilerOutputForTests = testOutputElement.getAttributeValue(IdeaXml.URL_ATTR)?.let { virtualFileManager.getOrCreateFromUri(it) }
|
||||
}
|
||||
|
||||
val inheritedOutput = emlTag.getAttributeValue(JpsJavaModelSerializerExtension.INHERIT_COMPILER_OUTPUT_ATTRIBUTE)
|
||||
@@ -173,7 +173,7 @@ internal class EmlFileLoader(
|
||||
val entryElements = emlTag.getChildren(IdeaXml.CONTENT_ENTRY_TAG)
|
||||
if (entryElements.isNotEmpty()) {
|
||||
entryElements.forEach { entryTag ->
|
||||
val url = virtualFileManager.fromUrl(entryTag.getAttributeValue(IdeaXml.URL_ATTR)!!)
|
||||
val url = virtualFileManager.getOrCreateFromUri(entryTag.getAttributeValue(IdeaXml.URL_ATTR)!!)
|
||||
val contentRootEntity = contentRoot.module.contentRoots.firstOrNull { it.url == url }
|
||||
?: ContentRootEntity(url, emptyList(), module.entitySource) {
|
||||
this.module = module
|
||||
@@ -219,7 +219,7 @@ internal class EmlFileLoader(
|
||||
val excludedUrls = contentEntryTag.getChildren(IdeaXml.EXCLUDE_FOLDER_TAG)
|
||||
.mapNotNull { it.getAttributeValue(IdeaXml.URL_ATTR) }
|
||||
.filter { FileUtil.isAncestor(entity.url.toPath().toFile(), JpsPathUtil.urlToFile(it), false) }
|
||||
.map { virtualFileManager.fromUrl(it) }
|
||||
.map { virtualFileManager.getOrCreateFromUri(it) }
|
||||
if (excludedUrls.isNotEmpty()) {
|
||||
(entity as ContentRootEntity.Builder).excludedUrls += excludedUrls.map { ExcludeUrlEntity(it, entity.entitySource) }
|
||||
}
|
||||
|
||||
@@ -44,13 +44,13 @@ internal fun convertToJavadocUrl(originalPath: String,
|
||||
if (javadocPath.startsWith(EclipseXml.FILE_PROTOCOL)) {
|
||||
val path = javadocPath.removePrefix(EclipseXml.FILE_PROTOCOL)
|
||||
if (File(path).exists()) {
|
||||
return virtualUrlManager.fromUrl(pathToUrl(path))
|
||||
return virtualUrlManager.getOrCreateFromUri(pathToUrl(path))
|
||||
}
|
||||
}
|
||||
else {
|
||||
val protocol = VirtualFileManager.extractProtocol(javadocPath)
|
||||
if (protocol == HttpFileSystem.getInstance().protocol) {
|
||||
return virtualUrlManager.fromUrl(javadocPath)
|
||||
return virtualUrlManager.getOrCreateFromUri(javadocPath)
|
||||
}
|
||||
else if (javadocPath.startsWith(EclipseXml.JAR_PREFIX)) {
|
||||
val jarJavadocPath = javadocPath.removePrefix(EclipseXml.JAR_PREFIX)
|
||||
@@ -61,7 +61,7 @@ internal fun convertToJavadocUrl(originalPath: String,
|
||||
(moduleEntity.entitySource as EclipseProjectFile).projectLocation.baseDirectoryUrl.url)
|
||||
val currentModulePath = basePath + relativeToPlatform
|
||||
if (EJavadocUtil.isJarFileExist(currentModulePath)) {
|
||||
return virtualUrlManager.fromUrl(VirtualFileManager.constructUrl(JarFileSystem.PROTOCOL, currentModulePath))
|
||||
return virtualUrlManager.getOrCreateFromUri(VirtualFileManager.constructUrl(JarFileSystem.PROTOCOL, currentModulePath))
|
||||
}
|
||||
else {
|
||||
val moduleName = EPathCommonUtil.getRelativeModuleName(relativeToPlatform)
|
||||
@@ -77,19 +77,19 @@ internal fun convertToJavadocUrl(originalPath: String,
|
||||
if (relativeToModulePath!!.length < relativeToModulePathWithJarSuffix!!.length) {
|
||||
url += relativeToModulePathWithJarSuffix.substring(relativeToModulePath.length)
|
||||
}
|
||||
return virtualUrlManager.fromUrl(VirtualFileManager.constructUrl(JarFileSystem.PROTOCOL, VfsUtil.urlToPath(url)))
|
||||
return virtualUrlManager.getOrCreateFromUri(VirtualFileManager.constructUrl(JarFileSystem.PROTOCOL, VfsUtil.urlToPath(url)))
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (jarJavadocPath.startsWith(EclipseXml.FILE_PROTOCOL)) {
|
||||
val localFile = jarJavadocPath.substring(EclipseXml.FILE_PROTOCOL.length)
|
||||
if (EJavadocUtil.isJarFileExist(localFile)) {
|
||||
return virtualUrlManager.fromUrl(VirtualFileManager.constructUrl(JarFileSystem.PROTOCOL, localFile))
|
||||
return virtualUrlManager.getOrCreateFromUri(VirtualFileManager.constructUrl(JarFileSystem.PROTOCOL, localFile))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return virtualUrlManager.fromUrl(javadocPath)
|
||||
return virtualUrlManager.getOrCreateFromUri(javadocPath)
|
||||
}
|
||||
|
||||
internal fun convertToEclipseJavadocPath(javadocRoot: VirtualFileUrl,
|
||||
@@ -141,11 +141,11 @@ internal fun convertToRootUrl(path: String, virtualUrlManager: VirtualFileUrlMan
|
||||
if (localFile != null) {
|
||||
val jarFile = JarFileSystem.getInstance().getJarRootForLocalFile(localFile)
|
||||
if (jarFile != null) {
|
||||
return virtualUrlManager.fromUrl(jarFile.url)
|
||||
return virtualUrlManager.getOrCreateFromUri(jarFile.url)
|
||||
}
|
||||
}
|
||||
|
||||
return virtualUrlManager.fromUrl(url)
|
||||
return virtualUrlManager.getOrCreateFromUri(url)
|
||||
}
|
||||
|
||||
internal fun pathToUrl(path: String): String = JpsPathUtil.pathToUrl(FileUtil.toSystemIndependentName(path))
|
||||
@@ -171,7 +171,7 @@ internal fun convertRelativePathToUrl(path: String,
|
||||
if (moduleName != contentRootEntity.module.name) {
|
||||
val url = pathResolver.resolve(moduleName, relativeToRootPath)
|
||||
if (url != null) {
|
||||
return virtualUrlManager.fromUrl(url)
|
||||
return virtualUrlManager.getOrCreateFromUri(url)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -207,7 +207,7 @@ internal fun getStorageRoot(imlFileUrl: VirtualFileUrl, customDir: String?, virt
|
||||
val moduleRoot = imlFileUrl.parent!!
|
||||
if (customDir == null) return moduleRoot
|
||||
if (OSAgnosticPathUtil.isAbsolute(customDir)) {
|
||||
return virtualFileManager.fromUrl(VfsUtilCore.pathToUrl(customDir))
|
||||
return virtualFileManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(customDir))
|
||||
}
|
||||
return moduleRoot.append(customDir)
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ fun VirtualFile.findDependentScripts(project: Project): List<KotlinScriptEntity>
|
||||
|
||||
var currentFile: VirtualFile? = this
|
||||
while (currentFile != null) {
|
||||
val entities = index.findEntitiesByUrl(fileUrlManager.fromUrl(currentFile.url))
|
||||
val entities = index.findEntitiesByUrl(fileUrlManager.getOrCreateFromUri(currentFile.url))
|
||||
if (entities.none()) {
|
||||
currentFile = currentFile.parent
|
||||
continue
|
||||
|
||||
@@ -76,7 +76,7 @@ internal class MavenShadePluginConfigurator : MavenWorkspaceConfigurator {
|
||||
val mavenId = dependencyMavenProject.mavenId
|
||||
val fileName = "${mavenId.artifactId}-${mavenId.version}.jar"
|
||||
val jarPath = Path.of(dependencyMavenProject.buildDirectory, fileName).pathString
|
||||
val jarUrl = VirtualFileUrlManager.getInstance(project).fromUrl("jar://$jarPath!/")
|
||||
val jarUrl = VirtualFileUrlManager.getInstance(project).getOrCreateFromUri("jar://$jarPath!/")
|
||||
|
||||
addLibraryEntity(
|
||||
builder,
|
||||
|
||||
@@ -64,7 +64,7 @@ internal class ImporterModifiableArtifact(private val project: Project,
|
||||
}
|
||||
|
||||
override fun setOutputPath(outputPath: String?) {
|
||||
val outputUrl = outputPath?.let { VirtualFileUrlManager.getInstance(project).fromUrl(VfsUtilCore.pathToUrl(it)) }
|
||||
val outputUrl = outputPath?.let { VirtualFileUrlManager.getInstance(project).getOrCreateFromUri(VfsUtilCore.pathToUrl(it)) }
|
||||
this.outputUrl = outputUrl!!
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ internal class ImporterModifiableArtifactModel(private val project: Project,
|
||||
|
||||
val outputPath = ArtifactUtil.getDefaultArtifactOutputPath(uniqueName, project)
|
||||
val fileManager = VirtualFileUrlManager.getInstance(project)
|
||||
val outputUrl = outputPath?.let { fileManager.fromUrl(VfsUtilCore.pathToUrl(it)) }
|
||||
val outputUrl = outputPath?.let { fileManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(it)) }
|
||||
|
||||
val artifact = ImporterModifiableArtifact(project, uniqueName, artifactType, outputUrl!!, rootElement, externalSource)
|
||||
|
||||
|
||||
@@ -50,9 +50,9 @@ internal class WorkspaceFolderImporter(
|
||||
|
||||
for (root in ContentRootCollector.collect(allFolders)) {
|
||||
val excludes = root.excludeFolders
|
||||
.map { exclude -> virtualFileUrlManager.fromUrl(VfsUtilCore.pathToUrl(exclude.path)) }
|
||||
.map { exclude -> virtualFileUrlManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(exclude.path)) }
|
||||
.map { builder addEntity ExcludeUrlEntity(it, module.entitySource) }
|
||||
val contentRootEntity = builder addEntity ContentRootEntity(virtualFileUrlManager.fromUrl(VfsUtilCore.pathToUrl(root.path)),
|
||||
val contentRootEntity = builder addEntity ContentRootEntity(virtualFileUrlManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(root.path)),
|
||||
emptyList(), module.entitySource) {
|
||||
this.excludedUrls = excludes
|
||||
this.module = module
|
||||
@@ -107,7 +107,7 @@ internal class WorkspaceFolderImporter(
|
||||
else -> error("${folder.type} doesn't match to maven root item")
|
||||
}
|
||||
|
||||
val sourceRootEntity = builder addEntity SourceRootEntity(virtualFileUrlManager.fromUrl(VfsUtilCore.pathToUrl(folder.path)), rootType,
|
||||
val sourceRootEntity = builder addEntity SourceRootEntity(virtualFileUrlManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(folder.path)), rootType,
|
||||
contentRootEntity.entitySource) {
|
||||
this.contentRoot = contentRootEntity
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ internal class WorkspaceModuleImporter(
|
||||
null,
|
||||
{
|
||||
dependency.rootPaths.map { (url, type) ->
|
||||
LibraryRoot(virtualFileUrlManager.fromUrl(pathToUrl(url)), type)
|
||||
LibraryRoot(virtualFileUrlManager.getOrCreateFromUri(pathToUrl(url)), type)
|
||||
}
|
||||
},
|
||||
{ reuseOrCreateProjectLibrarySource(dependency.artifact) })
|
||||
@@ -166,7 +166,7 @@ internal class WorkspaceModuleImporter(
|
||||
artifact,
|
||||
{
|
||||
val classes = MavenImportUtil.getArtifactUrlForClassifierAndExtension(artifact, null, null)
|
||||
listOf(LibraryRoot(virtualFileUrlManager.fromUrl(classes), LibraryRootTypeId.COMPILED))
|
||||
listOf(LibraryRoot(virtualFileUrlManager.getOrCreateFromUri(classes), LibraryRootTypeId.COMPILED))
|
||||
},
|
||||
sourceProvider)
|
||||
return ModuleDependencyItem.Exportable.LibraryDependency(libraryId, false, artifact.dependencyScope)
|
||||
@@ -180,9 +180,9 @@ internal class WorkspaceModuleImporter(
|
||||
val sources = MavenImportUtil.getArtifactUrlForClassifierAndExtension(artifact, "sources", "jar")
|
||||
val javadoc = MavenImportUtil.getArtifactUrlForClassifierAndExtension(artifact, "javadoc", "jar")
|
||||
listOf(
|
||||
LibraryRoot(virtualFileUrlManager.fromUrl(classes), LibraryRootTypeId.COMPILED),
|
||||
LibraryRoot(virtualFileUrlManager.fromUrl(sources), LibraryRootTypeId.SOURCES),
|
||||
LibraryRoot(virtualFileUrlManager.fromUrl(javadoc), JAVADOC_TYPE),
|
||||
LibraryRoot(virtualFileUrlManager.getOrCreateFromUri(classes), LibraryRootTypeId.COMPILED),
|
||||
LibraryRoot(virtualFileUrlManager.getOrCreateFromUri(sources), LibraryRootTypeId.SOURCES),
|
||||
LibraryRoot(virtualFileUrlManager.getOrCreateFromUri(javadoc), JAVADOC_TYPE),
|
||||
)
|
||||
}
|
||||
return createLibraryDependency(artifact.libraryName,
|
||||
@@ -266,10 +266,10 @@ internal class WorkspaceModuleImporter(
|
||||
|
||||
if (!inheritCompilerOutput) {
|
||||
if (moduleType.containsMain) {
|
||||
compilerOutputUrl = virtualFileUrlManager.fromUrl(VfsUtilCore.pathToUrl(importFolderHolder.outputPath))
|
||||
compilerOutputUrl = virtualFileUrlManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(importFolderHolder.outputPath))
|
||||
}
|
||||
if (moduleType.containsTest) {
|
||||
compilerOutputUrlForTests = virtualFileUrlManager.fromUrl(VfsUtilCore.pathToUrl(importFolderHolder.testOutputPath))
|
||||
compilerOutputUrlForTests = virtualFileUrlManager.getOrCreateFromUri(VfsUtilCore.pathToUrl(importFolderHolder.testOutputPath))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user