All pastes #395155 Raw Edit

Stuff

public text v1 · immutable
·published 2007-03-14 20:55 UTC
rendered paste body
MetadataManager   metadataManager = Connector.getMetadataManager();
        // Create metadata template and metadata labels.

        // Now create a metadata template hierarchy.
        // First get the root template UUID. The root template provides an optional
        // root for the template hierarchy for a specific organization.
        // Other templates don't have to inherit from the root template, but it's
        // a good convention. Templates that don't inherit from the root template
        // won't show up in the Administrator application.
        // If the root template does not exist, the system will create a new
        // metadata template using the default name: "Default Metadata Template".

        String rootTemplateUuid = 
        	metadataManager.getRootMetadataTemplateUuid(m_userAuth, 
        	                                            m_userAuth.getOrgUuid());
        // Create a new template, called "Design Drawings".
        String designDrawingsTemplateUuid = 
        	metadataManager.createTemplate(m_userAuth, "Design Drawings Template", m_userAuth.getOrgUuid());

        cleanupTemplateUuids.add(designDrawingsTemplateUuid);
        
        // Create another new template, called "Finance".
        String financeTemplateUuid = 
        	metadataManager.createTemplate(m_userAuth, "Finance Template", m_userAuth.getOrgUuid());

        cleanupTemplateUuids.add(financeTemplateUuid);
        
        // Make the new templates children of the root template.
        // The child templates now inherit the "Author" label from the root template.
        try {
            metadataManager.addChildTemplate(m_userAuth, rootTemplateUuid,
                                             designDrawingsTemplateUuid);
            metadataManager.addChildTemplate(m_userAuth, rootTemplateUuid,
                                             financeTemplateUuid);
        } catch(DuplicateNameException ex) {
            // Duplicate names are not allowed in child templates,
            // therefore you would get this exception when you run this
            // program more than once. Here we ignore the exception.
        	System.out.println("Duplicate Template Exception");
        }

        // Add a "Design Status" label to the "Design Drawing" template.
        String statusLabelUuid = 
        	metadataManager.createMetadataLabelInTemplate(m_userAuth,
                                                          designDrawingsTemplateUuid,
                                                          "Design Status", // the 'Key'
                                                          true,     // required
                                                          DataType.PICKONE, // a PickOne enumerated type
                                                          null, // default value
                                                          null); // max length

        // Create selections (enumerated values) for the "Design Status" PICKONE label.
        String inProgressSelectionUuid = 
        	metadataManager.createMetadataSelection(m_userAuth,
                                                    statusLabelUuid, DataType.STRING,
                                                    "In Progress", null );
        String inRevisionSelectionUuid = 
        	metadataManager.createMetadataSelection(m_userAuth,
                                                    statusLabelUuid, DataType.STRING,
                                                    "In Revision", null );
        String acceptedSelectionUuid = 
        	metadataManager.createMetadataSelection(m_userAuth,
                                                    statusLabelUuid, DataType.STRING,
                                                    "Accepted", null );
        String rejectedSelectionUuid = 
        	metadataManager.createMetadataSelection(m_userAuth,
                                                    statusLabelUuid, DataType.STRING,
                                                    "Rejected", null );

        // Create another label, called "Hours Worked", for the number of hours that have been spent on
        // this drawing.
        String hoursWorkedLabelUuid = 
        	metadataManager.createMetadataLabelInTemplate(m_userAuth,
                                                          designDrawingsTemplateUuid,
                                                          "Hours Worked",
                                                          false,
                                                          DataType.NUMBER,
                                                          null, // default value
                                                          null); // max length
        // Create a "cost" label in the "Finance" template.
        String costLabelUuid = 
        	metadataManager.createMetadataLabelInTemplate(m_userAuth,
                                                          financeTemplateUuid,
                                                          "cost",
                                                          true, // required
                                                          DataType.NUMBER,
                                                          null, // default value
                                                          null); // max length