diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv.htm index 09d59e23ce8..15c549af67a 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv.htm @@ -1,12 +1,9 @@ - + - - - - + Advanced resource concepts @@ -15,7 +12,7 @@

Advanced resource concepts

In Resources overview we took a look at the -basic services and APIs provided by the org.eclipse.core.resources +basic services and APIs provided by the org.eclipse.core.resources plug-in. This and other related plug-ins also contain many advanced features that are useful for plug-ins that require a deeper level of integration. For details on these advanced features, take a gander at some of these topics: diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_batching.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_batching.htm index 28d31c627de..a0172ab6ac7 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_batching.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_batching.htm @@ -1,12 +1,9 @@ - + - - - - + Batching resource changes @@ -65,10 +62,10 @@

Scheduling Rules and Locking

The runnable is passed to the workspace, followed by the project that the code is manipulating. This tells the workspace that all of the changes in the -runnable are confined to myProject. Any requests by other threads -to change myProject will be blocked until this runnable completes. +runnable are confined to myProject. Any requests by other threads +to change myProject will be blocked until this runnable completes. Likewise, this call will block if some other thread is already modifying -myProject. By specifying which part of the resource tree will be +myProject. By specifying which part of the resource tree will be modified by the runnable, you are allowing other threads to continue modifying other portions of the workspace. It is important to be sure that your resource rule matches the work being done inside the runnable. When a non-null scheduling @@ -77,20 +74,20 @@

Scheduling Rules and Locking

There are two special scheduling rules that are important to consider. First, -if you use an instance of IWorkspaceRoot as the scheduling rule, +if you use an instance of IWorkspaceRoot as the scheduling rule, it means your thread is blocking access to all resources in the tree. While a thread holds the root rule, no other thread is allowed to modify the -workspace. Conversely, a rule of null indicates that the thread +workspace. Conversely, a rule of null indicates that the thread will block access to no resources in the tree. While a thread with the null rule is free to modify the workspace itself, other threads will not be prevented -from performing their own modifications. The IWorkspaceRoot and -null scheduling rules occupy opposite ends of the concurrency spectrum. -With IWorkspaceRoot there is no concurrency -and only one thread is modifying the workspace at a time. With a null rule, +from performing their own modifications. The IWorkspaceRoot and +null scheduling rules occupy opposite ends of the concurrency spectrum. +With IWorkspaceRoot there is no concurrency +and only one thread is modifying the workspace at a time. With a null rule, there is maximum concurrency as all threads can modify the workspace concurrently.

The third parameter to the run method specifies whether any periodic resource change events should -be broadcast during the scope of this call. Using IWorkspace.AVOID_UPDATE tells the platform to suppress any +be broadcast during the scope of this call. Using IWorkspace.AVOID_UPDATE tells the platform to suppress any resource change events while the runnable is running and to broadcast one event at the end of the changes. During this call, any other runnables created in the runnable will be considered part of the parent batch operation. Resource changes made in those runnables will appear in the parent's resource change notification. diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_buildconfigs.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_buildconfigs.htm index a9770f59613..5a6e34596f4 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_buildconfigs.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_buildconfigs.htm @@ -1,12 +1,9 @@ - + - - - - + Project Build Configurations @@ -72,10 +69,10 @@

Creating and Setting Build Configurations

... // Creating a build configuration - ResourcesPlugin().getWorkspace().newBuildConfig(project.getName(), "myNewBuildConfig"); + ResourcesPlugin().getWorkspace().newBuildConfig(project.getName(), "myNewBuildConfig"); ... // Set new build configurations on a project - projDesc.setBuildConfigs(buildConfigs); + projDesc.setBuildConfigs(buildConfigs); // Set the description project.setDescription(projDesc, null); @@ -86,7 +83,7 @@

Creating and Setting Build Configurations

Active Configuration

