Skip to content

Commit

Permalink
add back a DefaultXtextTargetPlatform
Browse files Browse the repository at this point in the history
  • Loading branch information
rubenporras committed Sep 25, 2024
1 parent 4fd1bf3 commit c16647f
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
/*******************************************************************************
* Copyright (c) 2016 Avaloq Group AG and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Avaloq Group AG - initial API and implementation
*******************************************************************************/
package com.avaloq.tools.ddk.xtext.layered;

import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.xtext.resource.impl.ResourceDescriptionsData;

import com.avaloq.tools.ddk.xtext.build.IBinaryModelStore;
import com.avaloq.tools.ddk.xtext.resource.IDerivedObjectAssociationsStore;
import com.avaloq.tools.ddk.xtext.resource.extensions.DelegatingResourceDescriptionsData;
import com.avaloq.tools.ddk.xtext.resource.extensions.IResourceDescriptionsData;


/**
* Default implementation implements the legacy mechanism through a {@link org.eclipse.xtext.builder.builderState.PersistedStateProvider PersistedStateProvider}
* .
*/
public class DefaultXtextTargetPlatform implements IXtextTargetPlatform {
private volatile IResourceDescriptionsData index; // NOPMD: volatile

@Override
public IResourceDescriptionsData getIResourceDescriptionsData() {
if (index == null) {
index = new DelegatingResourceDescriptionsData(new ResourceDescriptionsData(Collections.emptyList()));
}
return index;
}

@Override
public void open(final boolean clean, final IProgressMonitor monitor) throws IOException {
// nothing to do
}

@Override
public void close(final IProgressMonitor monitor) {
// nothing to do
}

@Override
public IIssueStore getIssueStore() {
// No issue store needed; Eclipse stores markers by itself.
return null;
}

@Override
public IDerivedObjectAssociationsStore getAssociationsStore() {
// Association store for default platform is not implemented yet
return null;
}

@Override
public Map<String, String> getMetadata(final Collection<String> keys, final IProgressMonitor monitor) {
return Collections.emptyMap();
}

@Override
public void setMetadata(final Map<String, String> options) {
// nothing to do
}

@Override
public IBinaryModelStore getBinaryModelStore() {
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import com.avaloq.tools.ddk.xtext.build.IBinaryModelStore;
import com.avaloq.tools.ddk.xtext.resource.IDerivedObjectAssociationsStore;
import com.avaloq.tools.ddk.xtext.resource.extensions.IResourceDescriptionsData;
import com.google.inject.ImplementedBy;


/**
Expand Down Expand Up @@ -47,6 +48,7 @@
* encapsulated index or the issue store are accessed, the platform must be opened through {@link #open(boolean, IProgressMonitor)}. Once open, all operations
* are allowed. Once it is no longer in use, a platform must be closed through {@link #close(IProgressMonitor)}.
*/
@ImplementedBy(DefaultXtextTargetPlatform.class)
public interface IXtextTargetPlatform {

/**
Expand Down

0 comments on commit c16647f

Please sign in to comment.