Beispiel #1
0
  public void storeMeemDefinition(MeemPath meemPath, MeemDefinition meemDefinition) {
    if (DEBUG) {
      logger.info("storing meem def: " + meemPath);
    }

    // only store meemstore paths
    if (meemPath.getSpace().equals(Space.MEEMSTORE)) {
      int meemVersion = meemDefinition.getMeemAttribute().getVersion();
      if (meemVersion > definitionStore.getVersion(meemPath)) {
        definitionStore.store(meemPath, meemDefinition);

        synchronized (meemPaths) {
          if (!meemPaths.containsKey(meemPath.getLocation())) {
            meemPaths.put(meemPath.getLocation(), meemPath);
            meemStoreClient.meemStored(meemPath);
          }
          meemDefinitionClient.meemDefinitionChanged(meemPath, meemDefinition);
          meemContentClient.meemContentChanged(meemPath, null);
        }
      } else {
        // definition version number is same or smaller than the persisted one
        // LogTools.warn(logger, "Request to persist MeemDefinition with lower version number than
        // most recent version");
      }
    }
  }