Class PositionOrchestrator
java.lang.Object
com.bluebell.greenhouse.planter.orchestrators.position.PositionOrchestrator
- All Implemented Interfaces:
GenericOrchestrator
@Service
@Transactional
public class PositionOrchestrator
extends Object
implements GenericOrchestrator
Owns the unit of work for the
Position endpoints.- Version:
- 3.0.5
- Author:
- Stephen Prizio
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreatePosition(AccountRequestContext context, CreateUpdatePositionDTO data) Creates aPositionon an owned account.voiddeletePosition(PositionRequestContext context) Deletes an ownedPositionand refreshes its account.generatePositionReport(AccountRequestContext context, String headerProfile) Generates the downloadable position report for an owned account.getPosition(PositionRequestContext context) Obtains one ownedPosition.Obtains the insights for one ownedPosition.voidimportPositions(AccountRequestContext context, ImportPositionsRequest importRequest, InputStream inputStream, String fileName, ImportFormat importFormat, ZoneId zoneId) Imports positions into an owned account.intRecalculates thePositions on an owned account and refreshes it.searchPositions(AccountRequestContext context, PositionSearchRequest searchRequest) Obtains a page ofPositionsummaries for an owned account.updatePosition(PositionRequestContext context, CreateUpdatePositionDTO data) Updates an ownedPosition.
-
Constructor Details
-
PositionOrchestrator
public PositionOrchestrator()
-
-
Method Details
-
getPosition
Obtains one ownedPosition.- Parameters:
context-PositionRequestContext- Returns:
PositionDTO
-
getPositionInsights
@Transactional(readOnly=true) public PositionInsights getPositionInsights(PositionRequestContext context) Obtains the insights for one ownedPosition.- Parameters:
context-PositionRequestContext- Returns:
PositionInsights
-
searchPositions
@Transactional(readOnly=true) public PaginatedPositionSummaryDTO searchPositions(AccountRequestContext context, PositionSearchRequest searchRequest) Obtains a page ofPositionsummaries for an owned account.- Parameters:
context-AccountRequestContextsearchRequest-PositionSearchRequest- Returns:
PaginatedPositionSummaryDTO
-
generatePositionReport
@Transactional(readOnly=true) public File generatePositionReport(AccountRequestContext context, String headerProfile) throws IOException Generates the downloadable position report for an owned account.- Parameters:
context-AccountRequestContextheaderProfile- report header profile- Returns:
- generated
File - Throws:
IOException- when the report cannot be written
-
importPositions
@Transactional(rollbackFor=IOException.class) public void importPositions(AccountRequestContext context, ImportPositionsRequest importRequest, InputStream inputStream, String fileName, ImportFormat importFormat, ZoneId zoneId) throws IOException Imports positions into an owned account.Rolls back on
IOException: the importers persist their rows and then delete the temporary upload in afinallyblock, so a checked exception can reach this method after the writes. Spring rolls back only on unchecked exceptions by default, which would commit a half-imported file.- Parameters:
context-AccountRequestContextimportRequest-ImportPositionsRequestinputStream- uploaded file contentsfileName- uploaded file nameimportFormat- resolvedImportFormatzoneId- resolvedZoneId- Throws:
IOException- when the upload cannot be read
-
recalculatePositions
Recalculates thePositions on an owned account and refreshes it.- Parameters:
context-AccountRequestContext- Returns:
- count recalculated
-
createPosition
Creates aPositionon an owned account.- Parameters:
context-AccountRequestContextdata-CreateUpdatePositionDTO- Returns:
PositionDTO
-
updatePosition
Updates an ownedPosition.- Parameters:
context-PositionRequestContextdata-CreateUpdatePositionDTO- Returns:
PositionDTO
-
deletePosition
Deletes an ownedPositionand refreshes its account.- Parameters:
context-PositionRequestContext
-