All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amdocs.zusammen.sdk.collaboration.CollaborationStore Maven / Gradle / Ivy

The newest version!
/*
 * Copyright © 2016-2017 European Support Limited
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.amdocs.zusammen.sdk.collaboration;


import com.amdocs.zusammen.datatypes.Id;
import com.amdocs.zusammen.datatypes.Namespace;
import com.amdocs.zusammen.datatypes.SessionContext;
import com.amdocs.zusammen.datatypes.Space;
import com.amdocs.zusammen.datatypes.item.ElementContext;
import com.amdocs.zusammen.datatypes.item.Info;
import com.amdocs.zusammen.datatypes.item.ItemVersion;
import com.amdocs.zusammen.datatypes.item.ItemVersionData;
import com.amdocs.zusammen.datatypes.item.ItemVersionStatus;
import com.amdocs.zusammen.datatypes.item.Resolution;
import com.amdocs.zusammen.datatypes.itemversion.ItemVersionRevisions;
import com.amdocs.zusammen.datatypes.itemversion.Revision;
import com.amdocs.zusammen.datatypes.itemversion.Tag;
import com.amdocs.zusammen.datatypes.response.Response;
import com.amdocs.zusammen.sdk.collaboration.types.CollaborationElement;
import com.amdocs.zusammen.sdk.collaboration.types.CollaborationElementConflict;
import com.amdocs.zusammen.sdk.collaboration.types.CollaborationItemVersionConflict;
import com.amdocs.zusammen.sdk.collaboration.types.CollaborationMergeChange;
import com.amdocs.zusammen.sdk.collaboration.types.CollaborationMergeResult;
import com.amdocs.zusammen.sdk.collaboration.types.CollaborationPublishResult;
import com.amdocs.zusammen.sdk.health.IHealthCheck;

import java.util.Collection;

public interface CollaborationStore extends IHealthCheck {

  Response createItem(SessionContext context, Id itemId, Info itemInfo);

  Response deleteItem(SessionContext context, Id itemId);

  Response createItemVersion(SessionContext context, Id itemId, Id baseVersionId,
                                   Id versionId, ItemVersionData data);

  Response updateItemVersion(SessionContext context, Id itemId, Id versionId,
                                   ItemVersionData data);

  Response deleteItemVersion(SessionContext context, Id itemId, Id versionId);

  Response getItemVersionStatus(SessionContext context, Id itemId, Id versionId);

  Response tagItemVersion(SessionContext context, Id itemId, Id versionId, Id changeId,
                                Tag tag);

  Response publishItemVersion(SessionContext context, Id itemId,
                                                          Id versionId, String message);

  Response syncItemVersion(SessionContext context, Id itemId,
                                                     Id versionId);

  Response forceSyncItemVersion(SessionContext context, Id itemId,
                                                          Id versionId);

  Response mergeItemVersion(SessionContext context, Id itemId,
                                                      Id versionId, Id sourceVersionId);

  Response getItemVersionConflict(SessionContext context,
                                                                    Id itemId, Id versionId);

  Response listItemVersionRevisions(SessionContext context, Id itemId,
                                                          Id versionId);

  Response getItemVersionRevision(SessionContext context, Id itemId, Id versionId,
                                            Id revisionId);

  Response resetItemVersionRevision(SessionContext context, Id itemId,
                                                              Id versionId, Id revisionId);

  Response revertItemVersionRevision(SessionContext context, Id itemId,
                                                               Id versionId, Id revisionId);

  Response commitElements(SessionContext context, Id itemId, Id versionId, String message);

  // TODO: 7/2/2017 return ElementDescriptor
  Response> listElements(SessionContext context,
                                                          ElementContext elementContext,
                                                          Namespace namespace, Id elementId);

  Response getElement(SessionContext context, ElementContext elementContext,
                                            Namespace namespace, Id elementId);

  Response getElementConflict(SessionContext context,
                                                            ElementContext elementContext,
                                                            Namespace namespace, Id elementId);

  Response createElement(SessionContext context, CollaborationElement element);

  Response updateElement(SessionContext context, CollaborationElement element);

  Response deleteElement(SessionContext context, CollaborationElement element);

  Response resolveElementConflict(SessionContext context,
                                                            CollaborationElement element,
                                                            Resolution resolution);

  Response getItemVersion(SessionContext context, Space space, Id itemId,
                                       Id versionId, Id revisionId);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy