Search in sources :

Example 1 with ImportFileSettings

use of org.rstudio.studio.client.workbench.views.environment.dataimport.ImportFileSettings in project rstudio by rstudio.

the class EnvironmentPresenter method showImportFileDialog.

private void showImportFileDialog(FileSystemItem input, String varname) {
    ImportFileSettingsDialog dialog = new ImportFileSettingsDialog(server_, sourceServer_, input, varname, "Import Dataset", new OperationWithInput<ImportFileSettingsDialogResult>() {

        public void execute(ImportFileSettingsDialogResult result) {
            ImportFileSettings input = result.getSettings();
            String var = StringUtil.toRSymbolName(input.getVarname());
            String code = var + " <- " + makeCommand(input, result.getDefaultStringsAsFactors()) + "\n  View(" + var + ")";
            eventBus_.fireEvent(new SendToConsoleEvent(code, true));
        }
    }, globalDisplay_);
    dialog.showModal();
}
Also used : ImportFileSettingsDialogResult(org.rstudio.studio.client.workbench.views.environment.dataimport.ImportFileSettingsDialogResult) ImportFileSettingsDialog(org.rstudio.studio.client.workbench.views.environment.dataimport.ImportFileSettingsDialog) SendToConsoleEvent(org.rstudio.studio.client.workbench.views.console.events.SendToConsoleEvent) ImportFileSettings(org.rstudio.studio.client.workbench.views.environment.dataimport.ImportFileSettings) JsArrayString(com.google.gwt.core.client.JsArrayString)

Example 2 with ImportFileSettings

use of org.rstudio.studio.client.workbench.views.environment.dataimport.ImportFileSettings in project rstudio by rstudio.

the class EnvironmentPresenter method makeCommand.

private String makeCommand(ImportFileSettings input, boolean defaultStringsAsFactors) {
    HashMap<String, ImportFileSettings> commandDefaults_ = new HashMap<String, ImportFileSettings>();
    commandDefaults_.put("read.table", new ImportFileSettings(null, null, "unknown", false, null, "", ".", "\"'", "#", "NA", defaultStringsAsFactors));
    commandDefaults_.put("read.csv", new ImportFileSettings(null, null, "unknown", true, null, ",", ".", "\"", "", "NA", defaultStringsAsFactors));
    commandDefaults_.put("read.delim", new ImportFileSettings(null, null, "unknown", true, null, "\t", ".", "\"", "", "NA", defaultStringsAsFactors));
    commandDefaults_.put("read.csv2", new ImportFileSettings(null, null, "unknown", true, null, ";", ",", "\"", "", "NA", defaultStringsAsFactors));
    commandDefaults_.put("read.delim2", new ImportFileSettings(null, null, "unknown", true, null, "\t", ",", "\"", "", "NA", defaultStringsAsFactors));
    String command = "read.table";
    ImportFileSettings settings = commandDefaults_.get("read.table");
    int score = settings.calculateSimilarity(input);
    for (String cmd : new String[] { "read.csv", "read.delim", "read.csv2", "read.delim2" }) {
        ImportFileSettings theseSettings = commandDefaults_.get(cmd);
        int thisScore = theseSettings.calculateSimilarity(input);
        if (thisScore > score) {
            score = thisScore;
            command = cmd;
            settings = theseSettings;
        }
    }
    StringBuilder code = new StringBuilder(command);
    code.append("(");
    code.append(StringUtil.textToRLiteral(input.getFile().getPath()));
    if (!input.getEncoding().equals(settings.getEncoding()))
        code.append(", encoding=" + StringUtil.textToRLiteral(input.getEncoding()));
    if (input.isHeader() != settings.isHeader())
        code.append(", header=" + (input.isHeader() ? "TRUE" : "FALSE"));
    if (!input.getRowNames().equals(settings.getRowNames())) {
        // appended literally, since it's the string "1" or the string "NULL"
        code.append(", row.names=" + input.getRowNames());
    }
    if (!input.getSep().equals(settings.getSep()))
        code.append(", sep=" + StringUtil.textToRLiteral(input.getSep()));
    if (!input.getDec().equals(settings.getDec()))
        code.append(", dec=" + StringUtil.textToRLiteral(input.getDec()));
    if (!input.getQuote().equals(settings.getQuote()))
        code.append(", quote=" + StringUtil.textToRLiteral(input.getQuote()));
    if (!input.getComment().equals(settings.getComment()))
        code.append(", comment.char=" + StringUtil.textToRLiteral(input.getComment()));
    if (!input.getNAStrings().equals(settings.getNAStrings()))
        code.append(", na.strings=" + StringUtil.textToRLiteral(input.getNAStrings()));
    if (input.getStringsAsFactors() != settings.getStringsAsFactors())
        code.append(", stringsAsFactors=" + (input.getStringsAsFactors() ? "TRUE" : "FALSE"));
    code.append(")");
    return code.toString();
}
Also used : HashMap(java.util.HashMap) ImportFileSettings(org.rstudio.studio.client.workbench.views.environment.dataimport.ImportFileSettings) JsArrayString(com.google.gwt.core.client.JsArrayString)

Aggregations

JsArrayString (com.google.gwt.core.client.JsArrayString)2 ImportFileSettings (org.rstudio.studio.client.workbench.views.environment.dataimport.ImportFileSettings)2 HashMap (java.util.HashMap)1 SendToConsoleEvent (org.rstudio.studio.client.workbench.views.console.events.SendToConsoleEvent)1 ImportFileSettingsDialog (org.rstudio.studio.client.workbench.views.environment.dataimport.ImportFileSettingsDialog)1 ImportFileSettingsDialogResult (org.rstudio.studio.client.workbench.views.environment.dataimport.ImportFileSettingsDialogResult)1