package org.argeo.cms.acr;
-import java.util.Iterator;
+import java.util.HashSet;
import java.util.Locale;
-import java.util.Map;
import java.util.Set;
-import java.util.TreeSet;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;
import java.util.function.Consumer;
-import java.util.stream.Collectors;
import javax.security.auth.Subject;
import org.argeo.api.acr.Content;
import org.argeo.api.acr.ContentSession;
import org.argeo.api.acr.CrName;
-import org.argeo.api.acr.NamespaceUtils;
-import org.argeo.api.acr.RuntimeNamespaceContext;
import org.argeo.api.acr.spi.ContentProvider;
import org.argeo.api.acr.spi.ProvidedContent;
import org.argeo.api.acr.spi.ProvidedRepository;
import org.argeo.api.acr.spi.ProvidedSession;
+import org.argeo.api.uuid.UuidFactory;
import org.argeo.cms.acr.xml.DomContentProvider;
/** Implements {@link ProvidedSession}. */
private Subject subject;
private Locale locale;
+ private UuidFactory uuidFactory;
+
private CompletableFuture<ProvidedSession> closed = new CompletableFuture<>();
private CompletableFuture<ContentSession> edition;
- private Set<ContentProvider> modifiedProviders = new TreeSet<>();
+ private Set<ContentProvider> modifiedProviders = new HashSet<>();
private Content sessionRunDir;
- public CmsContentSession(AbstractContentRepository contentRepository, UUID uuid, Subject subject, Locale locale) {
+ public CmsContentSession(AbstractContentRepository contentRepository, UUID uuid, Subject subject, Locale locale,
+ UuidFactory uuidFactory) {
this.contentRepository = contentRepository;
this.subject = subject;
this.locale = locale;
this.uuid = uuid;
-
+ this.uuidFactory = uuidFactory;
}
public void close() {
return contentRepository;
}
+ public UuidFactory getUuidFactory() {
+ return uuidFactory;
+ }
+
/*
* MOUNT MANAGEMENT
*/
else {
Content runDir = get(CmsContentRepository.RUN_BASE);
// TODO deal with no run dir available?
- sessionRunDir = runDir.add(uuid.toString(), CrName.COLLECTION.get());
+ sessionRunDir = runDir.add(uuid.toString(), CrName.collection.qName());
}
}
return sessionRunDir;