private static EGLFormatProfileRoot createNewEGLFormatProfileModel( IPath formatProfile, String encoding) { EGLFormatProfileRoot docRoot = ProfileFactory.eINSTANCE.createEGLFormatProfileRoot(); FormatProfiles root = ProfileFactory.eINSTANCE.createFormatProfiles(); root.setVersion(PROFILE_VERSION); docRoot.setFormatProfiles(root); try { URI uri = URI.createFileURI(formatProfile.toOSString()); ResourceSet resourceSet = new ResourceSetImpl(); Resource resource = resourceSet.createResource(uri); resource.getContents().add(docRoot); if (encoding != null && encoding.length() > 0) { Map options = new HashMap(); options.put(XMLResource.OPTION_ENCODING, encoding); resource.save(options); // create the file } else resource.save(null); } catch (IOException e) { e.printStackTrace(); docRoot = null; } return docRoot; }
private static void persisEGLFormatProfile(IPath formatFilePath, EGLFormatProfileRoot docRoot) throws IOException { URI uri = URI.createFileURI(formatFilePath.toOSString()); Resource savedResource = docRoot.eResource(); Resource resource = savedResource; Map options = Collections.EMPTY_MAP; if (!savedResource.getURI().equals(uri)) { ResourceSet resourceSet = new ResourceSetImpl(); resource = resourceSet.createResource(uri); // by default, create it with EGL preference String encoding = EDTUIPlugin.getDefault().getPreferenceStore().getString(EGLBasePlugin.OUTPUT_CODESET); if (encoding != null && encoding.length() > 0) { options = new HashMap(); options.put(XMLResource.OPTION_ENCODING, encoding); } } resource.getContents().add(docRoot); resource.save(options); // create the file }