By default one configuration on the project is defined as 'active'. The active configuration is the one that is built -when a build configurations isn't specified (e.g. when: +when a build configurations isn't specified (e.g. when: IProject#build(kind, monitor) is called on the project). To set the active build configuration:

@@ -101,7 +98,7 @@

Creating References Between Build Configurations

-  projDesc.setBuildConfigReferences(String configName, IBuildConfiguration[] references);
+  projDesc.setBuildConfigReferences(String configName, IBuildConfiguration[] references);
 

causes the named build configuration to reference the passed in build configurations.

@@ -118,7 +115,7 @@

Building Project Build Configurations

New API exists on the workspace to allow building a build configuration and its references (if required):
-  ResourcesPlugin.getWorkspace().build(IBuildConfiguration[] buildConfigs, int kind, boolean buildReferences, IProgressMonitor monitor);
+  ResourcesPlugin.getWorkspace().build(IBuildConfiguration[] buildConfigs, int kind, boolean buildReferences, IProgressMonitor monitor);
 
API also exists on IProject to build a specific build configuration: diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_builders.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_builders.htm index c0e7d08ff3b..fd383f220a1 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_builders.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_builders.htm @@ -1,15 +1,18 @@ - + - - - - + Incremental project builders +

@@ -222,7 +225,7 @@

Build Locking

-  public ISchedulingRule getRule(int kind, Map<String,String> args) {
+  public ISchedulingRule getRule(int kind, Map<String,String> args) {
     // Allow any resource to be modified concurrently with this buidler's invocation.
     return null;
   }
@@ -284,7 +287,7 @@ 

Configuring a project's builder is done just once, usually as the project is being created. A common way to associate a builder with a project is by configuring a project nature.

-

Advanced Build Kinds

+

Advanced Build Kinds

Triggers vs. Kinds

When a build is invoked on an IProject or IWorkspace, we call the passed in build kind the build trigger. @@ -293,7 +296,7 @@

Triggers vs. Kinds

The major exception to this is where no delta exists. In this case the build trigger is always promoted to FULL_BUILD.

The mapping between triggers and kinds looks like: - +
diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_concurrency.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_concurrency.htm index d43b3bdbd4c..b1f0832a553 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_concurrency.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_concurrency.htm @@ -1,12 +1,9 @@ - + - - - - + Concurrency and the workspace @@ -67,7 +64,7 @@

Workspace Jobs

Our job is scheduled like any other job. The platform job manager will run it according to its priority, other jobs in the queue, and the scheduling rules. Note that we must attach the -scheduling rule to the job in order to prevent simultaneous modification of myProject. +scheduling rule to the job in order to prevent simultaneous modification of myProject.

MyWorkspaceJob job = new MyWorkspaceJob();
 job.setRule(myProject);
diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_derived.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_derived.htm
index 03b67ba4ae5..4019aeca513 100644
--- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_derived.htm
+++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_derived.htm
@@ -1,12 +1,9 @@
-
+
 
 
 
 
-
-
-
-
+
 
 Derived resources
 
diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_api.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_api.htm
index c0e9a2c89b2..9fbd410a25b 100644
--- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_api.htm
+++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_api.htm
@@ -1,12 +1,9 @@
-
+
 
 
 
 
-
-
-
-
+
 
 Using the file system API
 
@@ -16,21 +13,21 @@
 
 

Using the File System API

-The org.eclipse.core.filesystem plug-in provides a generic API for -interacting with an arbitrary file system. This API is similar to java.io.File, +The org.eclipse.core.filesystem plug-in provides a generic API for +interacting with an arbitrary file system. This API is similar to java.io.File, with a few key differences:

In the file system API, the path for any given file is represented as a hierarchical -java.net.URI. The URI scheme represents the kind of file system, +java.net.URI. The URI scheme represents the kind of file system, and the URI path component represents the location of the file within the file system tree. Thus any given hierarchical URI represents a potential file or directory in some arbitrary file system. @@ -40,23 +37,23 @@

Using the File System API

org.eclipse.core.filesystem) package. The central API type is IFileStore -Each instance of IFileStore represents -a single file in the file system. As with IResource, the existence of -an IFileStore instance does not mean that such a file exists on disk. You -can use an IFileStore instance to create, delete, copy, move, or open -streams on files. For a given URI, you can get your hands on an IFileStore -instance using the static method EFS.getStore(URI) +Each instance of IFileStore represents +a single file in the file system. As with IResource, the existence of +an IFileStore instance does not mean that such a file exists on disk. You +can use an IFileStore instance to create, delete, copy, move, or open +streams on files. For a given URI, you can get your hands on an IFileStore +instance using the static method EFS.getStore(URI)

The IFileSystem interface can be used to find out things about the file system as a whole. Each -IFileSystem instance represents a single URI scheme, such as "file:", +IFileSystem instance represents a single URI scheme, such as "file:", "ftp:", etc. You can use this type to ask questions such as what file attributes are supported, or whether the file system is case-sensitive. You can also use -this type to obtain an IFileStore for a given URI. +this type to obtain an IFileStore for a given URI.

-Most methods on IFileStore have a flag parameter that allows +Most methods on IFileStore have a flag parameter that allows extra options to be supplied. The flag values can be found in the EFS class. For example, to open an output stream for appending to a file, use: @@ -87,12 +84,12 @@

Using the File System API

This style of API allows you to obtain and change file information with a single call to the file system. In the above example, there is only one file system call to fetch the info, and then you can perform as many -operations as you want on the IFileInfo object without hitting +operations as you want on the IFileInfo object without hitting the disk again.

The EFS -class has static factory methods for obtaining IFileStore and IFileSystem +class has static factory methods for obtaining IFileStore and IFileSystem instances, as well as various option constants and error codes.

diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_intro.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_intro.htm index 91889959180..6d0613f73fc 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_intro.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_intro.htm @@ -1,12 +1,9 @@ - + - - - - + Alternate file systems @@ -18,7 +15,7 @@

Alternate File Systems

Most of the time, resources in the workspace are stored in a local file system -that is accessible via java.io.File. However, it is also possible +that is accessible via java.io.File. However, it is also possible to create resources that are stored in other kinds of file systems, such as network file systems or a database.

diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_providers.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_providers.htm index 4383575e708..722b06acb18 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_providers.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_providers.htm @@ -1,12 +1,9 @@ - + - - - - + File system providers @@ -17,7 +14,7 @@

File System Providers

-By default, the org.eclipse.core.filesystem plug-in only includes a file system +By default, the org.eclipse.core.filesystem plug-in only includes a file system implementation for the local file system. Plug-ins can contribute implementations for other file systems using the org.eclipse.core.filesystem.filesystems diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_resources.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_resources.htm index 0c09ab7d133..3890fa4f778 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_resources.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_efs_resources.htm @@ -1,12 +1,9 @@ - + - - - - + Working with resources in other file systems @@ -27,7 +24,7 @@

Working With Resources in Other File Systems

In particular, the IResource.getLocation method is specified to return the local file system path of the resource. If the resource is in some other file -system, then this method is not applicable and will return null. +system, then this method is not applicable and will return null. It is better to use the method getLocationURI instead, which works regardless of what kind of file system the resource is stored in.

@@ -42,8 +39,8 @@

Local Caching

Say you are working with resources that are not in the local file system, but you really need a local file. For example, you may be using a library that has a -dependency on java.io.File). In this case you can use the -IFileStore.toLocalFile method to obtain a local copy of the file. Note that +dependency on java.io.File). In this case you can use the +IFileStore.toLocalFile method to obtain a local copy of the file. Note that this will only cause one file or directory to be cached locally, rather than an entire directory tree. Here is an example of using local caching to open a zip file on an IFileStore: diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_events.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_events.htm index 20a09581f1b..7bfded863b5 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_events.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_events.htm @@ -1,17 +1,20 @@ - + - - - - + Tracking resource changes +

