Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 98062
Collapse All | Expand All

(-)src/org/eclipse/pde/internal/core/plugin/WorkspaceExtensionsModel.java (-1 / +2 lines)
Lines 24-29 Link Here
24
import org.eclipse.pde.internal.core.PDECore;
24
import org.eclipse.pde.internal.core.PDECore;
25
import org.eclipse.pde.internal.core.ibundle.IBundlePluginModelBase;
25
import org.eclipse.pde.internal.core.ibundle.IBundlePluginModelBase;
26
import org.eclipse.pde.internal.core.ibundle.IBundlePluginModelProvider;
26
import org.eclipse.pde.internal.core.ibundle.IBundlePluginModelProvider;
27
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
27
import org.osgi.framework.Constants;
28
import org.osgi.framework.Constants;
28
29
29
public class WorkspaceExtensionsModel extends AbstractExtensionsModel implements IEditableModel, IBundlePluginModelProvider {
30
public class WorkspaceExtensionsModel extends AbstractExtensionsModel implements IEditableModel, IBundlePluginModelProvider {
Lines 56-62 Link Here
56
57
57
	public String getContents() {
58
	public String getContents() {
58
		StringWriter swriter = new StringWriter();
59
		StringWriter swriter = new StringWriter();
59
		PrintWriter writer = new PrintWriter(swriter);
60
		PrintWriter writer = new ResourcePrintWriter(swriter, getUnderlyingResource());
60
		save(writer);
61
		save(writer);
61
		writer.flush();
62
		writer.flush();
62
		try {
63
		try {
(-)src/org/eclipse/pde/internal/core/plugin/WorkspacePluginModelBase.java (-1 / +2 lines)
Lines 22-27 Link Here
22
import org.eclipse.pde.core.IModelChangedEvent;
22
import org.eclipse.pde.core.IModelChangedEvent;
23
import org.eclipse.pde.core.build.IBuildModel;
23
import org.eclipse.pde.core.build.IBuildModel;
24
import org.eclipse.pde.internal.core.*;
24
import org.eclipse.pde.internal.core.*;
25
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
25
26
26
/**
27
/**
27
 * This class only represents 3.0 style plug-ins
28
 * This class only represents 3.0 style plug-ins
Lines 67-73 Link Here
67
68
68
	public String getContents() {
69
	public String getContents() {
69
		StringWriter swriter = new StringWriter();
70
		StringWriter swriter = new StringWriter();
70
		PrintWriter writer = new PrintWriter(swriter);
71
		PrintWriter writer = new ResourcePrintWriter(swriter, getUnderlyingResource());
71
		save(writer);
72
		save(writer);
72
		writer.flush();
73
		writer.flush();
73
		try {
74
		try {
(-)src/org/eclipse/pde/internal/core/feature/WorkspaceFeatureModel.java (-1 / +2 lines)
Lines 22-27 Link Here
22
import org.eclipse.pde.core.IModelChangedEvent;
22
import org.eclipse.pde.core.IModelChangedEvent;
23
import org.eclipse.pde.internal.core.NLResourceHelper;
23
import org.eclipse.pde.internal.core.NLResourceHelper;
24
import org.eclipse.pde.internal.core.PDECore;
24
import org.eclipse.pde.internal.core.PDECore;
25
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
25
26
26
public class WorkspaceFeatureModel extends AbstractFeatureModel implements IEditableModel {
27
public class WorkspaceFeatureModel extends AbstractFeatureModel implements IEditableModel {
27
	private static final long serialVersionUID = 1L;
28
	private static final long serialVersionUID = 1L;
Lines 63-69 Link Here
63
64
64
	public String getContents() {
65
	public String getContents() {
65
		StringWriter swriter = new StringWriter();
66
		StringWriter swriter = new StringWriter();
66
		PrintWriter writer = new PrintWriter(swriter);
67
		PrintWriter writer = new ResourcePrintWriter(swriter, getUnderlyingResource());
67
		setLoaded(true);
68
		setLoaded(true);
68
		save(writer);
69
		save(writer);
69
		writer.flush();
70
		writer.flush();
(-)src/org/eclipse/pde/internal/core/build/WorkspaceBuildModel.java (-1 / +2 lines)
Lines 18-23 Link Here
18
import org.eclipse.pde.core.IEditableModel;
18
import org.eclipse.pde.core.IEditableModel;
19
import org.eclipse.pde.core.IModelChangedEvent;
19
import org.eclipse.pde.core.IModelChangedEvent;
20
import org.eclipse.pde.internal.core.PDECore;
20
import org.eclipse.pde.internal.core.PDECore;
21
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
21
22
22
public class WorkspaceBuildModel extends BuildModel implements IEditableModel {
23
public class WorkspaceBuildModel extends BuildModel implements IEditableModel {
23
	private static final long serialVersionUID = 1L;
24
	private static final long serialVersionUID = 1L;
Lines 36-42 Link Here
36
37
37
	public String getContents() {
38
	public String getContents() {
38
		StringWriter swriter = new StringWriter();
39
		StringWriter swriter = new StringWriter();
39
		PrintWriter writer = new PrintWriter(swriter);
40
		PrintWriter writer = new ResourcePrintWriter(swriter, getUnderlyingResource());
40
		save(writer);
41
		save(writer);
41
		writer.flush();
42
		writer.flush();
42
		try {
43
		try {
(-)text/org/eclipse/pde/internal/core/text/XMLEditingModel.java (-1 / +1 lines)
Lines 148-154 Link Here
148
148
149
	public String getContents() {
149
	public String getContents() {
150
		StringWriter swriter = new StringWriter();
150
		StringWriter swriter = new StringWriter();
151
		PrintWriter writer = new PrintWriter(swriter);
151
		PrintWriter writer = new ResourcePrintWriter(swriter, getUnderlyingResource());
152
		setLoaded(true);
152
		setLoaded(true);
153
		save(writer);
153
		save(writer);
154
		writer.flush();
154
		writer.flush();
(-)src/org/eclipse/pde/internal/core/site/WorkspaceSiteModel.java (-1 / +2 lines)
Lines 21-26 Link Here
21
import org.eclipse.pde.core.IModelChangedEvent;
21
import org.eclipse.pde.core.IModelChangedEvent;
22
import org.eclipse.pde.internal.core.NLResourceHelper;
22
import org.eclipse.pde.internal.core.NLResourceHelper;
23
import org.eclipse.pde.internal.core.PDECore;
23
import org.eclipse.pde.internal.core.PDECore;
24
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
24
25
25
public class WorkspaceSiteModel extends AbstractSiteModel implements IEditableModel {
26
public class WorkspaceSiteModel extends AbstractSiteModel implements IEditableModel {
26
	private static final long serialVersionUID = 1L;
27
	private static final long serialVersionUID = 1L;
Lines 54-60 Link Here
54
55
55
	public String getContents() {
56
	public String getContents() {
56
		StringWriter swriter = new StringWriter();
57
		StringWriter swriter = new StringWriter();
57
		PrintWriter writer = new PrintWriter(swriter);
58
		PrintWriter writer = new ResourcePrintWriter(swriter, getUnderlyingResource());
58
		setLoaded(true);
59
		setLoaded(true);
59
		save(writer);
60
		save(writer);
60
		writer.flush();
61
		writer.flush();
(-)src/org/eclipse/pde/internal/core/target/WorkspaceTargetModel.java (-1 / +2 lines)
Lines 19-24 Link Here
19
import org.eclipse.pde.core.IModelChangedEvent;
19
import org.eclipse.pde.core.IModelChangedEvent;
20
import org.eclipse.pde.internal.core.IWorkspaceModel;
20
import org.eclipse.pde.internal.core.IWorkspaceModel;
21
import org.eclipse.pde.internal.core.PDECore;
21
import org.eclipse.pde.internal.core.PDECore;
22
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
22
23
23
public class WorkspaceTargetModel extends TargetModel implements IWorkspaceModel {
24
public class WorkspaceTargetModel extends TargetModel implements IWorkspaceModel {
24
25
Lines 111-117 Link Here
111
	public String getContents() {
112
	public String getContents() {
112
		StringWriter swriter = new StringWriter();
113
		StringWriter swriter = new StringWriter();
113
		try {
114
		try {
114
			PrintWriter writer = new PrintWriter(swriter);
115
			PrintWriter writer = new ResourcePrintWriter(swriter, getUnderlyingResource());
115
			try {
116
			try {
116
				setLoaded(true);
117
				setLoaded(true);
117
				save(writer);
118
				save(writer);
(-)src/org/eclipse/pde/internal/core/bundle/WorkspaceBundleModel.java (-1 / +2 lines)
Lines 22-27 Link Here
22
import org.eclipse.pde.internal.core.converter.PluginConverter;
22
import org.eclipse.pde.internal.core.converter.PluginConverter;
23
import org.eclipse.pde.internal.core.ibundle.IBundle;
23
import org.eclipse.pde.internal.core.ibundle.IBundle;
24
import org.eclipse.pde.internal.core.ibundle.IBundleModelFactory;
24
import org.eclipse.pde.internal.core.ibundle.IBundleModelFactory;
25
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
25
import org.eclipse.pde.internal.core.text.bundle.BundleModelFactory;
26
import org.eclipse.pde.internal.core.text.bundle.BundleModelFactory;
26
import org.eclipse.pde.internal.core.util.CoreUtility;
27
import org.eclipse.pde.internal.core.util.CoreUtility;
27
28
Lines 49-55 Link Here
49
50
50
	public String getContents() {
51
	public String getContents() {
51
		StringWriter swriter = new StringWriter();
52
		StringWriter swriter = new StringWriter();
52
		PrintWriter writer = new PrintWriter(swriter);
53
		PrintWriter writer = new ResourcePrintWriter(swriter, getUnderlyingResource());
53
		save(writer);
54
		save(writer);
54
		writer.flush();
55
		writer.flush();
55
		try {
56
		try {
(-)src/org/eclipse/pde/internal/core/product/WorkspaceProductModel.java (-1 / +2 lines)
Lines 19-24 Link Here
19
import org.eclipse.pde.core.IModelChangedEvent;
19
import org.eclipse.pde.core.IModelChangedEvent;
20
import org.eclipse.pde.internal.core.IWorkspaceModel;
20
import org.eclipse.pde.internal.core.IWorkspaceModel;
21
import org.eclipse.pde.internal.core.PDECore;
21
import org.eclipse.pde.internal.core.PDECore;
22
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
22
23
23
public class WorkspaceProductModel extends ProductModel implements IWorkspaceModel {
24
public class WorkspaceProductModel extends ProductModel implements IWorkspaceModel {
24
25
Lines 118-124 Link Here
118
119
119
	public String getContents() {
120
	public String getContents() {
120
		StringWriter swriter = new StringWriter();
121
		StringWriter swriter = new StringWriter();
121
		PrintWriter writer = new PrintWriter(swriter);
122
		PrintWriter writer = new ResourcePrintWriter(swriter, getUnderlyingResource());
122
		setLoaded(true);
123
		setLoaded(true);
123
		save(writer);
124
		save(writer);
124
		writer.flush();
125
		writer.flush();
(-)text/org/eclipse/pde/internal/core/text/ResourcePrintWriter.java (+58 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2009 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     IBM Corporation - initial API and implementation
10
 *******************************************************************************/
11
package org.eclipse.pde.internal.core.text;
12
13
import java.io.PrintWriter;
14
import java.io.Writer;
15
import org.eclipse.core.resources.*;
16
import org.eclipse.core.runtime.Platform;
17
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
18
import org.eclipse.core.runtime.preferences.IScopeContext;
19
20
/**
21
 * A print writer that uses a line separator associated with a resource.
22
 * 
23
 * @since 3.5
24
 */
25
public class ResourcePrintWriter extends PrintWriter {
26
27
	private String fLineSeparator = null;
28
29
	/**
30
	 * Creates a writer that will print new lines based on the resource's
31
	 * associated line separator property.
32
	 * 
33
	 * @param out writer
34
	 * @param resource to retrieve line separator property from
35
	 */
36
	public ResourcePrintWriter(Writer out, IResource resource) {
37
		super(out);
38
		IProject project = resource.getProject();
39
		if (project != null) {
40
			ProjectScope scope = new ProjectScope(project);
41
			IScopeContext[] scopeContext = new IScopeContext[] {scope};
42
			IEclipsePreferences node = scopeContext[0].getNode(Platform.PI_RUNTIME);
43
			fLineSeparator = node.get(Platform.PREF_LINE_SEPARATOR, null);
44
		}
45
	}
46
47
	/* (non-Javadoc)
48
	 * @see java.io.PrintWriter#println()
49
	 */
50
	public void println() {
51
		if (fLineSeparator == null) {
52
			super.println();
53
		} else {
54
			write(fLineSeparator);
55
		}
56
	}
57
58
}
(-)src/org/eclipse/pde/internal/ui/editor/context/InputContext.java (+13 lines)
Lines 541-544 Link Here
541
		return operation;
541
		return operation;
542
	}
542
	}
543
543
544
	/**
545
	 * Returns a resource associated with this context or <code>null</code> 
546
	 * if none.
547
	 * 
548
	 * @return associated resource or <code>null</code>
549
	 */
550
	protected IResource getResource() {
551
		IEditorInput input = getInput();
552
		if (input instanceof IFileEditorInput) {
553
			return ((IFileEditorInput) input).getFile();
554
		}
555
		return null;
556
	}
544
}
557
}
(-)src/org/eclipse/pde/internal/ui/editor/site/SiteInputContext.java (-1 / +2 lines)
Lines 23-28 Link Here
23
import org.eclipse.pde.internal.core.isite.ISiteModel;
23
import org.eclipse.pde.internal.core.isite.ISiteModel;
24
import org.eclipse.pde.internal.core.site.ExternalSiteModel;
24
import org.eclipse.pde.internal.core.site.ExternalSiteModel;
25
import org.eclipse.pde.internal.core.site.WorkspaceSiteModel;
25
import org.eclipse.pde.internal.core.site.WorkspaceSiteModel;
26
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
26
import org.eclipse.pde.internal.ui.PDEPlugin;
27
import org.eclipse.pde.internal.ui.PDEPlugin;
27
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
28
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
28
import org.eclipse.pde.internal.ui.editor.context.XMLInputContext;
29
import org.eclipse.pde.internal.ui.editor.context.XMLInputContext;
Lines 114-120 Link Here
114
			return;
115
			return;
115
		try {
116
		try {
116
			StringWriter swriter = new StringWriter();
117
			StringWriter swriter = new StringWriter();
117
			PrintWriter writer = new PrintWriter(swriter);
118
			PrintWriter writer = new ResourcePrintWriter(swriter, getResource());
118
			editableModel.save(writer);
119
			editableModel.save(writer);
119
			writer.flush();
120
			writer.flush();
120
			swriter.close();
121
			swriter.close();
(-)src/org/eclipse/pde/internal/ui/editor/category/CategoryInputContext.java (-1 / +2 lines)
Lines 21-26 Link Here
21
import org.eclipse.pde.internal.core.isite.ISiteModel;
21
import org.eclipse.pde.internal.core.isite.ISiteModel;
22
import org.eclipse.pde.internal.core.site.ExternalSiteModel;
22
import org.eclipse.pde.internal.core.site.ExternalSiteModel;
23
import org.eclipse.pde.internal.core.site.WorkspaceSiteModel;
23
import org.eclipse.pde.internal.core.site.WorkspaceSiteModel;
24
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
24
import org.eclipse.pde.internal.ui.PDEPlugin;
25
import org.eclipse.pde.internal.ui.PDEPlugin;
25
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
26
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
26
import org.eclipse.pde.internal.ui.editor.context.XMLInputContext;
27
import org.eclipse.pde.internal.ui.editor.context.XMLInputContext;
Lines 112-118 Link Here
112
			return;
113
			return;
113
		try {
114
		try {
114
			StringWriter swriter = new StringWriter();
115
			StringWriter swriter = new StringWriter();
115
			PrintWriter writer = new PrintWriter(swriter);
116
			PrintWriter writer = new ResourcePrintWriter(swriter, getResource());
116
			editableModel.save(writer);
117
			editableModel.save(writer);
117
			writer.flush();
118
			writer.flush();
118
			swriter.close();
119
			swriter.close();
(-)src/org/eclipse/pde/internal/ui/editor/feature/FeatureInputContext.java (-1 / +2 lines)
Lines 23-28 Link Here
23
import org.eclipse.pde.internal.core.feature.ExternalFeatureModel;
23
import org.eclipse.pde.internal.core.feature.ExternalFeatureModel;
24
import org.eclipse.pde.internal.core.feature.WorkspaceFeatureModel;
24
import org.eclipse.pde.internal.core.feature.WorkspaceFeatureModel;
25
import org.eclipse.pde.internal.core.ifeature.IFeatureModel;
25
import org.eclipse.pde.internal.core.ifeature.IFeatureModel;
26
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
26
import org.eclipse.pde.internal.ui.PDEPlugin;
27
import org.eclipse.pde.internal.ui.PDEPlugin;
27
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
28
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
28
import org.eclipse.pde.internal.ui.editor.context.XMLInputContext;
29
import org.eclipse.pde.internal.ui.editor.context.XMLInputContext;
Lines 123-129 Link Here
123
			return;
124
			return;
124
		try {
125
		try {
125
			StringWriter swriter = new StringWriter();
126
			StringWriter swriter = new StringWriter();
126
			PrintWriter writer = new PrintWriter(swriter);
127
			PrintWriter writer = new ResourcePrintWriter(swriter, getResource());
127
			editableModel.save(writer);
128
			editableModel.save(writer);
128
			writer.flush();
129
			writer.flush();
129
			swriter.close();
130
			swriter.close();
(-)src/org/eclipse/pde/internal/ui/editor/target/TargetInputContext.java (-1 / +2 lines)
Lines 19-24 Link Here
19
import org.eclipse.pde.internal.core.itarget.ITargetModel;
19
import org.eclipse.pde.internal.core.itarget.ITargetModel;
20
import org.eclipse.pde.internal.core.target.TargetModel;
20
import org.eclipse.pde.internal.core.target.TargetModel;
21
import org.eclipse.pde.internal.core.target.WorkspaceTargetModel;
21
import org.eclipse.pde.internal.core.target.WorkspaceTargetModel;
22
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
22
import org.eclipse.pde.internal.ui.PDEPlugin;
23
import org.eclipse.pde.internal.ui.PDEPlugin;
23
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
24
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
24
import org.eclipse.pde.internal.ui.editor.context.UTF8InputContext;
25
import org.eclipse.pde.internal.ui.editor.context.UTF8InputContext;
Lines 81-87 Link Here
81
			return;
82
			return;
82
		try {
83
		try {
83
			StringWriter swriter = new StringWriter();
84
			StringWriter swriter = new StringWriter();
84
			PrintWriter writer = new PrintWriter(swriter);
85
			PrintWriter writer = new ResourcePrintWriter(swriter, getResource());
85
			editableModel.save(writer);
86
			editableModel.save(writer);
86
			writer.flush();
87
			writer.flush();
87
			swriter.close();
88
			swriter.close();
(-)src/org/eclipse/pde/internal/ui/editor/schema/SchemaInputContext.java (-1 / +2 lines)
Lines 19-24 Link Here
19
import org.eclipse.pde.core.*;
19
import org.eclipse.pde.core.*;
20
import org.eclipse.pde.internal.core.ischema.ISchema;
20
import org.eclipse.pde.internal.core.ischema.ISchema;
21
import org.eclipse.pde.internal.core.schema.*;
21
import org.eclipse.pde.internal.core.schema.*;
22
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
22
import org.eclipse.pde.internal.ui.PDEPlugin;
23
import org.eclipse.pde.internal.ui.PDEPlugin;
23
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
24
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
24
import org.eclipse.pde.internal.ui.editor.context.XMLInputContext;
25
import org.eclipse.pde.internal.ui.editor.context.XMLInputContext;
Lines 111-117 Link Here
111
			return;
112
			return;
112
		try {
113
		try {
113
			StringWriter swriter = new StringWriter();
114
			StringWriter swriter = new StringWriter();
114
			PrintWriter writer = new PrintWriter(swriter);
115
			PrintWriter writer = new ResourcePrintWriter(swriter, getResource());
115
			editableModel.save(writer);
116
			editableModel.save(writer);
116
			writer.flush();
117
			writer.flush();
117
			swriter.close();
118
			swriter.close();
(-)src/org/eclipse/pde/internal/ui/editor/product/ProductInputContext.java (-1 / +2 lines)
Lines 23-28 Link Here
23
import org.eclipse.pde.internal.core.iproduct.IProductModel;
23
import org.eclipse.pde.internal.core.iproduct.IProductModel;
24
import org.eclipse.pde.internal.core.product.ProductModel;
24
import org.eclipse.pde.internal.core.product.ProductModel;
25
import org.eclipse.pde.internal.core.product.WorkspaceProductModel;
25
import org.eclipse.pde.internal.core.product.WorkspaceProductModel;
26
import org.eclipse.pde.internal.core.text.ResourcePrintWriter;
26
import org.eclipse.pde.internal.ui.PDEPlugin;
27
import org.eclipse.pde.internal.ui.PDEPlugin;
27
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
28
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
28
import org.eclipse.pde.internal.ui.editor.context.UTF8InputContext;
29
import org.eclipse.pde.internal.ui.editor.context.UTF8InputContext;
Lines 90-96 Link Here
90
			return;
91
			return;
91
		try {
92
		try {
92
			StringWriter swriter = new StringWriter();
93
			StringWriter swriter = new StringWriter();
93
			PrintWriter writer = new PrintWriter(swriter);
94
			PrintWriter writer = new ResourcePrintWriter(swriter, getResource());
94
			editableModel.save(writer);
95
			editableModel.save(writer);
95
			writer.flush();
96
			writer.flush();
96
			swriter.close();
97
			swriter.close();

Return to bug 98062