Remove Revit file entity check as we're storing model card state only in DB and not the file (#1100)
This commit is contained in:
-1
@@ -37,7 +37,6 @@ public static class ServiceRegistration
|
||||
serviceCollection.AddMatchingInterfacesAsTransient(Assembly.GetExecutingAssembly());
|
||||
|
||||
// Storage Schema
|
||||
serviceCollection.AddScoped<DocumentModelStorageSchema>();
|
||||
serviceCollection.AddScoped<IdStorageSchema>();
|
||||
|
||||
// POC: we need to review the scopes and create a document on what the policy is
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
using Autodesk.Revit.DB.ExtensibleStorage;
|
||||
|
||||
namespace Speckle.Connectors.Revit.HostApp;
|
||||
|
||||
public class DocumentModelStorageSchema : IStorageSchema
|
||||
{
|
||||
private readonly Guid _schemaGuid = new("D690F2B4-BDB0-4CB4-8657-17844ADF42AA");
|
||||
|
||||
public Schema GetSchema()
|
||||
{
|
||||
Schema schema = Schema.Lookup(_schemaGuid);
|
||||
if (schema != null)
|
||||
{
|
||||
return schema;
|
||||
}
|
||||
|
||||
using SchemaBuilder builder = new(_schemaGuid);
|
||||
builder.SetSchemaName("DUI3State");
|
||||
builder.AddSimpleField("contents", typeof(string));
|
||||
return builder.Finish();
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.DB.ExtensibleStorage;
|
||||
using Autodesk.Revit.UI;
|
||||
using Autodesk.Revit.UI.Events;
|
||||
using Microsoft.Extensions.Logging;
|
||||
@@ -20,7 +19,6 @@ internal sealed class RevitDocumentStore : DocumentModelStore
|
||||
private readonly ILogger<RevitDocumentStore> _logger;
|
||||
private readonly IAppIdleManager _idleManager;
|
||||
private readonly RevitContext _revitContext;
|
||||
private readonly DocumentModelStorageSchema _documentModelStorageSchema;
|
||||
private readonly ITopLevelExceptionHandler _topLevelExceptionHandler;
|
||||
private readonly ISqLiteJsonCacheManager _jsonCacheManager;
|
||||
|
||||
@@ -28,7 +26,6 @@ internal sealed class RevitDocumentStore : DocumentModelStore
|
||||
IAppIdleManager idleManager,
|
||||
RevitContext revitContext,
|
||||
IJsonSerializer jsonSerializer,
|
||||
DocumentModelStorageSchema documentModelStorageSchema,
|
||||
ITopLevelExceptionHandler topLevelExceptionHandler,
|
||||
IRevitTask revitTask,
|
||||
ISqLiteJsonCacheManagerFactory jsonCacheManagerFactory,
|
||||
@@ -39,7 +36,6 @@ internal sealed class RevitDocumentStore : DocumentModelStore
|
||||
_jsonCacheManager = jsonCacheManagerFactory.CreateForUser("ConnectorsFileData");
|
||||
_idleManager = idleManager;
|
||||
_revitContext = revitContext;
|
||||
_documentModelStorageSchema = documentModelStorageSchema;
|
||||
_topLevelExceptionHandler = topLevelExceptionHandler;
|
||||
_logger = logger;
|
||||
|
||||
@@ -131,42 +127,15 @@ internal sealed class RevitDocumentStore : DocumentModelStore
|
||||
return;
|
||||
}
|
||||
|
||||
var stateEntity = GetSpeckleEntity(document);
|
||||
if (stateEntity == null || !stateEntity.IsValid())
|
||||
{
|
||||
ClearAndSave();
|
||||
return;
|
||||
}
|
||||
|
||||
var key = GetKeyForDocument(document);
|
||||
if (key != null)
|
||||
{
|
||||
var state = _jsonCacheManager.GetObject(key);
|
||||
if (state == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
LoadFromString(state);
|
||||
}
|
||||
}
|
||||
|
||||
private Entity? GetSpeckleEntity(Document? doc)
|
||||
{
|
||||
if (doc is null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
using FilteredElementCollector collector = new(doc);
|
||||
|
||||
FilteredElementCollector dataStorages = collector.OfClass(typeof(DataStorage));
|
||||
foreach (Element element in dataStorages)
|
||||
{
|
||||
DataStorage dataStorage = (DataStorage)element;
|
||||
Entity settingEntity = dataStorage.GetEntity(_documentModelStorageSchema.GetSchema());
|
||||
if (!settingEntity.IsValid())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
return settingEntity;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
-1
@@ -19,7 +19,6 @@
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Bindings\SelectionBinding.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Bindings\RevitSendBinding.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ElementIdHelper.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)HostApp\DocumentModelStorageSchema.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)HostApp\DocumentToConvert.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)HostApp\Elements.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)HostApp\LevelUnpacker.cs" />
|
||||
|
||||
Reference in New Issue
Block a user