@@ -81,7 +84,7 @@

Resource Change Events

addition, resource change events are sent for certain specific workspace operations. The table below summarizes the types of resource change events and when they are reported.

-
Trigger Kind
+

@@ -167,7 +170,7 @@

Resource Change Events

-

Implementing a Resource Change Listener

+

Implementing a Resource Change Listener

The following example implements a console-based resource change listener. A resource change listener is registered for specific types of events and information about these events is printed to the console: diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_hooks.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_hooks.htm index 59c32e2dc33..c1e0add7135 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_hooks.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_hooks.htm @@ -1,12 +1,9 @@ - + - - - - + Resource modification hooks diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_markers.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_markers.htm index 6344d1a55f0..f8e264aae3d 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_markers.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_markers.htm @@ -1,12 +1,9 @@ - + - - - - + Resource markers @@ -174,7 +171,7 @@

- + Extending the platform with new marker types

Plug-ins can declare their own marker types using the org.eclipse.core.resources.markers diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_modify.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_modify.htm index 61115a7ec07..51ee9cda89d 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_modify.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_modify.htm @@ -1,12 +1,9 @@ - + - - - - + Modifying the workspace diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_natures.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_natures.htm index f6aaf78af70..d6a1a72881b 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_natures.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_natures.htm @@ -1,12 +1,9 @@ - + - - - - + Project natures diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_refresh.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_refresh.htm index cc68eb2f0db..8596bccd958 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_refresh.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_refresh.htm @@ -1,12 +1,9 @@ - + - - - - + Refresh providers diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_saving.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_saving.htm index fc740deca45..49f9df73036 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_saving.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_saving.htm @@ -1,12 +1,9 @@ - + - - - - + Workspace save participation diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_variables.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_variables.htm index c6df29da764..8e884c267e5 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_variables.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resAdv_variables.htm @@ -1,12 +1,9 @@ - + - - - - + Dynamic Path Variables diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt.htm index 12a526733da..805b1a87658 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt.htm @@ -1,12 +1,9 @@ - + - - - - + Resources overview diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_content.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_content.htm index f4e2cef2347..6d9e689b1f0 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_content.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_content.htm @@ -1,12 +1,9 @@ - + - - - - + File encoding and content types diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_filesystem.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_filesystem.htm index 41b816f55bd..12afd886a3a 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_filesystem.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_filesystem.htm @@ -1,12 +1,9 @@ - + - - - - + Resources and the file system @@ -183,7 +180,7 @@

to determine whether a particular resource is in synch with the file system.

- + Mapping resources to disk locations

In the sample resource tree, we've assumed that all of the project content directories are diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_filters.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_filters.htm index 4a597e4c08d..fdf6d0532cb 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_filters.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_filters.htm @@ -1,12 +1,9 @@ - + - - - - + Linked resources diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_linked.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_linked.htm index 48c710cea00..1efe31101c4 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_linked.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_linked.htm @@ -1,12 +1,9 @@ - + - - - - + Linked resources diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_preferences.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_preferences.htm index 2a4e44288ca..57b1a52bda3 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_preferences.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_preferences.htm @@ -1,12 +1,9 @@ - + - - - - + Project-scoped preferences diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_properties.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_properties.htm index 1742c67dcda..3800c0396ef 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_properties.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_properties.htm @@ -1,12 +1,9 @@ - + - - - - + Resource properties diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_virtual.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_virtual.htm index f50ce54b55f..0763b8e5904 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_virtual.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_virtual.htm @@ -1,12 +1,9 @@ - + - - - - + Linked resources diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_workspace.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_workspace.htm index b3be663215c..a0183354c7c 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_workspace.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/resInt_workspace.htm @@ -1,12 +1,9 @@ - + - - - - + Resources and the workspace @@ -56,7 +53,7 @@

workspace root. Each node (other than the root) is one of the three kinds of resources, and each has a name that is different from its siblings.

-Navigator view with sample workspace +Navigator view with sample workspace

diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime.htm index e0b293445ff..cca7bb8afe5 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime.htm @@ -1,12 +1,9 @@ - + - - - - + Runtime overview diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_app_model.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_app_model.htm index d2d9701d3dd..1c8550684be 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_app_model.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_app_model.htm @@ -1,12 +1,9 @@ - + - - - - + Runtime application model diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_components.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_components.htm index 6bdb077acb2..b8761244ec9 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_components.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_components.htm @@ -1,12 +1,9 @@ - + - - - - + Runtime components diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_content.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_content.htm index 4b38a10a0f6..4a7147d4dbf 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_content.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_content.htm @@ -1,12 +1,9 @@ - + - - - - + Content types diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_content_contributing.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_content_contributing.htm index e589609d2dd..2c25c06d2d5 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_content_contributing.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_content_contributing.htm @@ -1,12 +1,9 @@ - + - - - - + Contributing content types diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_content_using.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_content_using.htm index 7e77ca23856..3f599bb1667 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_content_using.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_content_using.htm @@ -1,12 +1,9 @@ - + - - - - + Using content types diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs.htm index c694c30add6..d1abd1b0bfb 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs.htm @@ -1,12 +1,9 @@ - + - - - - + Concurrency infrastructure diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_locks.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_locks.htm index 2154e5120f3..ccd9c53b101 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_locks.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_locks.htm @@ -1,12 +1,9 @@ - + - - - - + Locks @@ -50,7 +47,7 @@

The acquire() method will not return until the calling job can be granted exclusive access to the lock. In other words, if some other job has already acquired the lock, then this code will be blocked until the lock is available. Note that the code that acquires the lock and manipulates myObject is wrapped in -a try block, so that the lock can be released if any exceptions occur while working with the object. +a try block, so that the lock can be released if any exceptions occur while working with the object.

Seems simple enough, right? Fortunately, locks are pretty straightforward to use. They are also reentrant, which means you don't have to worry about your job acquiring the same lock multiple times. Each lock keeps a count of the diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_progress.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_progress.htm index b8c3d1feba1..953d39a6815 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_progress.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_progress.htm @@ -1,18 +1,14 @@ - + - - - + Reporting progress - +

Reporting Progress

@@ -28,7 +24,7 @@

cancellation requests made from the progress view. When a user (or plug-in using job API) attempts to cancel a job, the IProgressMonitor -method isCanceled() will return true. It is the job's +method isCanceled() will return true. It is the job's responsibility to frequently check the cancellation status of a job and respond to a cancellation by exiting the run method as soon as possible once it detects a diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_rules.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_rules.htm index d714bf550cd..5b3b7cc913d 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_rules.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_rules.htm @@ -1,12 +1,9 @@ - + - - - - + Scheduling rules @@ -68,11 +65,11 @@

How can that be? We told the light to turn on and then off, so its final state should be off! The problem is that there was nothing preventing the -LightOff job from running at the same time as the LightOn +LightOff job from running at the same time as the LightOn job. So, even though the "on" job was scheduled first, their concurrent execution means that there is no way to predict the exact -execution order of the two concurrent jobs. If the LightOff job ends -up running before the LightOn job, we get this invalid result. +execution order of the two concurrent jobs. If the LightOff job ends +up running before the LightOn job, we get this invalid result. What we need is a way to prevent the two jobs from running concurrently, and that's where scheduling rules come in.

@@ -109,7 +106,7 @@

Now, when the two light switch jobs are scheduled, the job infrastructure will -call the isConflicting method to compare the scheduling rules of the +call the isConflicting method to compare the scheduling rules of the two jobs. It will notice that the two jobs have conflicting scheduling rules, and will make sure that they run in the correct order. It will also make sure they never run at the same time. Now, if you run the example program a million times, @@ -122,7 +119,7 @@

Rules can also be used independently from jobs as a general locking mechanism. The following example acquires a rule within a try/finally block, preventing other threads and jobs from running with that rule for the duration between -invocations of beginRule and endRule.

+invocations of beginRule and endRule.

   IJobManager manager = Job.getJobManager();
    try {
       manager.beginRule(rule, monitor);
@@ -133,7 +130,7 @@ 

You should exercise extreme caution when acquiring and releasing scheduling rules using such a coding pattern. If you fail to end a rule for which you -have called beginRule, you will have locked that rule forever.

+have called beginRule, you will have locked that rule forever.

Making your own rules

Although the job API defines the contract of scheduling rules, it does not actually @@ -143,36 +140,36 @@

Making your own rules

thread can be created to run it.

When a job does have a scheduling rule, -the isConflicting method is used to determine if the rule conflicts with +the isConflicting method is used to determine if the rule conflicts with the rules of any jobs that are currently running. Thus, your implementation -of isConflicting can define exactly when it is safe to execute your job. -In our light switch example, the isConflicting implementation simply uses +of isConflicting can define exactly when it is safe to execute your job. +In our light switch example, the isConflicting implementation simply uses an identity comparison with the provided rule. If another job has the identical rule, they will not be run concurrently. When writing your own scheduling rules, be -sure to read and follow the API contract for isConflicting carefully.

+sure to read and follow the API contract for isConflicting carefully.

If your job has several unrelated constraints, you can compose multiple scheduling rules together using a MultiRule. For example, if your job needs to turn on a light switch, and also write information to a network socket, it can have a rule for the light switch and a rule for write access to the socket, -combined into a single rule using the factory method MultiRule.combine.

+combined into a single rule using the factory method MultiRule.combine.

Rule hierarchies

-We have discussed the isConflicting method on +We have discussed the isConflicting method on ISchedulingRule, -but thus far have not mentioned the contains method. This method is +but thus far have not mentioned the contains method. This method is used for a fairly specialized application of scheduling rules that many clients will not require. Scheduling rules can be logically composed into hierarchies for controlling access to naturally hierarchical resources. The simplest example to illustrate this concept is a tree-based file system. If an application wants to acquire an exclusive lock on a directory, it typically implies that it also wants exclusive access to the files -and sub-directories within that directory. The contains method is +and sub-directories within that directory. The contains method is used to specify the hierarchical relationship among locks. If you do not need -to create hierarchies of locks, you can implement the contains method -to simply call isConflicting.

+to create hierarchies of locks, you can implement the contains method +to simply call isConflicting.

-Here is an example of a hierarchical lock for controlling write access to java.io.File handles. +Here is an example of a hierarchical lock for controlling write access to java.io.File handles.

   public class FileLock implements ISchedulingRule {
       private String path;
@@ -202,17 +199,17 @@ 

Rule hierarchies

} }
-

