public interface RecipeBatchAdminSession extends RecipeAdminSession
This session creates, updates, and deletes Recipes
in
bulk. The data for create and update is provided by the consumer via the
form object. OsidForms
are requested for each create or
update and may not be reused.
Create and update operations differ in their usage. To create a
Recipe,
a RecipeForm
is requested using
getRecipeFormsForCreate()
specifying the desired record
Types
or none if no record Types
are needed. Each
of the returned RecipeForms
will indicate that it is to be
used with a create operation and can be used to examine metdata or
validate data prior to creation. Once a RecipeForm
is
submiited to a create operation, it cannot be reused with another create
operation unless the first operation was unsuccessful. Each
RecipeForm
corresponds to an attempted transaction.
The RecipeForms
returned from
getRecipeFormsForCreate()
may be linked to the originating request
through the peer Ids
of the RecipeForm.
In
the case where there may be duplicates, any RecipeForm
of
the same peer Ids
may be used for a create operation.
Once a batch of RecipeForms
are submitted for create, a
CreateResponse
is returned for each RecipeForm,
although the ordering is not defined. Only errors that pertain to
the entire create operation are returned from createRecipes(),
errors specific to an individual RecipeForm
are
indicated in the corresponding CreateResponse.
CreateResponses
may be linked to the originating RecipeForm
through the RecipeForm
Id
.
For updates, RecipeForms
are requested to the
Recipe
Id
that is to be updated using
getRecipeFormsForUpdate()
where the reference Id
in
the RecipeForm
may be used to link the request. Similarly,
the RecipeForm
has metadata about the data that can be
updated and it can perform validation before submitting the update. The
RecipeForm
can only be used once for a successful update
and cannot be reused.
Once a batch of RecipeForms
are submitted for update,
an UpdateResponse
is returned for each RecipeForm,
although the ordering is not defined. Only errors that pertain to
the entire update operation are returned from updateRecipes(),
errors specific to an individual RecipeForm
are
indicated in the corresponding UpdateResponse.
UpdateResponses
may be linked to the originating RecipeForm
through the RecipeForm
Id.
The delete operations delete Recipes
in bulk. To unmap
a Recipe
from the current Cookbook,
the
RecipeCookbookAssignmentSession
should be used. These
delete operations attempt to remove the Recipe
itself thus
removing it from all known Cookbook
catalogs. Bulk delete
operations return the results in DeleteResponses.
Modifier and Type | Method and Description |
---|---|
AliasResponseList |
aliasRecipes(AliasRequestList aliasRequests)
Adds an
Id to a Recipe for the purpose
of creating compatibility. |
CreateResponseList |
createRecipes(RecipeBatchFormList recipeForms)
Creates a new set of
Recipes. |
DeleteResponseList |
deleteAllRecipes()
Deletes all
Recipes in this Cookbook . |
DeleteResponseList |
deleteRecipes(IdList recipeIds)
Deletes recipes for the given
Ids. |
RecipeBatchFormList |
getRecipeFormsForCreate(long number,
Type[] recipeRecordTypes)
Gets the recipe forms for creating a bunch of new recipes.
|
RecipeBatchFormList |
getRecipeFormsForUpdate(IdList recipeIds)
Gets the recipe forms for updating an existing set of recipes.
|
UpdateResponseList |
updateRecipes(RecipeBatchFormList recipeForms)
Updates existing recipes.
|
aliasRecipe, canCreateRecipes, canCreateRecipeWithRecordTypes, canDeleteRecipes, canManageRecipeAliases, canUpdateRecipes, createRecipe, deleteRecipe, getCookbook, getCookbookId, getRecipeFormForCreate, getRecipeFormForUpdate, updateRecipe
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
RecipeBatchFormList getRecipeFormsForCreate(long number, Type[] recipeRecordTypes) throws OperationFailedException, PermissionDeniedException
number
- the number of forms to retrieverecipeRecordTypes
- array of recipe record types to be included
in each create operation or an empty list if noneNullArgumentException
- recipeRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to request forms with
given record typesmandatory
- This method must be implemented. CreateResponseList createRecipes(RecipeBatchFormList recipeForms) throws OperationFailedException, PermissionDeniedException
Recipes.
This method returns an
error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse
.recipeForms
- the recipe formsNullArgumentException
- recipeForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. RecipeBatchFormList getRecipeFormsForUpdate(IdList recipeIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
recipeIds
- the Ids
of the Recipe
NotFoundException
- a recipeId
is not
foundNullArgumentException
- recipeIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. UpdateResponseList updateRecipes(RecipeBatchFormList recipeForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse
.recipeForms
- the form containing the elements to be updatedNullArgumentException
- recipeForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAllRecipes() throws OperationFailedException, PermissionDeniedException
Recipes
in this Cookbook
.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteRecipes(IdList recipeIds) throws OperationFailedException, PermissionDeniedException
Ids.
recipeIds
- the Ids
of the recipes to deleteNullArgumentException
- recipeIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. AliasResponseList aliasRecipes(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id
to a Recipe
for the purpose
of creating compatibility. The primary Id
of the
Recipe
is determined by the provider. The new Id
is an alias to the primary Id.
If the alias is
a pointer to another recipe, it is reassigned to the given recipe
Id.
aliasRequests
- the alias requestsNullArgumentException
- aliasRequests
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.