Create IMosaicDatasetOperation3 in Java

548
1
08-27-2021 05:09 AM
AndyArismendi1
New Contributor III

Hi, I've never used ArcObjects before but I'm trying to cobble together a proof of concept snippet to reproduce the functionality in ArcPy ExportMosaicDatasetPaths w/ and environment extent by using the ExportItems method on IMosaicDatasetOperation3.

https://desktop.arcgis.com/en/arcobjects/latest/net/webframe.htm#IExportItemsParameters.htm

I created a little test app in NetBeans and added the arcobjects.jar from ArcGIS Engine and got to this point, but got a casting exception. From some examples I saw online it looks like you are supposed to cast the mosaic dataset object to a mosaic dataset operation object but not sure if that works the same for java...

Any help would be greatly appreciated! Here's the code so far -

 

//Initialize the Java Componet Object Model (COM) Interop.
EngineInitializer.initializeEngine();

// Initialize an ArcGIS license.
AoInitialize aoInit = new AoInitialize();
initializeArcGISLicenses(aoInit);

String fgdb_path = "S:\\Test.gdb";
String md_name = "TestMD";
IWorkspaceFactory ws_factory = new FileGDBWorkspaceFactory();
IWorkspace wksp = ws_factory.openFromFile(fgdb_path, 0);
IMosaicWorkspaceExtensionHelper helper = new MosaicWorkspaceExtensionHelper();
IMosaicWorkspaceExtension ws_ext = helper.findExtension(wksp);
IMosaicDataset md = ws_ext.openMosaicDataset(md_name);
IMosaicDatasetOperation3 md_op = (IMosaicDatasetOperation3)md;

//Exception in thread "main" java.lang.ClassCastException: com.esri.arcgis.datasourcesraster.IMosaicDatasetProxy cannot be cast to com.esri.arcgis.datasourcesraster.IMosaicDatasetOperation3

0 Kudos
1 Reply
GKmieliauskas
Esri Regular Contributor

Hi,

I have found this:

com.esri.arcgis.datasourcesraster
Class IMosaicDatasetOperation3Proxy
java.lang.Object
extended by com.esri.arcgis.interop.Dispatch
extended by com.esri.arcgis.datasourcesraster.IMosaicDatasetOperationProxy
extended by com.esri.arcgis.datasourcesraster.IMosaicDatasetOperation2Proxy
extended by com.esri.arcgis.datasourcesraster.IMosaicDatasetOperation3Proxy
All Implemented Interfaces:
IMosaicDatasetOperation, IMosaicDatasetOperation2, IMosaicDatasetOperation3, java.io.Externalizable, java.io.Serializable
Deprecated. Internal use only. Proxy for COM Interface 'IMosaicDatasetOperation3'. Generated 3/19/2015 1:20:55 PM from 'C:\ArcGIS\COM\esriDataSourcesRaster.olb'

https://desktop.arcgis.com/en/arcobjects/latest/java/api/arcobjects/com/esri/arcgis/datasourcesraste... 

0 Kudos