The contains method comes into play if a thread tries to acquire +

The contains method comes into play if a thread tries to acquire a second rule when it already owns a rule. To avoid the possibility of deadlock, any given thread can only own one scheduling rule at any given time. -If a thread calls beginRule when it already owns a rule, either through -a previous call to beginRule or by executing a job with a scheduling rule, -the contains method is consulted to see if the two rules are equivalent. -If the contains method for the rule that is already owned returns true, -the beginRule invocation will succeed. If the contains method returns -false an error will occur.

+If a thread calls beginRule when it already owns a rule, either through +a previous call to beginRule or by executing a job with a scheduling rule, +the contains method is consulted to see if the two rules are equivalent. +If the contains method for the rule that is already owned returns true, +the beginRule invocation will succeed. If the contains method returns +false an error will occur.

-To put this in more concrete terms, say a thread owns our example FileLock +To put this in more concrete terms, say a thread owns our example FileLock rule on the directory at "c:\temp". While it owns this rule, it is only allowed to modify files within that directory subtree. If it tries to modify files in other directories that are not under "c:\temp", it should fail. Thus a scheduling rule is a diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_scheduling.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_scheduling.htm index d8e9e4e782c..e8df7dbc248 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_scheduling.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_jobs_scheduling.htm @@ -1,12 +1,9 @@ - + - - - - + Job scheduling @@ -96,7 +93,7 @@

Custom Scheduling Conditions

}

The shouldSchedule method is called just before the job manager places the job in the queue. This allows the job -to cancel itself if basic preconditions for scheduling are not met. The job should return false it +to cancel itself if basic preconditions for scheduling are not met. The job should return false it is inappropriate to schedule it. Likewise, the shouldRun method is called just before the job manager runs the job. Any additional conditions that must be met before the job is run must be checked at this time.

diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_model.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_model.htm index 36d3a225c94..2ac1c42395c 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_model.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_model.htm @@ -1,12 +1,9 @@ - + - - - - + The runtime plug-in model diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_model_bundles.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_model_bundles.htm index 9c1f197e5f8..1db59173619 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_model_bundles.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_model_bundles.htm @@ -1,12 +1,9 @@ - + - - - - + Plug-ins and bundles diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_preferences.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_preferences.htm index 74698698c7c..9fd5330a788 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_preferences.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_preferences.htm @@ -1,12 +1,9 @@ - + - - - - + Runtime preferences diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_registry.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_registry.htm index e293ac9ef35..525f6ee0f88 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_registry.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/runtime_registry.htm @@ -1,12 +1,9 @@ - + - - - - + Extension points and the registry @@ -25,7 +22,7 @@

the need for this information and the protocol for getting it.

Recall the workbench Show View dialog which shows all of the available views that have been installed in the platform.

-Show View dialog with Hello entry +Show View dialog with Hello entry

We know that the category names and view names of all contributed views are specified in the plugin.xml file for any plug-in that contributes an extension for org.eclipse.ui.views. diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team.htm index 434be1851ad..25e62620bd4 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team.htm @@ -1,16 +1,14 @@ - + - - - + Team support - +

Version Control (Team) Support

The Eclipse version control support, via the team plug-ins, defines API that allow plug-ins to integrate the function of a versioning and configuration management diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_howto.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_howto.htm index ff3e0007c77..4008381a863 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_howto.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_howto.htm @@ -1,18 +1,20 @@ - + - - - + Rich Team Integration + - +

Rich Team Integration

Integrating your repository's support with the platform starts with @@ -43,14 +45,14 @@

Rich Team Integration

with and links for information (both team-specific and workbench-oriented) on these topics.

Getting Started

- +
- - - - - - +
Define a + Define a RepositoryProvider that represents your implementation. +
Provide a configuration wizard so that users can + Provide a configuration wizard so that users can associate your provider with their projects. +
Add your actions to the Team menu. + Add your actions to the Team menu.

Enhancing Resource Views

- +
- - - - - -
Add provider-specific properties to the + Add provider-specific properties to the properties page for a resource. +
  • Implement and contribute property pages to show team-specific properties for your resource.
  • @@ -98,9 +100,9 @@

    Enhancing Resource Views

