Revision 35478 branches/v2_0_0_prep/extensions/extCatalog/src/org/gvsig/catalog/loaders/ARCIMSLayerLoader.java

View differences:

ARCIMSLayerLoader.java
6 6
import org.gvsig.andami.PluginServices;
7 7
import org.gvsig.app.project.documents.view.gui.AbstractViewPanel;
8 8
import org.gvsig.catalog.schemas.Resource;
9
import org.gvsig.fmap.mapcontext.layers.FLayer;
9
import org.gvsig.fmap.dal.DataStoreParameters;
10
import org.gvsig.fmap.dal.exception.InitializeException;
11
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
10 12
import org.gvsig.i18n.Messages;
11
import org.gvsig.tools.extensionpoint.ExtensionPoint;
12
import org.gvsig.utils.extensionPointsOld.ExtensionPointsSingleton;
13 13

  
14 14

  
15 15
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
......
52 52
 *   +34 963163400
53 53
 *   dac@iver.es
54 54
 */
55
/* CVS MESSAGES:
56
 *
57
 * $Id: ARCIMSLayerLoader.java 505 2007-07-23 07:14:25Z jorpiell $
58
 * $Log$
59
 * Revision 1.1.2.4.4.2  2007/07/23 07:14:25  jorpiell
60
 * Catalog refactoring
61
 *
62
 * Revision 1.1.2.4.4.1  2007/07/13 12:00:36  jorpiell
63
 * Add the posibility to add a new panel
64
 *
65
 * Revision 1.1.2.4  2007/01/08 12:16:30  jcampos
66
 * Revert changes
67
 *
68
 * Revision 1.1.2.2  2006/11/15 00:08:16  jjdelcerro
69
 * *** empty log message ***
70
 *
71
 * Revision 1.2  2006/10/02 08:29:06  jorpiell
72
 * Modificados los cambios del Branch 10 al head
73
 *
74
 * Revision 1.1.2.1  2006/09/20 12:01:36  jorpiell
75
 * Se ha cambiado la versi?n de la jzkit, se ha incorporado la funcionalidad de cargar arcims
76
 *
77
 * Revision 1.1  2006/09/20 11:23:50  jorpiell
78
 * Se ha cambiado la versi?n de la librer?a jzkit de la 1 a la 2.0. Adem?s se ha modificado lo del document
79
 *
80
 *
81
 */
55

  
82 56
/**
83 57
 * @author Jorge Piera Llodr? (piera_jor@gva.es)
84 58
 */
