Platform Explorer / Nuxeo Platform LTS 2015 7.10

Contribution org.nuxeo.ecm.platform.tag.service.pageprovider--providers

This contribution is part of XML component org.nuxeo.ecm.platform.tag.service.pageprovider inside nuxeo-platform-tag-core-7.10.jar /OSGI-INF/tag-pageprovider-contrib.xml

Extension point

Extension point providers of component PageProviderService.

Contributed items

  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_DOCUMENT_IDS_FOR_TAG">
          <property name="useUnrestrictedSession">true</property>
          <pattern>
            SELECT ecm:uuid FROM Tag WHERE tag:label = ? AND ecm:isProxy = 0
          </pattern>
          <pageSize>1</pageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_FIRST_TAGGING_FOR_DOC_AND_TAG">
          <property name="useUnrestrictedSession">true</property>
          <pattern>
            SELECT ecm:uuid FROM Tagging WHERE relation:source = ? AND
            relation:target = ?
          </pattern>
          <pageSize>1</pageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_FIRST_TAGGING_FOR_DOC_AND_TAG_AND_USER">
          <property name="useUnrestrictedSession">true</property>
          <pattern>
            SELECT ecm:uuid FROM Tagging WHERE relation:source = ? AND
            relation:target = ? AND dc:creator = ?
          </pattern>
          <pageSize>1</pageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENT">
          <property name="useUnrestrictedSession">true</property>
          <property name="language">NXTAG</property>
          <pattern>
            TAGISTARGET: SELECT DISTINCT tag:label FROM Tagging WHERE
            relation:source = ?
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENT_CORE">
          <property name="useUnrestrictedSession">true</property>
          <property name="language">NXTAG</property>
          <pattern>
            TAGISTARGET: SELECT DISTINCT tag:label FROM Tagging WHERE
            relation:source = ?
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_DOCUMENTS_FOR_TAG">
          <property name="useUnrestrictedSession">true</property>
          <property name="language">NXTAG</property>
          <pattern>
            TAGISTARGET: SELECT DISTINCT relation:source FROM Tagging WHERE
            tag:label = ?
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENT_AND_USER">
          <property name="useUnrestrictedSession">true</property>
          <property name="language">NXTAG</property>
          <pattern>
            TAGISTARGET: SELECT DISTINCT tag:label FROM Tagging WHERE
            relation:source = ? AND dc:creator = ?
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENT_AND_USER_CORE">
          <property name="useUnrestrictedSession">true</property>
          <property name="language">NXTAG</property>
          <pattern>
            TAGISTARGET: SELECT DISTINCT tag:label FROM Tagging WHERE
            relation:source = ? AND dc:creator = ?
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_DOCUMENTS_FOR_TAG_AND_USER">
          <property name="useUnrestrictedSession">true</property>
          <property name="language">NXTAG</property>
          <pattern>
            TAGISTARGET: SELECT DISTINCT relation:source FROM Tagging WHERE
            tag:label = ? AND dc:creator = ?
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_TO_COPY_FOR_DOCUMENT">
          <property name="useUnrestrictedSession">true</property>
          <property name="language">NXTAG</property>
          <pattern>
            TAGISTARGET: SELECT tag:label, dc:created, dc:creator,
            relation:target FROM Tagging
            WHERE relation:source = ?
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAG_SUGGESTIONS">
          <property name="useUnrestrictedSession">true</property>
          <pattern>
            SELECT DISTINCT tag:label FROM Tag WHERE tag:label LIKE ? AND
            ecm:isProxy = 0
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAG_SUGGESTIONS_FOR_USER">
          <property name="useUnrestrictedSession">true</property>
          <pattern>
            SELECT DISTINCT tag:label FROM Tag WHERE tag:label LIKE ? AND
            ecm:isProxy = 0
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_ALL_TAGS">
          <property name="useUnrestrictedSession">true</property>
          <property name="language">NXTAG</property>
          <pattern>
            COUNTSOURCE: SELECT tag:label, relation:source FROM Tagging
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_ALL_TAGS_FOR_USER">
          <property name="useUnrestrictedSession">true</property>
          <property name="language">NXTAG</property>
          <pattern>
            COUNTSOURCE: SELECT tag:label, relation:source FROM Tagging WHERE
            dc:creator = ?
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENTS">
          <property name="useUnrestrictedSession">true</property>
          <property name="language">NXTAG</property>
          <pattern>
            COUNTSOURCE: SELECT tag:label, relation:source FROM Tagging WHERE
            relation:source IN ?
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENTS_AND_USER">
          <property name="useUnrestrictedSession">true</property>
          <property name="language">NXTAG</property>
          <pattern>
            COUNTSOURCE: SELECT tag:label, relation:source FROM Tagging WHERE
            relation:source IN ? AND dc:creator = ?
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>
  • <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGGED_DOCUMENTS_UNDER">
          <property name="useUnrestrictedSession">true</property>
          <pattern>
            SELECT ecm:uuid FROM Document WHERE ecm:path STARTSWITH ?
          </pattern>
          <pageSize>0</pageSize>
          <maxPageSize>0</maxPageSize>
        </genericPageProvider>

