Shore Side Data System (600031 and 900823) : Data Producer Services This page last changed on Jan 22, 2009 by kgomes. createDuplicateDeepDeployment ##### Background The purpose of this service was to have a way to make copies of deployments in SSDS. Often times we want to duplicate an instance of a deployment, but we want to copy all of its sub-deployment children as well, hence the "deep" part of the copy. This method takes in a <code>DataProducer</code> that must be of type "deployment" and then creates "deep" copy of it and persists the new copy. It pulls in the options specified in the incoming parameters to create a unique copy of the DataProducers and DataContainer (outputs). All the rest of the object should be linked to the ones that already exist in the peristent storage. The new ID of the duplicate deployment is returned. ##### The Interface
Return | Parameters
--- | ---
- The ID of the newly generated deployment | DataProducer to Copy Date the copy should start at A boolean to indicate if the old (original) should be closed Date the old (original) should use as an end date (if to be closed) String that will be the name of the new deployment (copy) String that is the base of the data stream URI which should be
      http://new-ssds.mbari.org/servlet/GetOriginalDataServlet
So the API interface looks something like: createDuplicateDeepDeployment
    public Long createDuplicateDeepDeployment(
            DataProducer deploymentToCopy,          // DataProducer to copy
            Date newStartDate,                      // Date to start copied DataProducer on
            boolean closeOld,                       // Whether or not old (original) should be closed
            Date oldEndDate,                        // Date to use for end date if original is closed
            String newHeadDeploymentName,           // Name of the new DataProducer (copy)
            String baseDataStreamUri                // Base URI for raw data access (http://new-ssds.mbari.org/servlet/GetOriginalDataServlet)
    )
##### Java EJB client Under construction ##### REST Style client To use this service via HTTP (REST Style), the call would be constructed using this format: REST Style format
    http://new-ssds.mbari.org/servlet/MetadataAccessServlet?objectToInvokeOn=DataProducerAccess&method=createDuplicateDeepDeployment
    &p1Type=DataProducer&p1Value=DataProducer|id=1938292
    &p2Type=Date&p2Value=2008-12-01T00:00:00Z
    &p3Type=boolean&p3Value=true
    &p4Type=Date&p4Value=2008-11-30T00:00:00Z
    &p5Type=String&p5Value=New copy of Deployment
    &p6Type=String&p6Value=http://new-ssds.mbari.org/servlet/GetOriginalDataServlet
And the return might looks something like this:
    Result(s):
    java.lang.Long|29985
##### Web Services client Under construction makePersistent ##### Background The purpose of this service is to insert (or update) a DataProducer in the SSDS. If the DataProducer already exists (the equal criteria is by ID and then if no ID specified, it uses the outputs) it will update it, if not it will create a new one. ##### The Interface
Return | Parameters
--- | ---
The ID of the created or updated DataProducer | DataProducer to persist
So the API interface looks something like: createDuplicateDeepDeployment
    public Long makePersistent(
        DataProducer dataProducerToPersist         // This is the DataProducer that will be updated or created
    )
##### Java EJB client Under construction ##### REST Style client To use this service via HTTP (REST Style), the call would be constructed using this format: REST Style format
    http://new-ssds.mbari.org/servlet/MetadataAccessServlet?objectToInvokeOn=DataProducerAccess&method=makePersistent
    &p1Type=DataProducer&p1Value=DataProducer|name=MUCE - January 2009 test|description=MUCE Test Deployment|dataProducerType=Deployment|startDate=2009-01-10T12:00:00Z
And the return might looks something like this:
    Result(s):
    java.lang.Long|29991
##### Web Services client Under construction

Document generated by Confluence on Feb 04, 2026 08:56