Search in sources :

Example 1 with Target

use of fr.jmmc.aspro.model.oi.Target in project aspro by JMMC-OpenDev.

the class UVCoveragePanel method performOBAction.

// </editor-fold>//GEN-END:initComponents
/**
 * Export Observing Block(s) (OB)
 * @param evt action event
 * @param mode export OB mode
 * @param xml true to use new OB output
 */
public void performOBAction(final ActionEvent evt, final ExportOBMode mode, final boolean xml) {
    // Use main observation to check instrument :
    final ObservationSetting observation = om.getMainObservation();
    if (!observation.isSingle()) {
        MessagePane.showMessage("Aspro 2 can not generate an Observing Block when multiple configurations are selected !");
        return;
    }
    if (xml) {
        switch(mode) {
            case ALL:
                ExportOBXmlAction.getInstance().process(observation.getTargets());
                break;
            case SINGLE:
                final Target target = getSelectedTarget();
                if (target != null) {
                    ExportOBXmlAction.getInstance().process(Arrays.asList(new Target[] { target }));
                }
                break;
            default:
        }
    } else {
        // PoP up to indicate OBX export is deprecated:
        DismissableMessagePane.show("Please consider using the a2p2 software instead" + "\nas this export feature is deprecated and will be removed soon (Fall 2019)\n\nSee https://github.com/JMMC-OpenDev/a2p2", Preferences.getInstance(), "DEPRECATED_OBX_WARNING");
        final String insName = observation.getInstrumentConfiguration().getName();
        if (AsproConstants.INS_AMBER.equals(insName) || AsproConstants.INS_MIDI.equals(insName) || insName.startsWith(AsproConstants.INS_PIONIER) || insName.startsWith(AsproConstants.INS_GRAVITY)) {
            switch(mode) {
                case ALL:
                    ExportOBVLTIAction.getInstance().process(observation.getTargets());
                    break;
                case SINGLE:
                    final Target target = getSelectedTarget();
                    if (target != null) {
                        ExportOBVLTIAction.getInstance().process(Arrays.asList(new Target[] { target }));
                    }
                    break;
                default:
            }
        } else if (insName.startsWith(AsproConstants.INS_VEGA)) {
            ExportOBVegaAction.getInstance().process();
        } else {
            MessagePane.showMessage("Aspro 2 can not generate an Observing Block for this instrument [" + insName + "] !");
        }
    }
}
Also used : Target(fr.jmmc.aspro.model.oi.Target) ObservationSetting(fr.jmmc.aspro.model.oi.ObservationSetting)

Example 2 with Target

use of fr.jmmc.aspro.model.oi.Target in project aspro by JMMC-OpenDev.

the class BasicObservationForm method jButtonSkyCalcActionPerformed.

// </editor-fold>//GEN-END:initComponents
private void jButtonSkyCalcActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_jButtonSkyCalcActionPerformed
    final Target selectedTarget = getSelectedTarget();
    if (selectedTarget != null) {
        final ObservationSetting observation = om.getMainObservation();
        final InterferometerDescription interferometer = observation.getInterferometerConfiguration().getInterferometerConfiguration().getInterferometer();
        final Site site = AstroSkyCalc.createSite(interferometer.getName(), interferometer.getPosSph());
        final List<Target> displayTargets = om.getDisplayTargets();
        final int size = displayTargets.size();
        final String[] name = new String[size];
        final String[] ra = new String[size];
        final String[] dec = new String[size];
        for (int i = 0; i < size; i++) {
            final Target target = displayTargets.get(i);
            name[i] = target.getName();
            // convert RA/DEC in HH:MM:SS.sss or DD:MM:SS.sss :
            final String[] raDec = AstroSkyCalcObservation.toString(target.getRADeg(), target.getDECDeg());
            ra[i] = raDec[0];
            dec[i] = raDec[1];
        }
        JSkyCalc.showJSkyCalc(site, name, ra, dec, selectedTarget.getName(), observation.getWhen().getDate());
    }
}
Also used : Site(edu.dartmouth.Site) Target(fr.jmmc.aspro.model.oi.Target) ObservationSetting(fr.jmmc.aspro.model.oi.ObservationSetting) Point(java.awt.Point) InterferometerDescription(fr.jmmc.aspro.model.oi.InterferometerDescription)

