1 package org.apache.maven.scm.provider.accurev.util; 2 3 /* 4 * Licensed to the Apache Software Foundation (ASF) under one 5 * or more contributor license agreements. See the NOTICE file 6 * distributed with this work for additional information 7 * regarding copyright ownership. The ASF licenses this file 8 * to you under the Apache License, Version 2.0 (the 9 * "License"); you may not use this file except in compliance 10 * with the License. You may obtain a copy of the License at 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, 15 * software distributed under the License is distributed on an 16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17 * KIND, either express or implied. See the License for the 18 * specific language governing permissions and limitations 19 * under the License. 20 */ 21 22 import java.io.File; 23 import java.io.IOException; 24 25 /** 26 * 27 */ 28 public class WorkspaceUtils 29 { 30 public static boolean isSameFile( File file1, String filename2 ) 31 { 32 return isSameFile( file1, filename2 == null ? null : new File( filename2 ) ); 33 34 } 35 36 //We need to canonicalise the files (if we can) before we compare them.. 37 public static boolean isSameFile( File file1, File file2 ) 38 { 39 40 if ( file1 == file2 || ( file1 == null && file2 == null ) ) 41 { 42 return true; 43 } 44 45 if ( file1 == null || file2 == null ) 46 { 47 return false; 48 } 49 50 try 51 { 52 file1 = file1.getCanonicalFile(); 53 } 54 catch ( IOException ioEx ) 55 { 56 //Oh well, we'll compare the non-canonicalised file then. 57 } 58 59 try 60 { 61 file2 = file2.getCanonicalFile(); 62 } 63 catch ( IOException ioEx ) 64 { 65 //Oh well, we'll compare the non-canonicalised file then. 66 } 67 return file1.equals( file2 ); 68 } 69 70 private WorkspaceUtils() 71 { 72 // no op only to prevents class creation 73 } 74 }