Implement specialized decorators to show + Implement specialized decorators to show team-related attributes +
Reduce clutter by filtering out any resources + Reduce clutter by filtering out any resources that are used in implementing team support.  +
  • Use team-private resources to hide implementation files and folders.
  • @@ -120,12 +122,12 @@

    Enhancing Resource Views

Handling User Editing and Changes to Resources

- +
- - - - - - - - +
Intervene in the saving of resources so you can + Intervene in the saving of resources so you can check permissions before a user changes a file. +
Intervene before a user edits a file to see if + Intervene before a user edits a file to see if it's allowed. +
  • Implement the fileModificationValidator hook.
  • Use validateEdit + href="../reference/api/org/eclipse/core/resources/team/FileModificationValidator.html#validateEdit(org.eclipse.core.resources.IFile%5B%5D,%20org.eclipse.core.resources.team.FileModificationValidationContext)">validateEdit to prevent or intervene in editing of files.
Track changes to resources in the workspace so + Track changes to resources in the workspace so you can allow associated changes in the repository. +
  • Use the move/delete hooks to prevent or enhance moving and deleting of resources.
  • @@ -177,8 +179,8 @@

    Handling User Editing and Changes to Resources

Enable the use of linked resources. + Enable the use of linked resources.

Streamlining Repository-related Tasks

- +
- - - -
Provide an easy way to export a description of + Provide an easy way to export a description of your projects. +
  • Use project sets to export your projects without exporting the content so that users can @@ -202,9 +204,9 @@

    Streamlining Repository-related Tasks

Reduce clutter in the repository by ignoring + Reduce clutter in the repository by ignoring files that can be regenerated. +
  • Honor the ignore extension when handling files and use ignore for your plug-in's derived @@ -215,12 +217,12 @@

    Streamlining Repository-related Tasks

Enhancing Platform Integration

- +
- - - - - - - -
Add provider-specific preferences to the + Add provider-specific preferences to the preferences page. +
Implement custom views to show detailed + Implement custom views to show detailed information about repositories or their resources. +
  • Use the views extension to contribute a view.
  • @@ -241,9 +243,9 @@

    Enhancing Platform Integration

Add your views or actions to existing workbench + Add your views or actions to existing workbench perspectives if appropriate. +
  • Use the perspectiveExtensions extension to add your plug-in's shortcuts or views to existing @@ -252,9 +254,9 @@

    Enhancing Platform Integration

Implement a repository-specific perspective to + Implement a repository-specific perspective to streamline repository administration or browsing. +
  • Use the perspectives extension to define your own perspective, views, short cuts, and page diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_model.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_model.htm index bf41f7fe450..2279b97dc35 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_model.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_model.htm @@ -1,15 +1,13 @@ - + - - - + Team Support for Logical Model Integration - +

    Team Support for Logical Model Integration

    There are two viewpoints of interest when describing the Team support for logical model integration:

    diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_model_model.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_model_model.htm index ea57e693611..b755cc83e21 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_model_model.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_model_model.htm @@ -1,17 +1,14 @@ - + - - - + Model Roadmap for Logical Model Integration - +

    Model Roadmap for Logical Model Integration

    Here is a list of what model providers can do to take advantage @@ -59,7 +56,7 @@

    Model Roadmap for Logical Model Integration

    tag (most likely R3_3) or a date tag of June 30, 2007.

    -

    Resource Mappings

    +

    Resource Mappings

    The Basic Resource Mapping API

    The resource mapping API is purposely simple with logical model @@ -169,7 +166,7 @@

    Adapting a Model to a ResourceMapping

    not complex. The complexity of the resource mapping implementation will, of course, vary from model to model.

    -

    Resource Mapping Context

    +

    Resource Mapping Context

    One of the advantages of a Resource Mapping API is that it allows plug-ins to implement any operations they desire in terms of resource mappings (e.g. Git pull, Git commit, Git tag, dirty decoration, etc.). @@ -231,7 +228,7 @@

    When Does a ResourceMapping Need to Worry About the RemoteResourceMappingCon remote contents are downloaded.

    -

    Model Providers

    +

    Model Providers

    Model providers are a means to group related resource mappings together. Here is a link to the Model Providers operation is performed on a set of selected resources or model elements.

    -

    Resource Change Validation

    +

    Resource Change Validation

    Operations performed on resources should be validated first to ensure that the user is aware of any potential side effects. Here are the @@ -312,7 +309,7 @@

    Resource Change Validation

    Library model.
  • -

    Model-based Merging

    +

    Model-based Merging

    When a Team provider is attempting a headless merge, it will do the following:

    @@ -341,7 +338,7 @@

    Model-based Merging

    provider when they are done. -

    Model Content in Team Operation Views

    +

    Model Content in Team Operation Views

    The display of model elements in the context of a Team operation is made possible by the Common Navigator framework.

    @@ -378,7 +375,7 @@

    Model Content in Team Operation Views

    provider's elements in the merge preview.
-

History View

+

History View

The following improvements have been made in the area of file history and model element history:

@@ -399,7 +396,7 @@

History View

operations. -

Remote Browsing

+

Remote Browsing

The following has been provided to support remote browsing:

    @@ -415,7 +412,7 @@

    Remote Browsing

    loading a URI as a project.
-

Decorating Model Elements with Team State

+

Decorating Model Elements with Team State

