src: Refactored SourceGroupSettings into components as bases architecture
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
#include "SourceGroupJava.h"
|
||||
|
||||
#include "IndexerCommandJava.h"
|
||||
#include "SourceGroupSettingsJava.h"
|
||||
#include "FileManager.h"
|
||||
#include "logging.h"
|
||||
#include "SourceGroupSettings.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithJavaStandard.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
std::set<FilePath> SourceGroupJava::filterToContainedFilePaths(const std::set<FilePath>& filePaths) const
|
||||
{
|
||||
@@ -24,15 +27,16 @@ std::set<FilePath> SourceGroupJava::getAllSourceFilePaths() const
|
||||
FileManager fileManager;
|
||||
fileManager.update(
|
||||
getAllSourcePaths(),
|
||||
getSourceGroupSettingsJava()->getExcludeFiltersExpandedAndAbsolute(),
|
||||
getSourceGroupSettingsJava()->getSourceExtensions()
|
||||
dynamic_cast<const SourceGroupSettingsWithExcludeFilters*>(getSourceGroupSettings().get())->getExcludeFiltersExpandedAndAbsolute(),
|
||||
dynamic_cast<const SourceGroupSettingsWithSourceExtensions*>(getSourceGroupSettings().get())->getSourceExtensions()
|
||||
);
|
||||
return fileManager.getAllSourceFilePaths();
|
||||
}
|
||||
|
||||
std::vector<std::shared_ptr<IndexerCommand>> SourceGroupJava::getIndexerCommands(const std::set<FilePath>& filesToIndex) const
|
||||
{
|
||||
const std::wstring languageStandard = getSourceGroupSettingsJava()->getJavaStandard();
|
||||
const std::wstring languageStandard =
|
||||
dynamic_cast<const SourceGroupSettingsWithJavaStandard*>(getSourceGroupSettings().get())->getJavaStandard();
|
||||
|
||||
std::vector<FilePath> classPath = getClassPath();
|
||||
|
||||
@@ -50,16 +54,6 @@ std::vector<std::shared_ptr<IndexerCommand>> SourceGroupJava::getIndexerCommands
|
||||
return indexerCommands;
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupJava::getSourceGroupSettings()
|
||||
{
|
||||
return getSourceGroupSettingsJava();
|
||||
}
|
||||
|
||||
std::shared_ptr<const SourceGroupSettings> SourceGroupJava::getSourceGroupSettings() const
|
||||
{
|
||||
return getSourceGroupSettingsJava();
|
||||
}
|
||||
|
||||
std::vector<FilePath> SourceGroupJava::getClassPath() const
|
||||
{
|
||||
LOG_INFO("Retrieving classpath for indexer commands");
|
||||
|
||||
@@ -7,9 +7,8 @@
|
||||
|
||||
#include "SourceGroup.h"
|
||||
|
||||
class SourceGroupSettingsJava;
|
||||
|
||||
class SourceGroupJava: public SourceGroup
|
||||
class SourceGroupJava
|
||||
: public SourceGroup
|
||||
{
|
||||
public:
|
||||
std::set<FilePath> filterToContainedFilePaths(const std::set<FilePath>& filePaths) const override;
|
||||
@@ -19,10 +18,6 @@ public:
|
||||
private:
|
||||
virtual std::vector<FilePath> getAllSourcePaths() const = 0;
|
||||
virtual std::vector<FilePath> doGetClassPath() const = 0;
|
||||
virtual std::shared_ptr<SourceGroupSettingsJava> getSourceGroupSettingsJava() = 0;
|
||||
virtual std::shared_ptr<const SourceGroupSettingsJava> getSourceGroupSettingsJava() const = 0;
|
||||
std::shared_ptr<SourceGroupSettings> getSourceGroupSettings() override;
|
||||
std::shared_ptr<const SourceGroupSettings> getSourceGroupSettings() const override;
|
||||
|
||||
std::vector<FilePath> getClassPath() const;
|
||||
};
|
||||
|
||||
@@ -24,15 +24,16 @@ std::vector<FilePath> SourceGroupJavaEmpty::getAllSourcePaths() const
|
||||
|
||||
std::vector<FilePath> SourceGroupJavaEmpty::doGetClassPath() const
|
||||
{
|
||||
return utility::getClassPath(m_settings->getClasspathExpandedAndAbsolute(), m_settings->getUseJreSystemLibrary(), getAllSourceFilePaths());
|
||||
return utility::getClassPath(
|
||||
m_settings->getClasspathExpandedAndAbsolute(), m_settings->getUseJreSystemLibrary(), getAllSourceFilePaths());
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettingsJava> SourceGroupJavaEmpty::getSourceGroupSettingsJava()
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupJavaEmpty::getSourceGroupSettings()
|
||||
{
|
||||
return m_settings;
|
||||
}
|
||||
|
||||
std::shared_ptr<const SourceGroupSettingsJava> SourceGroupJavaEmpty::getSourceGroupSettingsJava() const
|
||||
std::shared_ptr<const SourceGroupSettings> SourceGroupJavaEmpty::getSourceGroupSettings() const
|
||||
{
|
||||
return m_settings;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
|
||||
class SourceGroupSettingsJavaEmpty;
|
||||
|
||||
class SourceGroupJavaEmpty: public SourceGroupJava
|
||||
class SourceGroupJavaEmpty
|
||||
: public SourceGroupJava
|
||||
{
|
||||
public:
|
||||
SourceGroupJavaEmpty(std::shared_ptr<SourceGroupSettingsJavaEmpty> settings);
|
||||
@@ -17,8 +18,8 @@ public:
|
||||
private:
|
||||
std::vector<FilePath> getAllSourcePaths() const override;
|
||||
std::vector<FilePath> doGetClassPath() const override;
|
||||
std::shared_ptr<SourceGroupSettingsJava> getSourceGroupSettingsJava() override;
|
||||
std::shared_ptr<const SourceGroupSettingsJava> getSourceGroupSettingsJava() const override;
|
||||
std::shared_ptr<SourceGroupSettings> getSourceGroupSettings() override;
|
||||
std::shared_ptr<const SourceGroupSettings> getSourceGroupSettings() const override;
|
||||
|
||||
std::shared_ptr<SourceGroupSettingsJavaEmpty> m_settings;
|
||||
};
|
||||
|
||||
@@ -72,12 +72,12 @@ std::vector<FilePath> SourceGroupJavaGradle::doGetClassPath() const
|
||||
return classPath;
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettingsJava> SourceGroupJavaGradle::getSourceGroupSettingsJava()
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupJavaGradle::getSourceGroupSettings()
|
||||
{
|
||||
return m_settings;
|
||||
}
|
||||
|
||||
std::shared_ptr<const SourceGroupSettingsJava> SourceGroupJavaGradle::getSourceGroupSettingsJava() const
|
||||
std::shared_ptr<const SourceGroupSettings> SourceGroupJavaGradle::getSourceGroupSettings() const
|
||||
{
|
||||
return m_settings;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
|
||||
class SourceGroupSettingsJavaGradle;
|
||||
|
||||
class SourceGroupJavaGradle : public SourceGroupJava
|
||||
class SourceGroupJavaGradle
|
||||
: public SourceGroupJava
|
||||
{
|
||||
public:
|
||||
SourceGroupJavaGradle(std::shared_ptr<SourceGroupSettingsJavaGradle> settings);
|
||||
@@ -17,8 +18,8 @@ public:
|
||||
private:
|
||||
std::vector<FilePath> getAllSourcePaths() const override;
|
||||
std::vector<FilePath> doGetClassPath() const override;
|
||||
std::shared_ptr<SourceGroupSettingsJava> getSourceGroupSettingsJava() override;
|
||||
std::shared_ptr<const SourceGroupSettingsJava> getSourceGroupSettingsJava() const override;
|
||||
std::shared_ptr<SourceGroupSettings> getSourceGroupSettings() override;
|
||||
std::shared_ptr<const SourceGroupSettings> getSourceGroupSettings() const override;
|
||||
bool prepareGradleData();
|
||||
|
||||
std::shared_ptr<SourceGroupSettingsJavaGradle> m_settings;
|
||||
|
||||
@@ -77,12 +77,12 @@ std::vector<FilePath> SourceGroupJavaMaven::doGetClassPath() const
|
||||
return classPath;
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettingsJava> SourceGroupJavaMaven::getSourceGroupSettingsJava()
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupJavaMaven::getSourceGroupSettings()
|
||||
{
|
||||
return m_settings;
|
||||
}
|
||||
|
||||
std::shared_ptr<const SourceGroupSettingsJava> SourceGroupJavaMaven::getSourceGroupSettingsJava() const
|
||||
std::shared_ptr<const SourceGroupSettings> SourceGroupJavaMaven::getSourceGroupSettings() const
|
||||
{
|
||||
return m_settings;
|
||||
}
|
||||
|
||||
@@ -17,8 +17,8 @@ public:
|
||||
private:
|
||||
std::vector<FilePath> getAllSourcePaths() const override;
|
||||
std::vector<FilePath> doGetClassPath() const override;
|
||||
std::shared_ptr<SourceGroupSettingsJava> getSourceGroupSettingsJava() override;
|
||||
std::shared_ptr<const SourceGroupSettingsJava> getSourceGroupSettingsJava() const override;
|
||||
std::shared_ptr<SourceGroupSettings> getSourceGroupSettings() override;
|
||||
std::shared_ptr<const SourceGroupSettings> getSourceGroupSettings() const override;
|
||||
bool prepareMavenData();
|
||||
|
||||
std::shared_ptr<SourceGroupSettingsJavaMaven> m_settings;
|
||||
|
||||
Reference in New Issue
Block a user