Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

36
LINES

< > BotCompany Repo | #1030881 // quickImportMainConcepts

JavaX fragment (include) [tags: use-pretranspiled]

Libraryless. Click here for Pure Java version (15613L/101K).

// assumes main concepts are empty before
// only works when you call db() afterwards
svoid quickImportMainConcepts(virtual Concepts oldConcepts, IF0<Bool> enabled default null) {
  if (!shortNameIs(oldConcepts, "Concepts")) ret;
  Concepts concepts = db_mainConcepts();
  concepts.miscMapPut("dbGrabber", func -> Bool {
    concepts.miscMapRemove("dbGrabber");
    pcall {
      if (isFalse(callF(enabled))) false;
      concepts.idCounter = getLong idCounter(oldConcepts);
      printVars_str(idCounter := concepts.idCounter);
      Map<Long, virtual Concept> oldMap = cast _get concepts(oldConcepts);
      printVars_str(+oldMap);
      
      new RealmCopy rc;
      rc.nonTransientOnly = true;
      rc.fullCopy = true;
      rc.overrideCollectionOrMapCopy = o -> {
        rc.classMap.put(_getClass(o), _getClass(o));
        false;
      };
      
      {
        temp tempSetTL(dynamicObjectIsLoading_threadLocal(), true);
        concepts.concepts.putAll((Map<Long, Concept>) rc.copy(oldMap));
      }
      pnl("quickImportDB", mapSortedByFunctionOnKey str(rc.classMap));
      
      // Note: this calls _doneLoading2() on all concepts
      concepts.assignConceptsToUs();
      print(nConcepts(countConcepts()) + " quick-imported");
      true;
    }
    false;
  });
}

download  show line numbers  debug dex  old transpilations   

Travelled to 4 computer(s): bhatertpkbcr, mqqgnosmbjvj, pyentgdyhuwx, vouqrxazstgt

No comments. add comment

Snippet ID: #1030881
Snippet name: quickImportMainConcepts
Eternal ID of this version: #1030881/15
Text MD5: 2d32c6bf174a92a9ec2734f73dbebc86
Transpilation MD5: 13cb40f25fa1e8633d3b2820e00f8c30
Author: stefan
Category: javax / concepts
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2021-04-24 06:14:43
Source code size: 1316 bytes / 36 lines
Pitched / IR pitched: No / No
Views / Downloads: 221 / 339
Version history: 14 change(s)
Referenced in: [show references]