Team providers can decorate model elements by converting their lightweight decorators to work for resource mappings in the same way @@ -435,7 +432,7 @@

Decorating Model Elements with Team State

of resource has changed and can be passed to a team decorator as part of an IDecorationContext.

-

Using the Saveable API

+

Using the Saveable API

Logical model providers may use the @@ -447,7 +444,7 @@

Using the Saveable API

provider wants to ensure that there are no open dirty editors on a set of resources before a repository operation is performed.

-

Showing the History of Sub-file Elements

+

Showing the History of Sub-file Elements

The ElementLocalHistoryPageSource class can be used by models to show the local history for a sub-file element such as a Java method. @@ -462,7 +459,7 @@

Showing the History of Sub-file Elements

replacing the current element with an element from the history.

-

Grouping Related Changes

+

Grouping Related Changes

Model providers that wish to ensure that changes to sets of resources are committed or checked-in to a repository together can subclass the diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_model_repo.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_model_repo.htm index 7a3973bc2d1..b1cca36378f 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_model_repo.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_model_repo.htm @@ -1,17 +1,14 @@ - + - - - + Repository Roadmap for Logical Model Integration - +

Repository Roadmap for Logical Model Integration

@@ -66,7 +63,7 @@

Repository Roadmap for Logical Model Integration

-

Contributing Actions to Resource +

Contributing Actions to Resource Mappings

The Basic Resource Mapping API

@@ -175,7 +172,7 @@

Resource Mappings and Object Contributions

resources or model elements in an operation. The next section describes how to ensure that all required resources are included in an operation

-

Operation Scope

+

Operation Scope

For team operations, the selected mappings need to be translated into the set of mappings to be operated on. This process involves @@ -217,7 +214,7 @@

Operation Scope

The next two sections describe these points in more detail.

-

Remote Resource Mapping +

Remote Resource Mapping Context

In order to guarantee that all necessary resources get included @@ -297,7 +294,7 @@

Subclassing SynchronizationScopeManager

working set. -

Model-based Merging

+

Model-based Merging

The main repository operation type that requires model participation is merging. In many cases, models only need to participate @@ -410,7 +407,7 @@

API for Model Merging

href="../reference/api/org/eclipse/team/ui/synchronize/ModelSynchronizeParticipant.html">ModelSynchronizeParticipant.

-

Model Content in Team Viewers

+

Model Content in Team Viewers

Support for the display of logical models in a team operation is provided using the Common Navigator framework which was introduced in @@ -514,7 +511,7 @@

Model Content in Team Viewers

</extension> -

File History

+

File History

A file history API has been added to allow models to access the history of files. The file history API consists of the following interfaces:

@@ -548,7 +545,7 @@

File History

-

Project Set Capability

+

Project Set Capability

Methods have been added to ProjectSetCapability to @@ -561,7 +558,7 @@

Project Set Capability

in order to allow logical models to performing remote browsing and project loading.

-

Decorating Model Elements

+

Decorating Model Elements

Team providers can decorate model elements by converting their lightweight decorators to work for resource mappings in the same way @@ -581,7 +578,7 @@

Decorating Model Elements

of resource has changed and can be passed to a team decorator as part of an IDecorationContext.

-

Grouping Related Changes

+

Grouping Related Changes

Some logical models need to ensure that a set of changed files get committed or checked-in to the repository at the same time. To facilitate this, repository providers can adapt their diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_provider_repository.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_provider_repository.htm index 38828771e4c..cbe0ff80891 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_provider_repository.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_provider_repository.htm @@ -1,18 +1,14 @@ - + - - - + Implementing a repository provider - +

Repository Providers

A repository provider (Repository Providers href="../reference/api/org/eclipse/team/core/RepositoryProvider.html">RepositoryProvider.  We'll use the CVS client as an example to see how this works.

-

Extension point

+

Extension point

The @@ -55,7 +51,7 @@

Extension point

project.  The specified class for the repository must extend RepositoryProvider.

-

Implementing a RepositoryProvider

+

Implementing a RepositoryProvider

The class identified in the extension must be a subclass of RepositoryProvider. @@ -117,7 +113,7 @@

Implementing a RepositoryProvider

} } -

Configuring a project

+

Configuring a project

Typically, the first step in building a team UI is implementing a wizard page that allows users to configure a project for your plug-in's team support. This is where your team provider's id will be added to @@ -163,7 +159,7 @@

Configuring a project