85 59
public class ARCIMSLayerLoader extends GvSigLayerLoader {
86
	
87
	public ARCIMSLayerLoader(Resource resource) {
88
		super(resource);		
89
	}
90
	
91
	/**
92
	 * This function loads a ArcIms resource 
93
	 * @param host
94
	 * URL where the server is located
95
	 * @param sLayer
96
	 * Layer name
97
	 * @param crs
98
	 * Coordenates System
99
	 * @throws LayerLoaderException 
100
	 */
101
	
102
	public void loadLayer() throws LayerLoaderException {
103
		String host = getResource().getLinkage();
104
		String sLayer = getResource().getName();
105
		String protocol = getResource().getProtocol();
106
		AbstractViewPanel activeView = 
107
			(AbstractViewPanel) PluginServices.getMDIManager().getActiveWindow();
108
		String srs = activeView.getProjection().getAbrev();
109
		FLayer flayer = null;
110
				
111
		Map args = new HashMap();
112
		args.put("host",host);
113
		args.put("service_name",sLayer);
114
		args.put("layer_name",sLayer);
115
		args.put("srs",srs);
116
		
117
		if (protocol.toUpperCase().indexOf(Resource.ARCIMS_IMAGE) >= 0){
118
			flayer = createArcImsImageLayer(args);
119
		}else if (protocol.toUpperCase().indexOf(Resource.ARCIMS_VECTORIAL) >= 0){
120
			flayer = createArcImsVectorialLayer(args);
121
		}
122
		
123
		try {
124
			addLayerToView(flayer);
125
			flayer.dispose();
126
		} catch (Exception e) {
127
			throw new LayerLoaderException(e.getMessage(),getWindowMessage());
128
		}   		    
129
		
130
	}	
131 60

  
132
	private FLayer createArcImsImageLayer(Map args) throws  LayerLoaderException{
133
		ExtensionPoint extensionPoint = (ExtensionPoint)ExtensionPointsSingleton.getInstance().get("CatalogLayers");
61
    public ARCIMSLayerLoader(Resource resource) {
62
        super(resource);		
63
    }
134 64

  
135
		try {
136
			return (FLayer)extensionPoint.create("arcims_raster", args  );
137
		} catch(Exception e) {
138
			throw new LayerLoaderException(getErrorMessage(),getWindowMessage());
139
		}
140
	}
141
	
142
	private FLayer createArcImsVectorialLayer(Map args) throws  LayerLoaderException{
143
		ExtensionPoint extensionPoint = (ExtensionPoint)ExtensionPointsSingleton.getInstance().get("CatalogLayers");
144
		
145
		try {			
146
			return (FLayer)extensionPoint.create("arcims_vectorial", args);
147
		} catch(Exception e) {
148
			throw new LayerLoaderException(getErrorMessage(),getWindowMessage());
149
		}
150
	}
151
	
152
	/*
153
	 *  (non-Javadoc)
154
	 * @see es.gva.cit.gvsig.catalogClient.loaders.LayerLoader#getErrorMessage()
155
	 */
156
	protected String getErrorMessage() {
157
		return Messages.getText("arcims_server_error") + ".\n" +
158
		Messages.getText("server") + ": " + 
159
		getResource().getLinkage() + "\n" +
160
		Messages.getText("layer") + ": " +
161
		getResource().getName();		
162
	}
163
	
164
	/*
165
	 *  (non-Javadoc)
166
	 * @see es.gva.cit.gvsig.catalogClient.loaders.LayerLoader#getWindowMessage()
167
	 */
168
	protected String getWindowMessage() {
169
		return Messages.getText("arcims_load");
170
	}	
65
    protected boolean hasSpecificLayer() {        
66
        return false;
67
    }
68

  
69
    protected String getLayerName() {      
70
        return getResource().getName();
71
    }      
72

  
73
    protected DataStoreParameters createDataStoreParameters()
74
    throws InitializeException, ProviderNotRegisteredException {
75
        //TODO provider for ArcIMS
76
        return null;
77
    }
78
    
79
    protected Map createArgs() {
80
        String host = getResource().getLinkage();
81
        String sLayer = getResource().getName();
82
        String protocol = getResource().getProtocol();
83
        AbstractViewPanel activeView = 
84
            (AbstractViewPanel) PluginServices.getMDIManager().getActiveWindow();
85
        String srs = activeView.getProjection().getAbrev();
86
        
87
        Map args = new HashMap();
88
        args.put("host", host);
89
        args.put("service_name", sLayer);
90
        args.put("layer_name", sLayer);
91
        args.put("srs", srs);
92
        return args;
93
    }
94

  
95
    protected String extensionPointName() {
96
        String protocol = getResource().getProtocol();
97
        if (protocol.toUpperCase().indexOf(Resource.ARCIMS_IMAGE) >= 0){
98
           return "arcims_raster";
99
        }else if (protocol.toUpperCase().indexOf(Resource.ARCIMS_VECTORIAL) >= 0){
100
            return "arcims_vectorial";
101
        }
102
        return null;
103
    }
104
    
105
    protected String getErrorMessage() {
106
        return Messages.getText("arcims_server_error") + ".\n" +
107
        Messages.getText("server") + ": " + 
108
        getResource().getLinkage() + "\n" +
109
        Messages.getText("layer") + ": " +
110
        getResource().getName();		
111
    }
112

  
113
    protected String getWindowMessage() {
114
        return Messages.getText("arcims_load");
115
    }	
171 116
}
172 117

  

Also available in: Unified diff