Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1184)

Side by Side Diff: editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/internal/model/DartProjectImpl.java

Issue 10563005: fix mapping of html files to libraries http://code.google.com/p/dart/issues/detail?id=3586 (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012, the Dart project authors. 2 * Copyright (c) 2012, the Dart project authors.
3 * 3 *
4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except
5 * in compliance with the License. You may obtain a copy of the License at 5 * in compliance with the License. You may obtain a copy of the License at
6 * 6 *
7 * http://www.eclipse.org/legal/epl-v10.html 7 * http://www.eclipse.org/legal/epl-v10.html
8 * 8 *
9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License 9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express
(...skipping 19 matching lines...) Expand all
30 import com.google.dart.tools.core.internal.util.MementoTokenizer; 30 import com.google.dart.tools.core.internal.util.MementoTokenizer;
31 import com.google.dart.tools.core.internal.util.ResourceUtil; 31 import com.google.dart.tools.core.internal.util.ResourceUtil;
32 import com.google.dart.tools.core.model.DartElement; 32 import com.google.dart.tools.core.model.DartElement;
33 import com.google.dart.tools.core.model.DartLibrary; 33 import com.google.dart.tools.core.model.DartLibrary;
34 import com.google.dart.tools.core.model.DartModelException; 34 import com.google.dart.tools.core.model.DartModelException;
35 import com.google.dart.tools.core.model.DartProject; 35 import com.google.dart.tools.core.model.DartProject;
36 import com.google.dart.tools.core.model.Type; 36 import com.google.dart.tools.core.model.Type;
37 import com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities; 37 import com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities;
38 import com.google.dart.tools.core.utilities.io.FileUtilities; 38 import com.google.dart.tools.core.utilities.io.FileUtilities;
39 import com.google.dart.tools.core.utilities.resource.IFileUtilities; 39 import com.google.dart.tools.core.utilities.resource.IFileUtilities;
40 import com.google.dart.tools.core.utilities.resource.IResourceUtilities;
40 import com.google.dart.tools.core.workingcopy.WorkingCopyOwner; 41 import com.google.dart.tools.core.workingcopy.WorkingCopyOwner;
41 42
42 import org.eclipse.core.resources.IFile; 43 import org.eclipse.core.resources.IFile;
43 import org.eclipse.core.resources.IFolder; 44 import org.eclipse.core.resources.IFolder;
44 import org.eclipse.core.resources.IProject; 45 import org.eclipse.core.resources.IProject;
45 import org.eclipse.core.resources.IResource; 46 import org.eclipse.core.resources.IResource;
46 import org.eclipse.core.resources.IResourceProxy; 47 import org.eclipse.core.resources.IResourceProxy;
47 import org.eclipse.core.resources.IResourceProxyVisitor; 48 import org.eclipse.core.resources.IResourceProxyVisitor;
48 import org.eclipse.core.resources.ProjectScope; 49 import org.eclipse.core.resources.ProjectScope;
49 import org.eclipse.core.runtime.CoreException; 50 import org.eclipse.core.runtime.CoreException;
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 411
411 @Override 412 @Override
412 public int getElementType() { 413 public int getElementType() {
413 return DartElement.DART_PROJECT; 414 return DartElement.DART_PROJECT;
414 } 415 }
415 416
416 /** 417 /**
417 * Return the mapping for the html files contained in this project. If the map ping has not been 418 * Return the mapping for the html files contained in this project. If the map ping has not been
418 * created, it will do so and return the result. 419 * created, it will do so and return the result.
419 * 420 *
420 * @return the table with the html file to library mapping 421 * @return the table with the html file to library mapping html file location string, list of
422 * library resource location string
421 * @throws CoreException 423 * @throws CoreException
422 */ 424 */
423 @Override 425 @Override
424 public HashMap<String, List<String>> getHtmlMapping() throws CoreException { 426 public HashMap<String, List<String>> getHtmlMapping() throws CoreException {
425 427
426 HashMap<String, List<String>> htmlMapping = ((DartProjectInfo) getElementInf o()).getHtmlMapping(); 428 HashMap<String, List<String>> htmlMapping = ((DartProjectInfo) getElementInf o()).getHtmlMapping();
427 429
428 if (htmlMapping != null) { 430 if (htmlMapping != null) {
429 return htmlMapping; 431 return htmlMapping;
430 } 432 }
431 433
432 final HashMap<String, List<String>> mapping = new HashMap<String, List<Strin g>>(); 434 final HashMap<String, List<String>> mapping = new HashMap<String, List<Strin g>>();
433 435
434 getProject().accept(new IResourceProxyVisitor() { 436 getProject().accept(new IResourceProxyVisitor() {
435 @Override 437 @Override
436 public boolean visit(IResourceProxy proxy) throws CoreException { 438 public boolean visit(IResourceProxy proxy) throws CoreException {
437 if (proxy.getType() != IResource.FILE || !DartCore.isHTMLLikeFileName(pr oxy.getName())) { 439 if (proxy.getType() != IResource.FILE || !DartCore.isHTMLLikeFileName(pr oxy.getName())) {
438 return true; 440 return true;
439 } 441 }
440 IResource resource = proxy.requestResource(); 442 IResource resource = proxy.requestResource();
441 if (resource.isAccessible()) { 443 if (resource.isAccessible()) {
442 try { 444 try {
443 List<String> libraryNames = LibraryReferenceFinder.findInHTML(IFileU tilities.getContents((IFile) resource)); 445 List<String> libraryNames = LibraryReferenceFinder.findInHTML(IFileU tilities.getContents((IFile) resource));
444 if (!libraryNames.isEmpty()) { 446 if (!libraryNames.isEmpty()) {
445 mapping.put(resource.getLocation().toPortableString(), libraryName s); 447 List<String> libraryPaths = IResourceUtilities.getResolvedFilePath s(
448 resource,
449 libraryNames);
450 mapping.put(resource.getLocation().toPortableString(), libraryPath s);
446 } 451 }
447 } catch (IOException exception) { 452 } catch (IOException exception) {
448 DartCore.logInformation( 453 DartCore.logInformation(
449 "Could not get contents of " + resource.getLocation(), 454 "Could not get contents of " + resource.getLocation(),
450 exception); 455 exception);
451 } 456 }
452 } 457 }
453 458
454 return true; 459 return true;
455 } 460 }
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after
1053 // if (resource.equals(element.getCorrespondingResource())) { 1058 // if (resource.equals(element.getCorrespondingResource())) {
1054 // return element; 1059 // return element;
1055 // } 1060 // }
1056 // } catch (DartModelException exception) { 1061 // } catch (DartModelException exception) {
1057 // // Ignored 1062 // // Ignored
1058 // } 1063 // }
1059 // } 1064 // }
1060 // return null; 1065 // return null;
1061 // } 1066 // }
1062 } 1067 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698