See: Description
Package | Description |
---|---|
com.canto.cumulus |
The base package of the Cumulus Java Classes.
|
com.canto.cumulus.constants |
The constants and Enums of the Cumulus Java Classes.
|
com.canto.cumulus.events |
Listeners and Event classes of the Cumulus Java Classes.
|
com.canto.cumulus.exceptions |
Exceptions classes and interfaces of the Cumulus Java Classes.
|
com.canto.cumulus.fieldvalue |
Wrapper clsses for field values of the Cumulus Java Classes.
|
com.canto.cumulus.modules |
The package for accessing the plug-in modules of Cumulus.
|
com.canto.cumulus.prefs |
The Cumulus preferences package for accessing the Cumulus preferences.
|
com.canto.cumulus.usermanagement |
The Cumulus User Management package.
|
com.canto.cumulus.utils |
The Cumulus utilities package.
|
Package | Description |
---|---|
com.canto.cumulus.ejp | |
com.canto.cumulus.modules.ejpregistries |
The Cumulus EJaP registration package.
|
com.canto.cumulus.modules.ejpregistries.general |
The Cumulus EJaP registration package for gemneral EJaPs.
|
com.canto.cumulus.ui |
The Cumulus application user interface classes.
|
com.canto.cumulus.ui.events |
User Interface Listeners and Event classes available for EJPs.
|
Package | Description |
---|---|
com.canto.cumulus.db | |
com.canto.cumulus.db.dbmirror | |
com.canto.cumulus.db.mail | |
com.canto.cumulus.db.permissions | |
com.canto.cumulus.db.statistics | |
com.canto.cumulus.db.subscriptions | |
com.canto.cumulus.db.trigger | |
com.canto.cumulus.keyword.service | |
com.canto.cumulus.mediadeliverycloud | |
com.canto.cumulus.modules.ejpregistries.serverconsole | |
com.canto.cumulus.server.esp.modules.reportgenerator |
Classes of the Cumulus Report Generator ESP.
|
com.canto.cumulus.ui.event |
The Cumulus application user interface event classes.
|
com.canto.cumulus.usermanagement.event | |
com.canto.cumulus.utils.formats | |
com.canto.cumulus.video.cloud |
System Requirements
Setting Up The Environment
Permissions on Unix
Getting Started
Compiling the Demo Application
Running the Demo Application
Multithreaded Applications
Change History
Contact Canto
CumulusJC.jar
file you have the following options:
CumulusJC.jar
in the CLASSPATH
environment variable.CumulusJC.jar
in the Class-Path
section of the Manifest.-classpath
option
including the path to CumulusJC.jar
.CumulusJC.jar
in the Cumulus Java Classes installation directory in your classpath you do not have to do any additional configuration.
CumulusJC.jar
file anywhere else do one of the following to allow the Cumulus Java Classes to find the CumulusJC.dll:
com.canto.cumulus.path
to the Cumulus Java Classes installation directory path before calling
Cumulus.CumulusStart
().
Cumulus.CumulusStart
(installPath) with the Cumulus Java Classes
installation directory path as a parameter.
LD_LIBRARY_PATH
environment variable.
Note: The environment variables should not contain any double quotes (") even for a path that contains space characters.
Inside the value of the environment variable paths are separated using colon (:
).
CumulusJC.jar
file in a different location
you need to do one of the following to allow the Cumulus Java Classes to find the libCumulusJC.so:
com.canto.cumulus.path
to the Cumulus Java Classes installation directory path before calling
Cumulus.CumulusStart
().
Cumulus.CumulusStart
(installPath) with the Cumulus Java Classes
installation directory path as a parameter.
DYLD_LIBRARY_PATH
environment variable.
Note: The environment variables should not contain any double quotes (") even for a path that contains space characters.
Inside the value of the environment variable paths are separated using colon (:
).
Cumulus.CumulusStart
().
This is especially useful when building an application package.
See the DemoApp.app/Contents/info.plist
file for more details.
var/registry
file located in your installation directory.
Import the Cumulus Java Classes library:
import com.canto.cumulus.*;
Initialize the Cumulus Java Classes library:
Cumulus.
CumulusStart(
);
Open a connection to a Cumulus server:
Server
server = Server.openConnection
(false, "myCumulusServer", "myUserName", "myPassword");
Open a specific catalog (by name):
int catalogID = server.
findCatalogID
("myCatalog");
Catalog
catalog = server.openCatalog
(catalogID);
RecordItemCollection
collection = catalog.newRecordItemCollection
(true);
Add your code working with the record item collection here:
When finished close the Cumulus Java Classes library:
Cumulus.
CumulusStop
();
After this last call, no further calls to the Cumulus Java Classes library are possible.
DemoApp.jar
file is located in the install folder to be able to start the
DemoApp the easiest way (see below).
You can either run the demo application right away (see below) or recompile the sources.
MakeDemoApp.bat
batch file on Windows or the
makedemo.sh
shell script in the DemoApp folder elsewhere.
You can also use the build.xml
build file for Apache ant.
Before building the demo you should check that Java 2 SDK is properly installed.
PATH
environment variable.
It is recommended to use the latest JDK available at http://www.java.sun.com.
Please refer to the Java Installation Notes for setting the PATH
environment variable.
DemoApp/classes
folder and
the resulting DemoApp.jar
file in the installation folder.
DemoApp.jar
file is an application jar file containing a Manifest that allows easy
starting the DemoApp. On most systems you just double-click the DemoApp.jar
file to start
the application.
You can also run the RunDemoApp.bat
batch file on Windows or the rundemo.sh
shell script elsewhere.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Please see this page for all changes.
Cumulus.getVersion()
to "7.0".Catalog
methods to use the right permissions instead of requiring to be administrator.Catalog.getCentralAssetLocationUsage()
which doesn't require to be administrator anymore.Catalog.getWriteMetadataToAssets()
which doesn't require to be administrator anymore.Catalog.getFullName()
which
doesn't require to be administrator anymore.Catalog.backup()
which
doesn't require to be administrator anymore but checks for SERVER_PERMISSION_BACKUP_ADMIN
instead.Catalog.newEmptyCopy(String,
GUID)
which was throwing an exception when the server was
using different language than the SDK.Catalog.convertTo(String,
GUID)
which was throwing an exception when the server was
using different language than the SDK.Category.setParentCategory(Category)
in
order to accept a null value as argument.Field.setValue(Object)
which
was crashing the application when passing a null value. Passing a null value
is now clearing the value as if Field.clearValue()
was
called.FieldDefinitions
methods
to use the right permissions instead of requiring to be administrator.Menu.getParent()
which returned a wrong object.Menu.getMenuItem(int
index)
which
now returns a specific exception if the index is incorrect.MultiCatalogCollection.cloneMultiCatalogCollection()
which
now creates an invisible collection when used in an EJaP.Server
object when closing a catalog view in the application.MultiCatalogCollection.close()
.MultiCatalogCollection.removeCatalogListener(CatalogListener)
which
was crashing the application when used from an EJaP.MultiCatalogCollection.removeCollectionListener(CollectionListener)
which
was crashing the application when used from an EJaP.MultiCatalogCollection.cloneMultiCatalogCollection()
and RecordCollection.cloneRecordCollection()
so
that the cloned collections contains the same records as the original one.
The performance was also improved.Record.copyAssetTo(Asset)
which
could crash the application.Record.copyAssetTo(File)
which
could crash the application.Record.moveAssetTo(Asset)
which
could crash the application.Record.moveAssetTo(File)
which
could crash the application.ServerCatalogs.addServerCatalog(String,
GUID)
which was throwing an exception when the server was
using different language than the SDK.ServerCatalogs.newServerCatalog(String, String,
GUID)
which was throwing an exception when the server was
using different language than the SDK.ServerCatalogs.restoreServerCatalog(String, String,
GUID)
which was throwing an exception when the server was
using different language than the SDK.StringEnumList.getString(int, int)
in order to return the values with the right sorting as defined in the Preferences.Asset.getOriginalName()
to
get the original name of the asset.Asset.rename(String)
and Asset.rename(String, boolean)
to
rename an asset.AssetReference.putVaultAssetRefPart(int,
String, String, String, String)
to create a Vault Asset Reference
Part.AssetReference.putURLAssetRefPart(int,
String)
to create a URL Asset Reference Part.CatalogCollection.catalogAssets(Collection,
String, String, int)
to catalog a collection of assets.CatalogCollection.catalogAssets(Collection,
String, String)
to catalog a collection of assets.CatalogCollection.catalogAssets(Collection,
String)
to catalog a collection of assets.CatalogCollection.catalogAsset(Asset,
String, String, int)
to catalog an asset.CatalogCollection.catalogAsset(Asset,
String, String)
to catalog an asset.CatalogCollection.importRecords(String,
String)
to import records.FieldDefinition.isMandatoryField()
to
know if the field value is mandatory.FieldTypes.VALUE_INTERPRETATION_STRING_ENUM_MULTIPLE_VALUES
constant
for StringEnum fields with multiple values.FieldTypes.VALUE_INTERPRETATION_STRING_ENUM_LABEL
constant
for label fields.FieldTypes.VALUE_INTERPRETATION_STRING_ENUM_RATING
constant
for rating fields.GUIDs
constants
for the new Cumulus 7 fields (cross references, label, rating, etc).MultiCatalogCollection.getRecordCount()
to
retrieve the current number of records.MultiCatalogCollection.getRecordTotalCount()
to
retrieve the total number of records.MultiCatalogCollection.getRecordID(int)
to
retrieve a record ID by index.MultiCatalogCollection.getRecordIterator()
to
get an Iterator on the collection's records.MultiCatalogCollection.importRecords(int,
File, String)
to import records in a collection with a permission
template.MultiCatalogCollection.doAction(String,
Asset)
to apply an action to all records in the collection.Pixmap.createPixmapFromPNG(InputStream)
to
create a pixmap from an InputStream.Pixmap.createPixmapFromPNG(byte[])
to
create a pixmap from an array of bytes.Record.checkIn(String,
String, String, boolean)
to check-in a version and keeping
it checked-out.Record.rollback(int)
to
rollback to a specific version.Record.renameAsset(String)
to
rename an asset.Record.renameAsset(String,
boolean)
to rename an asset and append a version number if
the asset already exists.Server.isAlive()
to test if a server is still alive.UserContext.getPermissions(Catalog)
to
retrieve all catalog permissions for a catalog.UserContext.getServerPermissions()
to
retrieve all server permission.UserContext.getRecordViewSetNames(Catalog)
to
retrieve all record view sets names for a catalog.UserContext.getCategoryViewSetNames(Catalog)
to
retrieve all category view sets names for a catalog.UserContext.getAssetHandlingSetNames(Catalog)
to
retrieve all aset handling sets names for a catalog.UserContext.getAssetActionNames(Catalog)
to
retrieve all asset action names for a catalog.UserContext.getRecordQueryNames(Catalog)
to
retrieve all record query names for a catalog.UserContext.getCategoryQueryNames(Catalog)
to
retrieve all category query names for a catalog.UserContext.getMetadataTemplateNames(Catalog)
to
retrieve all metadata template names for a catalog.UserContext.getPrintSetNames(Catalog)
to
retrieve all print sets names for a catalog.UserContext.getPermissionTemplateNames(Catalog)
to
retrieve all permission templates names for a catalog.Application.showHelp(String,
String)
to show the help pages.Application.addContextMenuListener(ContextMenuListener)
to
add a context menu listener.Application.removeContextMenuListener(ContextMenuListener)
to
remove a context menu listener.Application.getContextMenuListeners(String,
String)
to get the registered context menu listeners.CategoryCollection.getMasterCategoryName()
to
retrieve the master category name.CategoryCollection.findCategories(String,
int)
to perform a category search.CategoryCollection.findAllCategories()
to
find all categories.CatalogEvent.isLastCatalog()
to
indicate whether a closed catalog is the last catalog in the application.ContextMenuEvent
and ContextMenuListener
classes
to deal with context menus creation and deletion.RecordCollection.importRecords(int,
File, String)
to import records.RecordCollectionCollection.close()
method.RecordCollection.getParentRecordCollection()
to
retrieve the parent of a RecordCollection in a split view.RecordCollection.getSubRecordCollection()
to
retrieve the child of a RecordCollection in a split view.RecordCollection.countSelectedRecords()
to
retrieve the number of selected records in a collection.RecordCollection.getCurrentRecordViewSet()
to
retrieve the name of the current record view set.RelatedAssetRecordReference
and RelatedAssets
classes
to deal with related asset references.Cumulus.getVersion()
to "6.6".Cumulus.Always
and Cumulus.Never
constants
which were wrong.
Field.getFieldDefinition()
.AssetReference
in
order to specify an asset handling set.AssetReference.getAsset()
in
order to specify a Catalog for permissions.AssetReference.getParent()
, AssetReference.equals()
,
and AssetReference.hashCode()
.AssetReference.getAsset()
which
could crash the application for non-record references.Asset
in
order to specify an asset handling set.Audio.getData()
to
retrieve the Audio data as an array of bytes.Categories.newRelatedCategory()
to
create new related categories.Pack.getLongArray()
, Pack.getDoubleArray()
, Pack.putLongArray()
, Pack.putDoubleArray()
.JPack.getLongArray()
, JPack.getDoubleArray()
, JPack.putLongArray()
, JPack.putDoubleArray()
.Field.hasValue()
,
and deprecated Field.getHasValue()
.CumulusSession.getAssetHandlingSets()
.MultiCatalogCollection.exportRecords()
which was not properly exported.MultiCatalogCollection.exportCategories()
which
was not properly exported.
MultiCatalogCollection.save()
which
could crash the application.
MultiCatalogCollection
leading
to an application crash if a method was called after the collection was closed.FieldDefinitions
which
caused to return a wrong count after adding or removing a field.
Records.getRecord()
which
now returns a specific error instead of an unspecified error, when the record
index
is wrong.
Records.moveAssetsTo()
which
could crash the application.
Records.copyAssetsTo()
which
could crash the application.Records.removeRecord()
which
caused to return a wrong count after adding or removing a record.
CatalogCollection.save()
which
could crash the application.
CumulusSession.openCollection()
which
could crash the application.
Catalog.setCentralAssetLocation()
to accept a null argument.Catalog
.
These methods are not supported anymore.
Catalog.getCentralAssetLocationXML()
and
Catalog.setCentralAssetLocationXML()
.ServerCatalogs.getServerCatalogByID()
which
did not throw an exception when a wrong ID was used.FieldDefinition.getLinkToAllMatchingField()
which caused a stack overflow.Layout.getAvailableFields()
which throwed an exception when trying to access the category layout available fields.FieldDefinitions.removeFieldDefinition
methods
to forbid the deletion of mandatory record fields.Application.removeFrontCollectionListener
which was not removing any listener.MenuItem.setShortcut
which
was not properly transforming the shortcut to uppercase on Win32 platforms.Menu
which
was leading to the removal of the "Window" menu when removing a menu by ID.CumulusSession.openCollection()
and CumulusSession.openCollection()
.RecordCollection.getParent()
which
was returning an invalid object.MenuBar.getMenu(String)
and Menu.getMenuItem(String)
which
were not handling the Win32 shortuct modifiers (the & symbol) properly.Path
environment variable on Windows so it is no longer necessary to set this up externally.Cumulus.getVersion()
to "6.5.1".Cumulus.getVersion()
to "6.5".Application.addRecordSelectionListener()
to register for any selection change in the records (EJaPs only).Application.addCategorySelectionListener()
to register for any selection change in the categories (EJaPs only).Application.openCollection()
to open a Cumulus 6 collection file (EJaPs only).Application.setModal()
to set the application to a modal state (EJaPs only).CatalogCollection.findCategoryIDs()
to allow returning the IDs of the categories matching a given query (Enterprise Edition only).Categories
are now declared to throw a CumulusException
.CumulusSession.connectToServer()
to a new product ID.CumulusSession.openCollection()
to open a Cumulus 6 version collection file.CumulusSession.addPreferencesListener()
to register for preference changes.FieldListEntry.getDefaultMasterCategoryName()
to return the preferred mater category name for field linking to the "Categories" field.Menu.findMenuItem()
to find a menu item by command ID.ModuleRegistry
.MultiCatalogCollection.getRecordFieldValues()
to allow getting field values for all records in a MultiCatalogCollection.MultiCatalogCollection.removeRecords()
to allow removing a whole set of records from a MultiCatalogCollection.MultiCatalogCollection.isSortedByField()
to check whether a MultiCatalogCollection is currently sorted.Pixmap.readJPEGInfoFromAsset()
to read information from a JPEG asset.Record.save()
is now declared to throw a CumulusException
.Record
class to perform asset actions introduced with Cumulus 6.5.RecordCollection.save()
to store a RecordCollection to a Cumulus 6 collection file (EJaPs only).RecordCollection.getSelectedRecordsCatalogIDs()
to get the catalog IDs for the selected records (EJaPs only).Server.sendMessage()
to send a message to a server plug-in module.UserContext.isGuest()
to return whether the current user is connected as guest.Cumulus.getVersion()
to "6.0.7".find()
, findAll()
, or findMatchingRecords()
did not always return the correct number of records found.JPack
similar to the class Pack
but completely written in Java.TimeOnly
wrapper class to wrap values for fields of type "Time Only".DataSize
wrapper class to wrap values for fields of type "Data Size".Cumulus.getVersion()
to "6.0.6".CatalogCollection.save()
.Cumulus.getVersion()
to "6.0.5".Cumulus.getVersion()
to "6.0.4".CatalogCollection.findMatchingRecords()
.MultiCatalogCollection.findMatchingRecords()
.CategoryCollection.getSelectedCategory()
when getting a catalog category.DateOnly.getValue()
to get the current value to store it in a date only field.DateOnly(int year, int month, int day)
.Cumulus.getVersion()
to "6.0.3".PATH
environment variable to allow the library to be found.Catalog
object are deprecated and should no longer be used. Use the UserContext
object instead.com.canto.cumulus.MultiCatalogCollection
represent a collection of record that may contain several catalogs from the same server.UserContext
contains information about the user being logged in.ModuleRegistry
contains all registered modules like AssetStores and Filters.com.canto.cumulus.utils.DateOnly
is a wrapper class for field values of the "Date Only" type.FieldDefinition
is extended to support the new value interpretation property of a field. The new Cumulus 6 field types "Date Only" and "Time Only" are integer fields with a specific value interpreationcom.canto.cumulus.CatalogCollection#catalogAsset(com.canto.cumulus.Asset,String)
and com.canto.cumulus.CatalogCollection#catalogAsset(java.io.File,String)
to allow specifying the AssetHandling set to use.com.canto.cumulus.Record#update(boolean,String)
to allow specifying the AssetHandling set to use.com.canto.cumulus.CumulusSession#getAssetHandlingSets()
to get a list of AssetHandling sets to use.CumulusSession.getUserContext()
to get the current UserContext
object.com.canto.cumulus.AssetReference#getData()
to get the asset reference as binary data.Pixmap.createPixmapFromJPEG(byte[])
to allow creating a new Pixmap object from any JPEG image data.getParent()
method to get to the object that they were created from. Also many have a getCatalogCollection()
method to get to the CatalogCollection object they belong to.equals()
and hashCode()
method to allow using them in Java collections consistently.Cumulus.setAutomaticGarbageCollection(int)
for details)Cumulus.getVersion()
to "5.5.7".Cumulus.getVersion()
to "5.5.6".Cumulus.setMaxTools()
and Cumulus.setToolTimeout()
.Cumulus.getVersion()
to "5.5.5".Catalog.getCentralAssetLocationXML()
and Catalog.setCentralAssetLocationXML()
.Cumulus.getVersion()
to "5.5.4".Cumulus.getVersion()
to "5.5.3".CumulusJC.jar
fileCumulus.getVersion()
to "5.5.2".Category.getParentCategory()
when getting the parent of a top-level category.Asset.close()
to allow releasing resources occupied by the Asset object.Asset.getCheckinComment()
.Asset.getCheckinDate()
.Asset.getCheckinUser()
.Asset.getVersionNumbers()
.Asset.redirect(String,GUID)
.Asset.useVersion()
.AssetEnumeration.close()
to allow releasing resources occupied by the AssetEnumeration object.AssetReference(CumulusSession,Pack)
.AssetReference(CumulusSession,byte[])
.Category.getType()
and the category type values.Category.isDisabled()
.Cumulus.addStartStopListener(StartStopListener)
.Cumulus.removeStartStopListener(StartStopListener)
.FieldDefinition.getFieldDefinition(String name)
which now is declared to throw a CumulusException.GUID.UID_REC_CHECKOUT_USER
.GUID.UID_REC_CHECKOUT_DATE
.GUID.UID_REC_CHECKOUT_LOCATION
.GUID.UID_REC_HISTORY
.GUID.UID_REC_THUMBNAIL_ROTATION
.getAsJpeg(int maxSize, int rotation, int quality)
.rotateJpeg(InputDataStream inStream, OutputDataStream outStream, int rotation, int quality)
.StartStopListener
.Asset.convert(Asset,String,GUID)
on macOS.Asset.getSubAssets()
.Pack.getIntArray(int)
.Cumulus.getVersion()
to "5.5.1".Category.getParentCategory()
when getting the parent of a top-level category.CatalogCollection.findMatchingRecords(int[],int)
.Categories.newCategory(String)
.Categories.newWindowsDirectoryCategory(String,String)
.Categories.newMacOSDirectoryCategory(String,int,int)
.Categories.newURLDirectoryCategory(String,String)
.Categories.findWindowsDirectoryCategory(String)
.Categories.findMacOSDirectoryCategory(int,int)
.Categories.findURLDirectoryCategory(String)
.Categories.findURLSubCategoryIDs(String)
.
North and South America: Canto Software, Inc. 625 Market Street San Francisco, CA 94105 Tel: +1 (415) 495-6545 Fax: +1 (415) 543-1595 E-Mail: info@canto.com |
Europe, Asia, Australia and Africa: Canto GmbH Lietzenburger Str. 46 D-10789 Berlin Germany Tel: +49-30-390-4850 Fax: +49-30-393-1093 E-Mail: info@canto.de |
www.canto.com
Canto, the Canto logo, the Cumulus logo, and Cumulus are registered trademarks of Canto GmbH, registered in the U.S. and other countries.