Revision 986 org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.app/org.gvsig.scripting.app.mainplugin/src/main/java/org/gvsig/scripting/app/extension/ScriptingExtension.java

View differences:

ScriptingExtension.java
331 331
        }
332 332
    }
333 333

  
334
    private void addLinkToPreviousVersion(ScriptingManager manager) {
335

  
336
        String contents = "[Unit]\n"
337
            + "type = Folder\n"
338
            + "name = Previous version\n"
339
            + "description =\n"
340
            + "createdBy =\n"
341
            + "version =\n"
342
            + "\n"
343
            + "[Folder]\n"
344
            + "path = ../../org.gvsig.scripting.app.extension/scripts\n\n\n";
345
        File previousVersion = new File(manager.getUserFolder().getFile(), "previous_version.inf");
346
        if( !previousVersion.exists() ) {
334
    private void createLink(String name, File link, String targetPathName) {
335
        StringBuilder contents = new StringBuilder();
336
        
337
        contents.append("[Unit]\n")
338
            .append("type = Folder\n")
339
            .append("name = ").append(name).append("\n")
340
            .append("description =\n")
341
            .append("createdBy =\n")
342
            .append("version =\n")
343
            .append("\n")
344
            .append("[Folder]\n")
345
            .append("path =").append(targetPathName).append("\n")
346
            .append("\n\n");
347
        if( link.isDirectory() ) {
348
            link = new File(link,name+".inf");
349
        } else if( !link.getName().endsWith(".inf") ) {
350
            link = new File( link.getPath() + ".inf");
351
        }
352
        if( !link.exists() ) {
347 353
            try {
348
                FileUtils.writeStringToFile(previousVersion, contents);
354
                FileUtils.writeStringToFile(link, contents.toString());
349 355
            } catch (IOException ex) {
350
                logger.warn("Can't create ScriptingFolder file in '" + previousVersion.getAbsolutePath() + "'.", ex);
356
                logger.warn("Can't create ScriptingFolder file in '" + link.getAbsolutePath() + "'.", ex);
351 357
            }
352 358
        }
353 359
    }
......
356 362
        ScriptingManager manager = ScriptingLocator.getManager();
357 363
        PluginsManager pluginManager = PluginsLocator.getManager();
358 364

  
359
        File home = this.getPlugin().getPluginHomeFolder();
365
        String gvsigversion = pluginManager.getApplicationVersion().format("%M.%m.%r");
366
        File home = FileUtils.getFile(this.getPlugin().getPluginHomeFolder(), gvsigversion);
367

  
360 368
        manager.setHomeFolder(home);
361 369

  
362
        this.addLinkToPreviousVersion(manager);
370
        this.createLink(
371
            "Previous version", 
372
            manager.getUserFolder().getFile(), 
373
            "../../org.gvsig.scripting.app.extension/scripts"
374
        );
363 375

  
364 376
        List<File> pluginsFolders = new ArrayList<>();
365 377
        for( File f : pluginManager.getPluginsFolders() ) {

Also available in: Unified diff