Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. /
 package org.apache.cayenne.modeler.action;
 import java.awt.Frame;
 import  org.apache.cayenne.access.DataDomain;
 import  org.apache.cayenne.project.NamedObjectFactory;
 import  org.apache.cayenne.util.ResourceLocator;
Modeler action that imports a DataMap into a project from an arbitrary location.

 public class ImportDataMapAction extends CayenneAction {
     private static Log logObj = LogFactory.getLog(ImportDataMapAction.class);
     public static String getActionName() {
         return "Import DataMap";
     public ImportDataMapAction(Application application) {
         super(getActionName(), application);
     public void performAction(ActionEvent e) {
     protected void importDataMap() {
         File dataMapFile = selectDataMap(Application.getFrame());
         if (dataMapFile == null) {
         try {
             // configure resource locator to take absolute path
             MapLoader mapLoader = new MapLoader() {
                 protected ResourceLocator configLocator() {
                     ResourceLocator locator = new ResourceLocator();
                     return locator;
             DataMap newMap = mapLoader.loadDataMap(dataMapFile.getAbsolutePath());
             DataDomain domain = getProjectController().getCurrentDataDomain();
             if (newMap.getName() != null) {
             else {
         catch (Exception ex) {
             .info("Error importing DataMap."ex);
                    "Error reading DataMap: " + ex.getMessage(),
                    "Can't Open DataMap",
    protected File selectDataMap(Frame f) {
        // find start directory in preferences
        FSPath lastDir = getApplication().getFrameController().getLastDirectory();
        // configure dialog
        JFileChooser chooser = new JFileChooser();
        int status = chooser.showDialog(f"Select DataMap");
        if (status == .) {
            File file = chooser.getSelectedFile();
            // save to preferences...
            return file;
        return null;
New to GrepCode? Check out our FAQ X