Example 3 with Target

use of fr.jmmc.aspro.model.oi.Target in project aspro by JMMC-OpenDev.

the class TargetModelForm method jButtonAddActionPerformed.

// GEN-LAST:event_jButtonRemoveActionPerformed
/**
 * Process the Add action
 * @param evt action event
 */
private void jButtonAddActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_jButtonAddActionPerformed
    final ModelJTree tree = this.getTreeModels();
    final DefaultMutableTreeNode currentNode = tree.getLastSelectedNode();
    if (currentNode != null) {
        DefaultMutableTreeNode targetNode = null;
        Target target = null;
        if (currentNode.getUserObject() instanceof Target) {
            targetNode = currentNode;
            target = (Target) currentNode.getUserObject();
        } else if (currentNode.getUserObject() instanceof Model) {
            final DefaultMutableTreeNode parentNode = tree.getParentNode(currentNode);
            // Parent can be a target or a model :
            if (parentNode.getUserObject() instanceof Target) {
                targetNode = parentNode;
                target = (Target) parentNode.getUserObject();
            } else if (parentNode.getUserObject() instanceof Model) {
                throw new UnsupportedOperationException("Not implemented !");
            }
        } else {
            logger.warn("invalid selected node to perform the add operation = {}", currentNode);
        }
        if (target != null) {
            final String type = (String) this.jComboBoxModelType.getSelectedItem();
            // create a new model with defined names (model and parameters) :
            final Model newModel = ModelManager.getInstance().newModel(type, target.getModels());
            logger.debug("add model : {}", newModel);
            // Add model to target :
            target.getModels().add(newModel);
            // force to refresh table model :
            this.currentTarget = null;
            // Add node and refresh tree :
            tree.addNodeAndRefresh(targetNode, newModel);
        }
    }
}
Also used : Target(fr.jmmc.aspro.model.oi.Target) DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) Model(fr.jmmc.jmal.model.targetmodel.Model) UserModel(fr.jmmc.aspro.model.oi.UserModel) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) ListSelectionModel(javax.swing.ListSelectionModel) ModelParameterTableModel(fr.jmmc.jmal.model.gui.ModelParameterTableModel) ModelJTree(fr.jmmc.aspro.gui.util.ModelJTree)

Example 4 with Target

use of fr.jmmc.aspro.model.oi.Target in project aspro by JMMC-OpenDev.

the class TargetModelForm method jButtonUpdateActionPerformed.

/**
 * Process the Update action
 * @param evt action event
 */
private void jButtonUpdateActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_jButtonUpdateActionPerformed
    final ModelJTree tree = this.getTreeModels();
    final DefaultMutableTreeNode currentNode = tree.getLastSelectedNode();
    if (currentNode != null) {
        if (currentNode.getUserObject() instanceof Model) {
            final Model model = (Model) currentNode.getUserObject();
            final String type = (String) this.jComboBoxModelType.getSelectedItem();
            // check if the type changed :
            if (model.getType().equals(type)) {
                return;
            }
            // Parent can be a target or a model :
            final DefaultMutableTreeNode parentNode = tree.getParentNode(currentNode);
            if (parentNode.getUserObject() instanceof Target) {
                final Target target = (Target) parentNode.getUserObject();
                logger.debug("update model : {}", model);
                // create a new model with defined names (model and parameters) replacing the selected model :
                final Model newModel = ModelManager.getInstance().replaceModel(type, model, target.getModels());
                logger.debug("new merged model : {}", newModel);
                // Remove and add model at the right place :
                int idx = target.getModels().indexOf(model);
                target.getModels().remove(idx);
                target.getModels().add(idx, newModel);
                // force to refresh table model :
                this.currentTarget = null;
                // Replace node :
                final DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(newModel);
                idx = parentNode.getIndex(currentNode);
                parentNode.remove(idx);
                parentNode.insert(newNode, idx);
                // fire node structure changed :
                tree.fireNodeChanged(parentNode);
                // Select the new node = model :
                tree.selectPath(new TreePath(newNode.getPath()));
            } else if (parentNode.getUserObject() instanceof Model) {
                throw new UnsupportedOperationException("Not implemented !");
            }
        } else {
            logger.warn("invalid selected node to perform the update operation = {}", currentNode);
        }
    }
}
Also used : Target(fr.jmmc.aspro.model.oi.Target) DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) TreePath(javax.swing.tree.TreePath) Model(fr.jmmc.jmal.model.targetmodel.Model) UserModel(fr.jmmc.aspro.model.oi.UserModel) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) ListSelectionModel(javax.swing.ListSelectionModel) ModelParameterTableModel(fr.jmmc.jmal.model.gui.ModelParameterTableModel) ModelJTree(fr.jmmc.aspro.gui.util.ModelJTree)