XML source

<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService">

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_DOCUMENT_IDS_FOR_TAG">
      <property name="useUnrestrictedSession">true</property>
      <pattern>
        SELECT ecm:uuid FROM Tag WHERE tag:label = ? AND ecm:isProxy = 0
      </pattern>
      <pageSize>1</pageSize>
    </genericPageProvider>

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_FIRST_TAGGING_FOR_DOC_AND_TAG">
      <property name="useUnrestrictedSession">true</property>
      <pattern>
        SELECT ecm:uuid FROM Tagging WHERE relation:source = ? AND
        relation:target = ?
      </pattern>
      <pageSize>1</pageSize>
    </genericPageProvider>

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_FIRST_TAGGING_FOR_DOC_AND_TAG_AND_USER">
      <property name="useUnrestrictedSession">true</property>
      <pattern>
        SELECT ecm:uuid FROM Tagging WHERE relation:source = ? AND
        relation:target = ? AND dc:creator = ?
      </pattern>
      <pageSize>1</pageSize>
    </genericPageProvider>

    <!-- page provider that can be optimized using ES for instance -->
    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENT">
      <property name="useUnrestrictedSession">true</property>
      <property name="language">NXTAG</property>
      <pattern>
        TAGISTARGET: SELECT DISTINCT tag:label FROM Tagging WHERE
        relation:source = ?
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <!-- page provider that should keep on using the VCS storage -->
    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENT_CORE">
      <property name="useUnrestrictedSession">true</property>
      <property name="language">NXTAG</property>
      <pattern>
        TAGISTARGET: SELECT DISTINCT tag:label FROM Tagging WHERE
        relation:source = ?
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_DOCUMENTS_FOR_TAG">
      <property name="useUnrestrictedSession">true</property>
      <property name="language">NXTAG</property>
      <pattern>
        TAGISTARGET: SELECT DISTINCT relation:source FROM Tagging WHERE
        tag:label = ?
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <!-- page provider that can be optimized using ES for instance -->
    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENT_AND_USER">
      <property name="useUnrestrictedSession">true</property>
      <property name="language">NXTAG</property>
      <pattern>
        TAGISTARGET: SELECT DISTINCT tag:label FROM Tagging WHERE
        relation:source = ? AND dc:creator = ?
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <!-- page provider that should keep on using the VCS storage -->
    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENT_AND_USER_CORE">
      <property name="useUnrestrictedSession">true</property>
      <property name="language">NXTAG</property>
      <pattern>
        TAGISTARGET: SELECT DISTINCT tag:label FROM Tagging WHERE
        relation:source = ? AND dc:creator = ?
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_DOCUMENTS_FOR_TAG_AND_USER">
      <property name="useUnrestrictedSession">true</property>
      <property name="language">NXTAG</property>
      <pattern>
        TAGISTARGET: SELECT DISTINCT relation:source FROM Tagging WHERE
        tag:label = ? AND dc:creator = ?
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_TO_COPY_FOR_DOCUMENT">
      <property name="useUnrestrictedSession">true</property>
      <property name="language">NXTAG</property>
      <pattern>
        TAGISTARGET: SELECT tag:label, dc:created, dc:creator,
        relation:target FROM Tagging
        WHERE relation:source = ?
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAG_SUGGESTIONS">
      <property name="useUnrestrictedSession">true</property>
      <pattern>
        SELECT DISTINCT tag:label FROM Tag WHERE tag:label LIKE ? AND
        ecm:isProxy = 0
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAG_SUGGESTIONS_FOR_USER">
      <property name="useUnrestrictedSession">true</property>
      <pattern>
        SELECT DISTINCT tag:label FROM Tag WHERE tag:label LIKE ? AND
        ecm:isProxy = 0
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_ALL_TAGS">
      <property name="useUnrestrictedSession">true</property>
      <property name="language">NXTAG</property>
      <pattern>
        COUNTSOURCE: SELECT tag:label, relation:source FROM Tagging
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_ALL_TAGS_FOR_USER">
      <property name="useUnrestrictedSession">true</property>
      <property name="language">NXTAG</property>
      <pattern>
        COUNTSOURCE: SELECT tag:label, relation:source FROM Tagging WHERE
        dc:creator = ?
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENTS">
      <property name="useUnrestrictedSession">true</property>
      <property name="language">NXTAG</property>
      <pattern>
        COUNTSOURCE: SELECT tag:label, relation:source FROM Tagging WHERE
        relation:source IN ?
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENTS_AND_USER">
      <property name="useUnrestrictedSession">true</property>
      <property name="language">NXTAG</property>
      <pattern>
        COUNTSOURCE: SELECT tag:label, relation:source FROM Tagging WHERE
        relation:source IN ? AND dc:creator = ?
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

    <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGGED_DOCUMENTS_UNDER">
      <property name="useUnrestrictedSession">true</property>
      <pattern>
        SELECT ecm:uuid FROM Document WHERE ecm:path STARTSWITH ?
      </pattern>
      <pageSize>0</pageSize>
      <maxPageSize>0</maxPageSize>
    </genericPageProvider>

  </extension>