When the wizard is completed, you must map your team provider to the project using RepositoryProvider.map(IProject, + href="../reference/api/org/eclipse/team/core/RepositoryProvider.html#map(org.eclipse.core.resources.IProject,%20java.lang.String)">RepositoryProvider.map(IProject, String). Mapping handles the assignment of the correct project persistent property to your project.

@@ -235,7 +231,7 @@

Repository Providers and Capabilities

Project... wizard which allows filtering of repository providers based on the enabled/disabled state of workbench capabilities, and the other is the Team plug-in auto-enablement trigger.

-

Resource Modification Hooks

+

Resource Modification Hooks

Most of the interesting functionality associated with a repository provider occurs as the user works with resources in the project that is configured for the provider.  In order to be aware of changes the diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources.htm index 51675f24be8..2f7237082f5 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources.htm @@ -1,18 +1,14 @@ - + - - - + Repository resource management - +

Repository Resource Management

Once you have created a RepositoryProvider, @@ -38,7 +34,7 @@

Repository Resource Management

from the user as team private.
-

Ignored Files

+

Ignored Files

In several cases, it may be unnecessary to keep certain files under repository control.  For example, resources that are derived from existing @@ -64,8 +60,8 @@

Ignored Files

to decide which files should be ignored.  The user may select, deselect, add or delete file types from the default list of ignored files.

-

-

File Types
+

+

File Types

Some repositories implement different handling for text vs. binary files.  The File Types
the user to manage the list of text and binary file types.

-

+

-

Team and Linked Resources

+

Team and Linked Resources

A project may contain resources that are not located within the project's directory in the local file system. These resources are referred to as linked resources.

@@ -163,7 +159,7 @@

Technical Details for Being "link Friendly"

String linkedParentName = resource.getProjectRelativePath().segment(0);
IFolder linkedParent = resource.getProject().getFolder(linkedParentName);
boolean isLinked = linkedParent.isLinked();

Repository providers should ignore any resource for which the above code evaluates to true.

-

Team Private Resources

+

Team Private Resources

It is common for repository implementations to use extra files and folders to store information specific about the repository implementation.  @@ -195,7 +191,7 @@

Team Private Resources

Attempts to mark projects or the workspace root as team private will be ignored.

-

Project Sets

+

Project Sets

Since the resources inside a project under version control are kept in the repository, it is possible to share projects with team members by @@ -205,8 +201,7 @@

Project Sets

in the workspace.  This is done using a special type of file export for team project sets.  

-

+

 

In 3.0, API was added to ProjectSetCapability diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_filetypes.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_filetypes.htm index 1970a3395d6..93564d43423 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_filetypes.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_filetypes.htm @@ -1,12 +1,9 @@ - + - - - - + File types @@ -36,7 +33,7 @@

Ignored Files

the file type in the preferences dialog.  It is ultimately up to the user to decide which files should be ignored.  The user may select, deselect, add or delete file types from the default list of ignored files.

-

+

Text vs. Binary Files

Some repositories implement different handling for text vs. binary files.  The org.eclipse.team.core.fileTypes @@ -61,7 +58,7 @@

Text vs. Binary Files

-

+

diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_linked.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_linked.htm index 5e2442eee32..17bb37dc05d 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_linked.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_linked.htm @@ -1,12 +1,9 @@ - + - - - - + Team and linked resources diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_private.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_private.htm index 53cd0dcce95..1e96de30074 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_private.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_private.htm @@ -1,12 +1,9 @@ - + - - - - + Team private resources diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_projects.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_projects.htm index f3c060cdb75..cb0484ed97a 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_projects.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_resources_projects.htm @@ -1,12 +1,9 @@ - + - - - - + Project sets @@ -18,7 +15,7 @@

Project Sets

reference to the repository specific information needed to reconstruct a project in the workspace.  This is done using a special type of file export for team project sets.  

-

+

 

In 3.0, API was added to ProjectSetCapability to allow repository providers to declare a class that implements project saving diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_synchronize.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_synchronize.htm index 52f73770c42..b4eb5506870 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_synchronize.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_synchronize.htm @@ -1,18 +1,20 @@ - + - - - + Synchronization Support + - +

Synchronization Support

Eclipse includes APIs for managing and displaying synchronization state between workspace resources and resources in another location. We refer to a @@ -57,8 +59,7 @@

Terminology

Table 1: The synchronization states

- +
+ - - - + Synchronization Support - Beyond the basics diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_synchronize_localhistory_example.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_synchronize_localhistory_example.htm index 2a9c81f245c..89484a5b56f 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_synchronize_localhistory_example.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_synchronize_localhistory_example.htm @@ -1,18 +1,14 @@ - + - - - + Synchronization Support - Local History Example - +

Local History Example

The best way to understand the Synchronize APIs is to create a simple example that actually works. In this example we will be creating a page in the Synchronize diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_actions.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_actions.htm index 37690006cf0..cc333ad4f86 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_actions.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_actions.htm @@ -1,12 +1,9 @@ - + - - - - + Adding team actions diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_decorators.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_decorators.htm index 12d7478093a..657a86533bc 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_decorators.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_decorators.htm @@ -1,12 +1,9 @@ - + - - - - + Team decorators @@ -22,24 +19,15 @@

Team Decorators

(e.g. the version control icon symbol indicates that the resource is managed by CVS).

- - - -

Resource navigator with team decorators turned on +

Resource navigator with team decorators turned on

- - -

Some decorators may be expensive to compute, so it's a good idea to allow the users some control over the use, or even content, of decorators.  The CVS client provides a preference page that allows users to control the presentation and content of decorators.

- - -

See org.eclipse.ui.decorators for a complete description of the decorator extension point.  The CVS decorator markup is as follows: diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_history.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_history.htm index b0fd58d4f5b..098408ab35e 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_history.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_history.htm @@ -1,12 +1,9 @@ - + - - - - + Adding History support diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_prefs.htm b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_prefs.htm index 8343bf8f93d..76e094739c3 100644 --- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_prefs.htm +++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/guide/team_ui_prefs.htm @@ -1,12 +1,9 @@ - + - - - - + Adding preferences and properties @@ -55,9 +52,5 @@

Adding Preferences and Properties

 

- - - -