Example 5 with Target

use of fr.jmmc.aspro.model.oi.Target in project aspro by JMMC-OpenDev.

the class TargetModelForm method generateTree.

/**
 * Generate the tree from the current edited list of targets
 */
private void generateTree() {
    final ModelJTree tree = this.getTreeModels();
    final DefaultMutableTreeNode rootNode = tree.getRootNode();
    rootNode.removeAllChildren();
    final List<Target> calTargets = this.editTargetUserInfos.getCalibrators();
    final ArrayList<Target> sciTargets = new ArrayList<Target>(this.editTargets);
    sciTargets.removeAll(calTargets);
    // add first science targets :
    for (Target target : sciTargets) {
        final DefaultMutableTreeNode targetNode = tree.addNode(rootNode, target);
        for (Model model : target.getModels()) {
            generateModelNodes(tree, targetNode, model);
        }
    }
    // add calibrators :
    for (Target target : calTargets) {
        final DefaultMutableTreeNode targetNode = tree.addNode(rootNode, target);
        for (Model model : target.getModels()) {
            generateModelNodes(tree, targetNode, model);
        }
    }
    // fire node structure changed :
    tree.fireNodeChanged(rootNode);
}
Also used : Target(fr.jmmc.aspro.model.oi.Target) DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) ArrayList(java.util.ArrayList) Model(fr.jmmc.jmal.model.targetmodel.Model) UserModel(fr.jmmc.aspro.model.oi.UserModel) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) ListSelectionModel(javax.swing.ListSelectionModel) ModelParameterTableModel(fr.jmmc.jmal.model.gui.ModelParameterTableModel) ModelJTree(fr.jmmc.aspro.gui.util.ModelJTree)

Aggregations

Target (fr.jmmc.aspro.model.oi.Target)83 DefaultMutableTreeNode (javax.swing.tree.DefaultMutableTreeNode)24 ObservationSetting (fr.jmmc.aspro.model.oi.ObservationSetting)14 TargetInformation (fr.jmmc.aspro.model.oi.TargetInformation)13 TargetUserInformations (fr.jmmc.aspro.model.oi.TargetUserInformations)12 ArrayList (java.util.ArrayList)11 TargetGroup (fr.jmmc.aspro.model.oi.TargetGroup)9 UserModel (fr.jmmc.aspro.model.oi.UserModel)8 Model (fr.jmmc.jmal.model.targetmodel.Model)7 IOException (java.io.IOException)7 ListSelectionModel (javax.swing.ListSelectionModel)7 Point (java.awt.Point)6 File (java.io.File)6 ModelJTree (fr.jmmc.aspro.gui.util.ModelJTree)5 TargetJTree (fr.jmmc.aspro.gui.util.TargetJTree)5 ModelParameterTableModel (fr.jmmc.jmal.model.gui.ModelParameterTableModel)5 HashMap (java.util.HashMap)5 DefaultComboBoxModel (javax.swing.DefaultComboBoxModel)5 TargetGroupMembers (fr.jmmc.aspro.model.oi.TargetGroupMembers)4 TargetGroupJTree (fr.jmmc.aspro.gui.util.TargetGroupJTree)3