Oracle® Fusion Middleware Oracle Enterprise Repository統合ガイド 11g リリース1 (11.1.1.7) B72433-02 |
|
前 |
次 |
この章では、CMFエントリ・タイプAPIのユースケースについて説明します。また、Oracle Enterprise Repositoryへの新しいCMFエントリ・タイプの追加、およびアセットへの既存のCMFエントリ・タイプの割当てを行う方法について解説します。
この章では、次の項目について説明します。
CMFエントリ・タイプは、アセットにアタッチできるメタデータを記述します。CMFエントリ・タイプは、IDと単一の名前の文字列で識別されます。
検証: CMFエントリ・タイプを保存する場合、Oracle Enterprise Repositoryは、現在、次の内容を検証します。
CMFエントリ・タイプ名の長さが範囲内であること
CMFエントリ・タイプ名が一意であること
CMFエントリ・タイプの更新時に、CMFエントリ・タイプIDが存在していること
関連するサブシステム
アセットの観点からでは、CMFエントリはアセットにリンクしています。CMFエントリ・タイプでは、これらのエントリのパラメータを定義します。
追加で必要なインポート
import com.flashline.registry.openapi.entity.MetadataEntryTypeSummary; import com.flashline.registry.openapi.query.MetadataEntryTypeCriteria;
この項では、CMFエントリ・タイプAPIを使用するユースケースについて説明します。内容は次のとおりです。
説明
新しいCMFエントリ・タイプをOracle Enterprise Repositoryに追加します。
既存のCMFエントリ・タイプをアセットに割り当てます。
サンプル・コード
例19-1 ユースケース: CMFエントリ・タイプの操作
package com.flashline.sample.metadataentrytypeapi; import java.net.MalformedURLException; import java.net.URL; import java.rmi.RemoteException; import javax.xml.rpc.ServiceException; import com.flashline.registry.openapi.base.OpenAPIException; import com.flashline.registry.openapi.entity.AuthToken; import com.flashline.registry.openapi.entity.MetadataEntryTypeSummary; import com.flashline.registry.openapi.query.MetadataEntryTypeCriteria; import com.flashline.registry.openapi.service.v300.FlashlineRegistry; import com.flashline.registry.openapi.service.v300.FlashlineRegistryServiceLocator; public class MetadataEntryTypes { public static void main(String pArgs[]) throws OpenAPIException, RemoteException, ServiceException { try { /////////////////////////////////////////////////////////// // Connect to Oracle Enterprise Repository /////////////////////////////////////////////////////////// URL lURL = null; lURL = new URL(pArgs[0]); FlashlineRegistry repository = new FlashlineRegistryServiceLocator().getFlashlineRegistry(lURL); // ////////////////////////////// // Authenticate with OER // ////////////////////////////// AuthToken authToken = repository.authTokenCreate(pArgs[1],pArgs[2]); // ----------------------------------------- // Create a new CMF Entry Type String newMetadataEntryTypeName = "Sample MetadataEntryType"; MetadataEntryTypeSummary newMetadataEntryType = repository.metadataEntryTypeCreate(authToken, newMetadataEntryTypeName); System.out.println("The new MetadataEntryType id =\"" + newMetadataEntryType.getID() + "\""); // ----------------------------------------- // Find a CMF Entry Type MetadataEntryTypeCriteria criteria = new MetadataEntryTypeCriteria(); criteria.setNameCriteria("Sample"); MetadataEntryTypeSummary[] metadataEntryTypes = repository.metadataEntryTypeQuery(authToken, criteria); long myMetadataEntryTypeID = metadataEntryTypes[0].getID(); // ----------------------------------------- // Read a CMF Entry Type MetadataEntryTypeSummary readMetadataEntryType = repository.metadataEntryTypeRead(authToken, myMetadataEntryTypeID); System.out.println("The MetadataEntryType name =\"" + readMetadataEntryType.getName() + "\""); // ----------------------------------------- // Delete a CMF Entry Type repository.metadataEntryTypeDelete(authToken, myMetadataEntryTypeID); } catch (OpenAPIException lEx) { System.out.println("ServerCode = " + lEx.getServerErrorCode()); System.out.println("Message = " + lEx.getMessage()); System.out.println("StackTrace:"); lEx.printStackTrace(); } catch (RemoteException lEx) { lEx.printStackTrace(); } catch (ServiceException lEx) { lEx.printStackTrace(); } catch (MalformedURLException lEx) { lEx.printStackTrace(); } } }