//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test void shouldPersistFulltextIndexSettings() throws java.io.IOException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: internal virtual void ShouldPersistFulltextIndexSettings() { // Given File indexFolder = Directory.directory("indexFolder"); string analyzerName = "simple"; string eventuallyConsistency = "true"; string defaultAnalyzer = "defaultAnalyzer"; int[] propertyIds = new int[] { 1, 2, 3 }; MultiTokenSchemaDescriptor schema = SchemaDescriptorFactory.multiToken(new int[] { 1, 2 }, EntityType.NODE, propertyIds); // A fulltext index descriptor with configurations Properties properties = properties(analyzerName, eventuallyConsistency); FulltextSchemaDescriptor fulltextSchemaDescriptor = new FulltextSchemaDescriptor(schema, properties); StoreIndexDescriptor storeIndexDescriptor = StoreIndexDescriptorFromSchema(fulltextSchemaDescriptor); TokenRegistry tokenRegistry = SimpleTokenHolder.CreatePopulatedTokenRegistry(Org.Neo4j.Kernel.impl.core.TokenHolder_Fields.TYPE_PROPERTY_KEY, propertyIds); SimpleTokenHolder tokenHolder = new SimpleTokenHolder(tokenRegistry); FulltextIndexDescriptor fulltextIndexDescriptor = readOrInitialiseDescriptor(storeIndexDescriptor, defaultAnalyzer, tokenHolder, indexFolder, Fs); assertEquals(analyzerName, fulltextIndexDescriptor.AnalyzerName()); assertEquals(bool.Parse(eventuallyConsistency), fulltextIndexDescriptor.EventuallyConsistent); // When persisting it FulltextIndexSettings.SaveFulltextIndexSettings(fulltextIndexDescriptor, indexFolder, Fs); // Then we should be able to load it back with settings being the same StoreIndexDescriptor loadingIndexDescriptor = StoreIndexDescriptorFromSchema(schema); FulltextIndexDescriptor loadedDescriptor = readOrInitialiseDescriptor(loadingIndexDescriptor, defaultAnalyzer, tokenHolder, indexFolder, Fs); assertEquals(fulltextIndexDescriptor.AnalyzerName(), loadedDescriptor.AnalyzerName()); assertEquals(fulltextIndexDescriptor.EventuallyConsistent, loadedDescriptor.EventuallyConsistent); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: static void saveFulltextIndexSettings(FulltextIndexDescriptor descriptor, java.io.File indexFolder, org.neo4j.io.fs.FileSystemAbstraction fs) throws java.io.IOException internal static void SaveFulltextIndexSettings(FulltextIndexDescriptor descriptor, File indexFolder, FileSystemAbstraction fs) { File indexConfigFile = new File(indexFolder, INDEX_CONFIG_FILE); Properties settings = new Properties(); settings.setProperty(INDEX_CONFIG_EVENTUALLY_CONSISTENT, Convert.ToString(descriptor.EventuallyConsistent)); settings.setProperty(INDEX_CONFIG_ANALYZER, descriptor.AnalyzerName()); //JAVA TO C# CONVERTER TODO TASK: Most Java stream collectors are not converted by Java to C# Converter: settings.setProperty(INDEX_CONFIG_PROPERTY_NAMES, descriptor.PropertyNames().collect(Collectors.joining(", ", "[", "]"))); settings.setProperty("_propertyIds", Arrays.ToString(descriptor.Properties())); settings.setProperty("_name", descriptor.Name()); settings.setProperty("_schema_entityType", descriptor.Schema().entityType().name()); settings.setProperty("_schema_entityTokenIds", Arrays.ToString(descriptor.Schema().EntityTokenIds)); using (StoreChannel channel = fs.Create(indexConfigFile), Writer writer = fs.OpenAsWriter(indexConfigFile, StandardCharsets.UTF_8, false)) { settings.store(writer, "Auto-generated file. Do not modify!"); writer.flush(); channel.Force(true); } }