@groovy.transform.CompileStatic @org.springframework.web.bind.annotation.RestController class NCubeController extends java.lang.Object implements NCubeConstants
NCubeController API.
Modifiers | Name | Description |
---|---|---|
class |
NCubeController.1 |
Type | Name and description |
---|---|
NCubeManager |
ncubeManager |
int |
tomcatMaxConnections |
int |
tomcatMaxThreads |
Constructor and description |
---|
NCubeController
(NCubeMutableClient mutableClient, boolean allowExecute) |
Type Params | Return Type | Name and description |
---|---|---|
|
java.lang.Integer |
acceptMine(ApplicationID appId, java.lang.Object[] cubeNames, java.lang.String notNeeded) |
|
java.lang.Integer |
acceptTheirs(ApplicationID appId, java.lang.Object[] cubeNames, java.lang.String sourceBranch) |
|
void |
addAxis(ApplicationID appId, java.lang.String cubeName, java.lang.String axisName, java.lang.String type, java.lang.String valueType, java.util.Map<java.lang.String, java.lang.Boolean> axisOpts) Add axis to an existing SNAPSHOT n-cube. |
|
void |
addAxis(ApplicationID appId, java.lang.String cubeName, java.lang.String axisName, ApplicationID refAppId, java.lang.String refCubeName, java.lang.String refAxisName, ApplicationID transformAppId, java.lang.String transformCubeName, java.util.Map<java.lang.String, java.lang.Boolean> axisOpts) Add axis to an existing SNAPSHOT n-cube that is a reference to an axis in another cube. |
|
java.lang.Boolean |
assertPermissions(ApplicationID appId, java.lang.String resource, java.lang.String actionName) |
|
void |
breakAxisReference(ApplicationID appId, java.lang.String cubeName, java.lang.String axisName) |
|
void |
cancelPullRequest(java.lang.String prId) |
|
void |
changeVersionValue(ApplicationID appId, java.lang.String newSnapVer) Change the SNAPSHOT version number of an n-cube. |
|
java.util.Map |
checkMultiplePermissions(ApplicationID appId, java.lang.String resource, java.lang.Object[] actions) |
|
java.lang.Boolean |
checkPermissions(ApplicationID appId, java.lang.String resource, java.lang.String actionName) |
|
void |
clearCache(ApplicationID appId) |
|
java.lang.Boolean |
clearDefaultCell(ApplicationID appId, java.lang.String cubeName) |
|
void |
clearPermCache() |
|
void |
clearTestDatabase() |
|
java.lang.Object |
commitBranch(ApplicationID appId, java.lang.Object[] infoDtos, java.lang.String notes) |
|
java.lang.Object |
commitCube(ApplicationID appId, java.lang.String cubeName) |
|
static java.util.Map |
convertAxis(Axis axis) Convert Axis to Map of Map representation (using json-io) and modify the column ID to a String in the process. |
|
java.lang.Integer |
copyBranch(ApplicationID srcAppId, ApplicationID targetAppId, boolean copyWithHistory) |
|
java.lang.String |
copyCells(ApplicationID appId, java.lang.String cubeName, java.lang.Object[] ids, boolean isCut) |
|
void |
createBranch(ApplicationID appId) |
|
void |
createCube(ApplicationID appId, java.lang.String cubeName) Create an n-cube (SNAPSHOT only) for non-Java clients. |
|
void |
createCube(NCube ncube) Create an n-cube (SNAPSHOT only) for Java clients. |
|
void |
createCube(ApplicationID appId, java.lang.String cubeName, byte[] cubeBytes) |
|
NCubeTest |
createNewTest(ApplicationID appId, java.lang.String cubeName, java.lang.String testName) |
|
void |
createRefAxis(ApplicationID appId, java.lang.String cubeName, java.lang.String axisName, ApplicationID refAppId, java.lang.String refCubeName, java.lang.String refAxisName) |
|
java.lang.Boolean |
deleteApp(ApplicationID appId) |
|
void |
deleteAxis(ApplicationID appId, java.lang.String cubeName, java.lang.String axisName) Delete the passed in axis. |
|
java.lang.Boolean |
deleteBranch(ApplicationID appId) |
|
java.lang.Boolean |
deleteCubes(ApplicationID appId, java.lang.Object[] cubeNames) Delete an n-cube (SNAPSHOT only). |
|
java.lang.Boolean |
duplicate(ApplicationID appId, ApplicationID destAppId, java.lang.String cubeName, java.lang.String newName) Duplicate the passed in cube, but change the name to newName AND the status of the new n-cube will be SNAPSHOT. |
|
java.util.Map |
execute(ApplicationID appId, java.lang.String cubeName, java.lang.String method, java.util.Map args) |
|
java.util.List<Delta> |
fetchJsonBranchDiffs(NCubeInfoDto newInfoDto, NCubeInfoDto oldInfoDto) |
|
java.util.List<Delta> |
fetchJsonRevDiffs(long newCubeId, long oldCubeId) |
|
java.lang.String |
generatePullRequestHash(ApplicationID appId, java.lang.Object[] infoDtos, java.lang.String notes) |
|
java.lang.String |
getAppLockedBy(ApplicationID appId) |
|
java.lang.Object[] |
getAppNames() |
|
java.util.Map |
getAppTests(ApplicationID appId) |
|
java.lang.Object[] |
getAppVersions(java.lang.String app) |
|
java.lang.Object[] |
getAppVersions(java.lang.String app, java.lang.String status) |
|
java.util.Map |
getAxis(ApplicationID appId, java.lang.String cubeName, java.lang.String axisName) Return the requested axis. |
|
java.util.Map |
getAxisMetaProperties(ApplicationID appId, java.lang.String cubeName, java.lang.String axisName) |
|
java.lang.Object[] |
getBranchChangesForHead(ApplicationID appId) |
|
java.lang.Object[] |
getBranchChangesForMyBranch(ApplicationID appId, java.lang.String branch) |
|
java.lang.Integer |
getBranchCount(ApplicationID appId) |
|
java.lang.Object[] |
getBranches(ApplicationID appId) |
|
java.util.Map |
getCell(ApplicationID appId, java.lang.String cubeName, java.util.Map coordinate, java.lang.Object defaultValue) |
|
java.lang.Object[] |
getCellAnnotation(ApplicationID appId, java.lang.String cubeName, java.lang.Object[] ids, boolean ignoreVersion) |
|
java.util.Map |
getCellCoordinate(ApplicationID appId, java.lang.String cubeName, java.lang.Object[] ids) |
|
java.lang.Object |
getCellNoExecute(ApplicationID appId, java.lang.String cubeName, java.lang.Object[] ids) |
|
java.lang.Object |
getCellNoExecuteByCoordinate(ApplicationID appId, java.lang.String cubeName, java.util.Map coordinate) |
|
java.lang.Object[] |
getCells(ApplicationID appId, java.lang.String cubeName, java.lang.Object[] idArrays, java.util.Map input, java.lang.Object defaultValue) This API will fetch and execute particular cell values (identified by the idArrays) for the passed in appId and named cube. |
|
java.lang.Object[] |
getCellsNoExecute(ApplicationID appId, java.lang.String cubeName, java.lang.Object[] idArrays) This API will fetch particular cell values (identified by the idArrays) for the passed in appId and named cube. |
|
java.util.Map |
getColumnMetaProperties(ApplicationID appId, java.lang.String cubeName, java.lang.String axisName, long colId) |
|
java.util.Map |
getCubeMetaProperties(ApplicationID appId, java.lang.String cubeName) |
|
java.lang.Object |
getDefaultCell(ApplicationID appId, java.lang.String cubeName) |
|
java.lang.Object[] |
getHeadChangesForBranch(ApplicationID appId) |
|
java.util.Map |
getHeaders()
|
|
java.lang.String |
getHtml(ApplicationID appId, java.lang.String cubeName) |
|
java.lang.String |
getJson(ApplicationID appId, java.lang.String cubeName) |
|
java.lang.String |
getJson(ApplicationID appId, java.lang.String cubeName, java.util.Map options) |
|
java.util.Map |
getMenu(ApplicationID appId) |
|
java.lang.String |
getNotes(ApplicationID appId, java.lang.String cubeName) |
|
java.lang.Object[] |
getPullRequests(java.util.Date startDate, java.util.Date endDate, java.lang.String prId) |
|
java.lang.Object[] |
getReferenceAxes(ApplicationID appId) |
|
java.lang.Object[] |
getReferencesFrom(ApplicationID appId, java.lang.String cubeName) Find all references from (out going) an n-cube. |
|
java.lang.Object[] |
getRequiredScope(ApplicationID appId, java.lang.String cubeName) Find all referenced input variables for a given n-cube (and through any n-cubes it references). |
|
java.lang.Object[] |
getRevisionHistory(ApplicationID appId, java.lang.String cubeName, boolean ignoreVersion) |
|
java.lang.Integer |
getSearchCount(ApplicationID appId, java.lang.String cubeNamePattern, java.lang.String content, java.util.Map options) |
|
java.lang.Object[] |
getTests(ApplicationID appId, java.lang.String cubeName) |
|
java.lang.String |
getUrlContent(ApplicationID appId, java.lang.String relativeUrl) |
|
protected java.lang.String |
getUserForDatabase() |
|
java.lang.String |
getUserId() |
|
java.lang.Object[] |
getVersions(java.lang.String app) |
|
java.util.Map<java.lang.String, java.lang.Object> |
getVisualizerGraph(ApplicationID appId, java.util.Map options) |
|
java.util.Map<java.lang.String, java.lang.Object> |
getVisualizerNodeDetails(ApplicationID appId, java.util.Map options) |
|
java.util.Map<java.lang.String, java.lang.Object> |
getVisualizerScopeChange(ApplicationID appId, java.util.Map options) |
|
java.util.Map |
health(boolean showAll) |
|
java.util.Map |
heartBeat(java.util.Map openCubes) |
|
java.lang.Boolean |
isAppAdmin(ApplicationID appId) |
|
java.lang.Boolean |
isAppLocked(ApplicationID appId) |
|
java.lang.Boolean |
isCubeUpToDate(ApplicationID appId, java.lang.String cubeName) |
|
static boolean |
isNumeric(java.lang.String str) |
|
java.lang.Boolean |
isSysAdmin() |
|
java.lang.String |
loadCubeById(ApplicationID appId, long id, java.lang.String mode) |
|
NCubeInfoDto |
loadCubeRecord(ApplicationID appId, java.lang.String cubeName, java.util.Map options) |
|
NCubeInfoDto |
loadCubeRecordById(long id, java.util.Map options) |
|
java.lang.Boolean |
lockApp(ApplicationID appId, boolean shouldLock) |
|
java.util.Map |
mapReduce(ApplicationID appId, java.lang.String cubeName, java.lang.String colAxisName, java.lang.String where, java.util.Map options) |
|
java.lang.Boolean |
mergeDeltas(ApplicationID appId, java.lang.String cubeName, java.lang.Object[] deltas) |
|
java.lang.Object |
mergePullRequest(java.lang.String prId) |
|
java.lang.Integer |
moveBranch(ApplicationID appId, java.lang.String newSnapVer) |
|
void |
obsoletePullRequest(java.lang.String prId) |
|
java.lang.Boolean |
pasteCells(ApplicationID appId, java.lang.String cubeName, java.lang.Object[] values, java.lang.Object[] coords) |
|
java.lang.Boolean |
pasteCellsNce(ApplicationID appId, java.lang.String cubeName, java.lang.Object[] clipboard) |
|
NCubeInfoDto |
promoteRevision(long cubeId) Promote a previous revision of an NCube. |
|
java.lang.Integer |
releaseCubes(ApplicationID appId, java.lang.String newSnapVer) Release the passed in SNAPSHOT version (update their status_cd to RELEASE), and then duplicate all the n-cubes in the release, creating new ones in SNAPSHOT status with the version number set to the newSnapVer. |
|
java.lang.Integer |
releaseVersion(ApplicationID appId, java.lang.String newSnapVer) |
|
java.lang.Boolean |
renameCube(ApplicationID appId, java.lang.String oldName, java.lang.String newName) |
|
void |
reopenPullRequest(java.lang.String prId) |
|
java.lang.String |
resolveRelativeUrl(ApplicationID appId, java.lang.String relativeUrl) |
|
java.lang.Boolean |
restoreCubes(ApplicationID appId, java.lang.Object[] cubeNames) |
|
java.lang.Integer |
rollbackBranch(ApplicationID appId, java.lang.Object[] cubeNames) |
|
java.util.Map |
runTest(ApplicationID appId, java.lang.String cubeName, NCubeTest test) |
|
java.util.Map |
runTests(ApplicationID appId) |
|
java.util.Map |
runTests(ApplicationID appId, java.lang.String cubeName, java.lang.Object[] tests) |
|
void |
saveJson(ApplicationID appId, java.lang.String json) |
|
java.lang.Boolean |
saveTests(ApplicationID appId, java.lang.String cubeName, java.lang.Object[] tests) |
|
java.lang.Object[] |
search(ApplicationID appId, java.lang.String cubeNamePattern, java.lang.String content, java.util.Map options) |
|
void |
updateAxis(ApplicationID appId, java.lang.String cubeName, java.lang.String origAxisName, java.lang.String axisName, boolean hasDefault, boolean isSorted, boolean fireAll) |
|
void |
updateAxisColumns(ApplicationID appId, java.lang.String cubeName, java.lang.String axisName, java.lang.Object[] cols) Update an entire set of columns on an axis at one time. |
|
void |
updateAxisMetaProperties(ApplicationID appId, java.lang.String cubeName, java.lang.String axisName, java.util.Map<java.lang.String, java.lang.Object> newMetaProperties) |
|
java.lang.Object |
updateBranch(ApplicationID appId, java.lang.Object[] cubeDtos) |
|
java.lang.Boolean |
updateCell(ApplicationID appId, java.lang.String cubeName, java.lang.Object[] ids, CellInfo cellInfo) In-place update of a cell. |
|
java.lang.Boolean |
updateCellAt(ApplicationID appId, java.lang.String cubeName, java.util.Map coordinate, CellInfo cellInfo) |
|
java.lang.Boolean |
updateColumnMetaProperties(ApplicationID appId, java.lang.String cubeName, java.lang.String axisName, long colId, java.util.Map<java.lang.String, java.lang.Object> newMetaProperties) |
|
java.lang.Boolean |
updateCube(ApplicationID appId, java.lang.String cubeName, byte[] cubeBytes) |
|
java.lang.Object |
updateCubeFromHead(ApplicationID appId, java.lang.String cubeName) |
|
java.lang.Boolean |
updateCubeMetaProperties(ApplicationID appId, java.lang.String cubeName, java.util.Map<java.lang.String, java.lang.Object> newMetaProperties) |
|
java.lang.Boolean |
updateDefaultCell(ApplicationID appId, java.lang.String cubeName, CellInfo cellInfo) |
|
java.lang.Boolean |
updateNotes(ApplicationID appId, java.lang.String cubeName, java.lang.String notes) |
|
void |
updateReferenceAxes(java.lang.Object[] axisRefs) |
Methods inherited from class | Name |
---|---|
class java.lang.Object |
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Add axis to an existing SNAPSHOT n-cube.
Add axis to an existing SNAPSHOT n-cube that is a reference to an axis in another cube.
Change the SNAPSHOT version number of an n-cube.
Convert Axis to Map of Map representation (using json-io) and modify the column ID to a String in the process. This allows the column ID to work on clients (like Javascript) that cannot support 64-bit values.
Create an n-cube (SNAPSHOT only) for non-Java clients.
Create an n-cube (SNAPSHOT only) for Java clients.
Delete the passed in axis.
Delete an n-cube (SNAPSHOT only).
Duplicate the passed in cube, but change the name to newName AND the status of the new n-cube will be SNAPSHOT.
Return the requested axis. The returned axis has some 'massaging' applied to it before being returned. First, it is being returned using the 'map-of-maps' format from json-io so that the column IDs can be converted from Longs to Strings, because Javascript cannot process a 64-bit long value (it stores numbers using a double, which means it can only reliably process 53-bits of a long). Converting the longs to Strings first, allows the column ID to round-trip to the UI and back, and json-io will 'mash' the String column ID into the Long column ID (within the JsonCommandServlet) as it receives the String. It senses the data-type mismatch (json-io does) and then attempts to convert the String to a numeric value (which succeeds). This allows the full 64-bit id to make it round trip.
This API will fetch and execute particular cell values (identified by the idArrays) for the passed in appId and named cube. The idArrays is an Object[] of Object[]'s:
[ [1, 2, 3], [4, 5, 6], [7, 8, 9], ... ] In the example above, the 1st entry [1, 2, 3] identifies the 1st cell to fetch. The 2nd entry [4, 5, 6] identifies the 2nd cell to fetch, and so on.
[ [[1, 2, 3], {"type":"int", "value":75}], [[4, 5, 6], {"type":"double", "value":3.14159}], [[7, 8, 9], {"type":"string", "value":"hello"}], ... ]
This API will fetch particular cell values (identified by the idArrays) for the passed in appId and named cube. The idArrays is an Object[] of Object[]'s:
[ [1, 2, 3], [4, 5, 6], [7, 8, 9], ... ] In the example above, the 1st entry [1, 2, 3] identifies the 1st cell to fetch. The 2nd entry [4, 5, 6] identifies the 2nd cell to fetch, and so on.
[ [[1, 2, 3], {"type":"int", "value":75}], [[4, 5, 6], {"type":"exp", "cache":false, "value":"return 25"}], [[7, 8, 9], {"type":"string", "value":"hello"}], ... ]
Find all references from (out going) an n-cube.
Find all referenced input variables for a given n-cube (and through any n-cubes it references).
Match string representation of a number. Supports starting with a positive or negative sign (optional). Numbers may include a comma for a thousands separator. Numbers may also include decimal values. Will only match a leading zero if it is the only digit to the left of the decimal point. A decimal on a whole number is fine, regardless of whether it has zeroes to the right of the decimal or not.
^[+\-]?([1-9]\d{0,2
(\d*|(,\d{3})*)(\.\d*|\.?)|(0\.?|0?\.\d+))$}
^ [+\-]? Optional sign, ( followed by [1-9]\d{0,2} a number between 1 and 999, ( followed by \d* any number of digits | or (,\d{3})* a comma and three digits [repeated], ) ( followed by \.\d* a decimal and any number of digits. | or \.? an optional decimal ) | or ( followed by 0\.? 0 and an optional decimal | or 0?\.\d+ an optional 0, a decimal, and one or more digits ) ) $
str
- String to matchtrue
if it appears to be numeric, false
if not.Promote a previous revision of an NCube.
cubeId
- longRelease the passed in SNAPSHOT version (update their status_cd to RELEASE), and then duplicate all the n-cubes in the release, creating new ones in SNAPSHOT status with the version number set to the newSnapVer.
Update an entire set of columns on an axis at one time. The updatedAxis is not a real axis, but treated like an Axis-DTO where the list of columns within the axis are in display order.
In-place update of a cell.
Groovy Documentation