001package org.nuxeo.template.service; 002 003import org.nuxeo.ecm.core.api.CoreSession; 004import org.nuxeo.ecm.core.api.DocumentModel; 005import org.nuxeo.ecm.core.api.DocumentRef; 006import org.nuxeo.ecm.core.api.IdRef; 007import org.nuxeo.ecm.core.api.UnrestrictedSessionRunner; 008import org.nuxeo.template.api.adapters.TemplateSourceDocument; 009 010public class TemplateMappingRemover extends UnrestrictedSessionRunner { 011 012 protected DocumentRef targetRef; 013 014 protected String type2Remove; 015 016 protected TemplateMappingRemover(CoreSession session, DocumentModel doc, String type2Remove) { 017 super(session); 018 targetRef = doc.getRef(); 019 this.type2Remove = type2Remove; 020 } 021 022 protected TemplateMappingRemover(CoreSession session, String uid, String type2Remove) { 023 super(session); 024 targetRef = new IdRef(uid); 025 this.type2Remove = type2Remove; 026 } 027 028 @Override 029 public void run() { 030 DocumentModel doc = session.getDocument(targetRef); 031 TemplateSourceDocument source = doc.getAdapter(TemplateSourceDocument.class); 032 source.removeForcedType(type2Remove, true); 033 } 034 035}