mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-16 17:57:43 +00:00
Merge pull request #2868 from dgrove727/2741_3rdPartModuleTracking
Fixed broken RegEx for class name normalization.
This commit is contained in:
commit
b3b69b99fa
@ -1,14 +1,27 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
* Autopsy Forensic Browser
|
||||
*
|
||||
* Copyright 2016-2017 Basis Technology Corp.
|
||||
* Contact: carrier <at> sleuthkit <dot> org
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.ingest;
|
||||
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
|
||||
/**
|
||||
* Used to strip python ids on factory class names.
|
||||
* Used to strip Python IDs on factory class names.
|
||||
*/
|
||||
class FactoryClassNameNormalizer {
|
||||
|
||||
@ -17,16 +30,18 @@ class FactoryClassNameNormalizer {
|
||||
|
||||
static String normalize(String canonicalClassName) {
|
||||
if (isPythonModuleSettingsFile(canonicalClassName)) {
|
||||
// compiled python modules have variable instance number as a part of their file name.
|
||||
// This block of code gets rid of that variable instance number and helps maitains constant module name over multiple runs.
|
||||
String moduleClassName = canonicalClassName.replaceAll("[$][\\d]", ""); //NON-NLS NON-NLS
|
||||
// Compiled Python modules have variable instance number as a part
|
||||
// of their file name. This block of code gets rid of that variable
|
||||
// instance number and helps maitains constant module name over
|
||||
// multiple runs.
|
||||
String moduleClassName = canonicalClassName.replaceAll("\\d*$", ""); //NON-NLS NON-NLS
|
||||
return moduleClassName;
|
||||
}
|
||||
return canonicalClassName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the moduleSettingsFilePath is that of a serialized jython
|
||||
* Determines if the moduleSettingsFilePath is that of a serialized Jython
|
||||
* instance. Serialized Jython instances (settings saved on the disk)
|
||||
* contain "org.python.proxies." in their fileName based on the current
|
||||
* implementation.
|
||||
|
Loading…
x
Reference in New Issue
Block a user