예제 #1
0
LRESULT CSummaryView::OnBrowserIE(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
    CString password(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_PASSWORD));
    CString user(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_USER));
    m_view.Navigate(m_FramedUrl, user, password, true);
    return 0;
}
예제 #2
0
	ITable * GetDetails(bool sampleData) 
	{
		clib::recursive_mutex::scoped_lock proc(m_mutex);
		__int64 MaxDids = (int)GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_PREF_MAXDID); 
		__int64 MaxFull = (int)GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_PREF_MAXFULL); 

		if(m_resolved)
		{
			if (!m_resolveDetails)
			{
				CComPtr<IServer> server = AttachAnalysis();
				server->Enhance(m_webPage, this, sampleData ? MaxDids : 1, sampleData ? MaxFull : 1);
			}
			return m_resolveDetails;
		}
		else
		{
			if (!m_quickDetails)
			{
				CComPtr<IServer> server = AttachAnalysis();
				server->Enhance(m_webPage, this, sampleData ? MaxDids : 0, sampleData ? MaxFull : 1);
			}
			return m_quickDetails;
		}
	}
예제 #3
0
SYNTAX_CHECK CAttributeNode::CheckSyntax()
{
	Dali::CEclExceptionVector errors;
	StlLinked<Dali::IDali> dali = Dali::AttachDali(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_SERVER_WORKUNIT), _T("Dali"));
	if (dali->CheckSyntax(_T("hthor"), GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_QUEUE), m_attribute->GetModuleQualifiedLabel(), m_attribute->GetLabel(), _T(""), m_attribute->GetText(), -1, _T(""), false, false, errors))
	{
		m_syntaxCheck = SYNTAX_CHECK_PASS;
		m_syntaxSummary.clear();
		for(Dali::CEclExceptionVector::iterator itr = errors.begin(); itr != errors.end(); ++itr)
		{	
			if (itr->get()->m_severity.CompareNoCase(SYNTAXWARNING) == 0)
			{
				m_syntaxCheck = SYNTAX_CHECK_WARN;	
				if (m_syntaxSummary.length())
				{
					m_syntaxSummary += LF;
				}
				m_syntaxSummary += itr->get()->m_severity + _T(":  ") + itr->get()->m_message;
			}
			else if (itr->get()->m_severity.CompareNoCase(SYNTAXERROR) == 0)
			{
				m_syntaxCheck = SYNTAX_CHECK_FAIL;	
				m_syntaxSummary = itr->get()->m_severity + _T(":  ") + itr->get()->m_message;
				break;
			}
		}
	}
	return m_syntaxCheck;
}
LRESULT CRepositoryFilterView::OnReset(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/)
{
    m_searchText = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_REPOSITORYFIND_TEXT);
    m_comboModuleCtrl->Load(_T(""));
    m_comboModuleCtrl->SelectDefault(m_searchModule);
    m_searchUser = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_REPOSITORYFIND_USER);
    m_mode = static_cast<SEARCHMODE>((int)GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_REPOSITORYFIND_MODE));
    m_sandboxed = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_REPOSITORYFIND_SANDBOXED);
    m_checkedout = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_REPOSITORYFIND_CHECKEDOUT);
    m_locked = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_REPOSITORYFIND_LOCKED);
    m_orphaned = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_REPOSITORYFIND_ORPHANED);
    m_modifiedSince = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_REPOSITORYFIND_MODIFIEDSINCE);
    m_dateTime = CString(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_REPOSITORYFIND_DATETIME));
    DoDataExchange();
    DoRestoreState();
    WTL::CLockWindowUpdate lock(m_hWnd);
    m_Tree.DeleteAllItems();

    CComPtr<SMC::ISMC> smc = SMC::AttachSMC(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_SERVER_SMC), _T("SMC"));
    CComPtr<SMC::IVersion> serverVersion = smc->GetBuild();

    m_modeCtrl.ResetContent();
    int row = 0;
    if (serverVersion->GetMajor() >= 5)
    {
        row = m_modeCtrl.AddString(_T("Plain"));
        m_modeCtrl.SetItemData(row, SEARCHMODE_PLAIN);
    }
    row = m_modeCtrl.AddString(_T("Wildcard"));
    m_modeCtrl.SetItemData(row, SEARCHMODE_WILDCARD);
    row = m_modeCtrl.AddString(_T("Regular Expression"));
    m_modeCtrl.SetItemData(row, SEARCHMODE_REGEXP);

    return 0;
}
예제 #5
0
bool CAttributeDlg::CanExecute()
{
    CString queue = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_QUEUE);
    CString cluster = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_CLUSTER);
    if (cluster.GetLength() > 0 && m_view.GetLength())
        return true;
    return false;
}
예제 #6
0
void CDfuFilterView::DoSaveState()
{
	DoDataExchange(true);
	GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_DFUFIND_PREFIX, (const TCHAR *)m_searchPrefix);
	GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_DFUFIND_CLUSTER, (const TCHAR *)m_searchCluster);
	GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_DFUFIND_LOGICALNAME, (const TCHAR *)m_searchLogicalName);
	GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_DFUFIND_DESCRIPTION, (const TCHAR *)m_searchDescription);
	GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_DFUFIND_OWNER, (const TCHAR *)m_searchOwner);
}
예제 #7
0
void CDesdlSummaryView::Refresh()
{
    CSummaryView::Refresh();
    if (m_view.IsLoaded())
    {
        if (IsRemoteDaliEnabled() == TRI_BOOL_TRUE)
        {
            CString password(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_PASSWORD));
            CString user(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_USER));
            m_view.Navigate(m_Url, user, password, false);
        }
    }
}
예제 #8
0
LRESULT CDfuFilterView::OnReset(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/)
{
	m_searchPrefix = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_DFUFIND_PREFIX);
	m_searchCluster = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_DFUFIND_CLUSTER);
	m_searchLogicalName = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_DFUFIND_LOGICALNAME);
	m_searchDescription = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_DFUFIND_DESCRIPTION);
	m_searchOwner = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_DFUFIND_OWNER);
	DoDataExchange();
	DoRestoreState();
	WTL::CLockWindowUpdate lock(m_hWnd);
	m_Tree.DeleteAllItems();
	return 0;
}
예제 #9
0
void CAttributeDlg::DoCheckSyntax()
{
    m_view.SyntaxChecking();
    CString ecl;
    m_view.GetText(ecl);
    CString cluster(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_CLUSTER));
    CString module(m_attribute->GetModuleQualifiedLabel());
    CString attribute(m_attribute->GetLabel());

    if (CComPtr<IEclCC> eclcc = CreateIEclCC())
    {
        if (!DoSave(false))
            return;
    }
    if (m_attribute->GetType() == CreateIAttributeECLType())
    {
        clib::thread run(__FUNCTION__, boost::bind(&EclCheckSyntax, this, ecl, cluster, module, attribute, _T(""), _T(""), false, false));
    }
    else
    {
        IAttributeVector attrs;
        Dali::CEclExceptionVector errors;
        m_attribute->PreProcess(PREPROCESS_SYNTAXCHECK, ecl, attrs, errors);
        SendMessage(CWM_SUBMITDONE, Dali::WUActionCheck, (LPARAM)&errors);
    }
}
예제 #10
0
	const TCHAR * GetSummary(std::_tstring & html, bool includeHtmlHeader, bool includeHeader)
	{
		CComPtr<IHtmlHelper> htmlHelper = CreateIHtmlHelper(m_category, GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_PREF_SHOWALL));
		if (includeHtmlHeader)
		{
			htmlHelper->Open(_T("Entity"));
		}
		if (includeHeader)
		{
			htmlHelper->AppendHeading(GetCategory());
		}
#ifndef _DEBUG
		try
		{
#endif
			CComPtr<ITable> details = GetDetails(true);
			if (details)
			{
				std::_tstring ll;
				htmlHelper->AppendTable(details, ll);
				htmlHelper->AppendFooter(ll);
			}
#ifndef _DEBUG
		}
		catch(...)	//Big hack for demo
		{
			ATLASSERT(false);
		}
#endif
		html = htmlHelper->Close(includeHtmlHeader);
		return html.c_str();
	}
예제 #11
0
//bool CBuilderDlg::DoFileOpen(const CString & sPathName) 
//{
//  Help Alligning with BuilderDlg COmpare
//}
bool CAttributeDlg::DoSave(bool attrOnly)
{
    CWaitCursor wait;
    CString ecl;
    m_view.GetText(ecl);

    CString id = m_attribute->GetID();
    CString user = m_attribute->GetModifiedBy();
    CString module = m_attribute->GetModuleQualifiedLabel();
    CString attributeName = m_attribute->GetLabel();
    IAttributeType* attrType = m_attribute->GetType();

    CBookmarksFrame * pFrame = GetBookmarksFrame();
    if (pFrame)
    {
        pFrame->ParseBookmarksEcl((LPCTSTR)ecl, (LPCTSTR)user, (LPCTSTR)id, (LPCTSTR)module, (LPCTSTR)attributeName, attrType);
    }

    if (m_attribute->SetText(ecl))
    {
        //  Save local item for history  ---
        boost::filesystem::path path;
        GetIConfig(QUERYBUILDER_CFG)->GetEnvironmentFolder(path);
        path /= stringToPath(m_attribute->GetModuleQualifiedLabel());
        boost::filesystem::create_directories(path);
        path /= stringToPath(m_attribute->GetLabel());
        boost::filesystem::create_directories(path);

        CTime t = CTime::GetCurrentTime();
        std::_tstring now = t.FormatGmt(_T("%Y-%m-%dT%H_%M_%SZ.ecl"));
        path /= stringToPath(now);

        CUnicodeFile file;
        file.Create(pathToWString(path).c_str());
        file.Write(ecl);
        file.Close();
        //  ---  ---  ---

        m_view.SetSavePoint();
        IAttributeVector attrs;
        Dali::CEclExceptionVector errors;
        m_attribute->PreProcess(PREPROCESS_SAVE, NULL, attrs, errors);
        SendMessage(CWM_SUBMITDONE, Dali::WUActionCheck, (LPARAM)&errors);
        if (attrs.size())
        {
            if (!m_migrator)
                m_migrator = CreateIMigration(::AttachRepository(), false);
            m_migrator->Stop();
            for(IAttributeVector::const_iterator itr = attrs.begin(); itr != attrs.end(); ++itr)
                m_migrator->AddToRep(m_attribute->GetModule()->GetRootModule(), itr->get()->GetAsHistory(), (boost::_tformat(_T("Preprocessed (%1%) from %2%.")) % PREPROCESS_LABEL[PREPROCESS_SAVE] % m_attribute->GetQualifiedLabel()).str().c_str(), true);
            m_migrator->Start();
            SetTimer(0, 200);
        }
        return true;
    }
    return false;
}
예제 #12
0
SYNTAX_CHECK CAttributeHistoryNode::CheckSyntax()
{
	m_errors.clear();
	StlLinked<Dali::IDali> dali = Dali::AttachDali(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_SERVER_WORKUNIT), _T("Dali"));
	if (dali->CheckSyntax(_T("hthor"), GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_QUEUE), m_attributeHistory->GetAttribute()->GetModuleQualifiedLabel(), m_attributeHistory->GetAttribute()->GetLabel(), _T(""), m_attributeHistory->GetText(), -1, _T(""), false, false, m_errors))
	{
		m_syntaxCheck = SYNTAX_CHECK_PASS;
		for(Dali::CEclExceptionVector::iterator itr = m_errors.begin(); itr != m_errors.end(); ++itr)
		{	
			if (itr->get()->m_severity)
			{
				m_syntaxCheck = SYNTAX_CHECK_FAIL;
				break;
			}
		}
	}
	return m_syntaxCheck;
}
예제 #13
0
void CAttributeDlg::DoCheckComplexity()
{
    CWaitCursor wait;
    m_view.SyntaxClearAll();
    CString ecl;
    GetSource(ecl);
    StlLinked<Dali::IDali> server = Dali::AttachDali(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_SERVER_WORKUNIT), _T("Dali"));
    std::_tstring complexity, complexitDisplay;
    Dali::CEclExceptionVector errorResults;
    server->CheckComplexity(GetCluster(), GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_QUEUE), ecl, m_attribute->GetModuleQualifiedLabel(), m_attribute->GetLabel(), complexity, errorResults);
    if (complexity.length() == 0)
    {
        complexitDisplay = ComplexityErrorMsg;
        SendMessage(CWM_SUBMITDONE, Dali::WUActionCheck, (LPARAM)&errorResults);
    }
    else
        complexitDisplay = _T("Complexity Count = \"") + complexity + _T("\"");
    MessageBox(complexitDisplay.c_str(), _T("Complexity Count"), MB_ICONINFORMATION);
}
예제 #14
0
void CWUSummaryView::Refresh()
{
    CSummaryView::Refresh();
    if (m_view.IsLoaded())
    {
        if (IsRemoteDaliEnabled() == TRI_BOOL_TRUE && boost::algorithm::istarts_with(m_wu->GetWuid(), _T("W")))
        {
            CString password(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_PASSWORD));
            CString user(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_USER));
            m_view.Navigate(m_Url, user, password, false);
        }
        else if (CComPtr<IEclCC> eclcc = CreateIEclCC())
        {
            std::_tstring xmlPath;
            eclcc->SaveWorkunitXML(m_wu->GetWuid(), xmlPath);
            m_view.Navigate(xmlPath.c_str());
        }
    }
}
예제 #15
0
    void OnSetFocus(HWND /*hWndOther*/)
    {
        //SetMsgHandled(false);
        CWindow activeWnd = m_tabbedChildWindow.GetActiveView();
        if (activeWnd.IsWindow() && activeWnd.IsWindowVisible())
            activeWnd.SetFocus();

        int syncRepository = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_SYNCREPOSITORY);
        if (syncRepository)
            GetIMainFrame()->SyncTOC(m_dlgview.GetAttribute());
    }
void CRepositoryFilterView::DoSaveState()
{
    DoDataExchange(true);
    GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_REPOSITORYFIND_TEXT, (const TCHAR *)m_searchText);
    GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_REPOSITORYFIND_USER, (const TCHAR *)m_searchUser);
    GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_REPOSITORYFIND_MODE, m_mode);
    GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_REPOSITORYFIND_SANDBOXED, m_sandboxed);
    GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_REPOSITORYFIND_CHECKEDOUT, m_checkedout);
    GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_REPOSITORYFIND_LOCKED, m_locked);
    GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_REPOSITORYFIND_ORPHANED, m_orphaned);
    GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_REPOSITORYFIND_MODIFIEDSINCE, m_modifiedSince);
    SYSTEMTIME date, time;
    m_dateCtrl.GetSystemTime(&date);
    m_timeCtrl.GetSystemTime(&time);
    DateTimeToUTC(date, time, m_dateTime);
    GetIConfig(QUERYBUILDER_CFG)->Set(GLOBAL_REPOSITORYFIND_DATETIME, m_dateTime);
}
예제 #17
0
void CAttributeDlg::DoCheckDependency()
{
    CWaitCursor wait;
    m_view.SyntaxClearAll();
    CString ecl;
    GetSource(ecl);
    StlLinked<IRepository> rep = ::AttachRepository();
    StlLinked<Dali::IDali> dali = Dali::AttachDali();
    Dali::CEclExceptionVector errorResults;
    DoShowDependantAttributes(rep, dali, static_cast<const TCHAR *>(CString(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_QUEUE))), GetCluster(), static_cast<const TCHAR *>(ecl), m_attribute->GetModuleQualifiedLabel(), m_attribute->GetLabel(), errorResults);
    SendMessage(CWM_SUBMITDONE, Dali::WUActionCheck, (LPARAM)&errorResults);
}
예제 #18
0
	void GetAdvancedSearch(CAdvancedSearch & search, bool sampleData)
	{
		CComPtr<IHtmlHelper> htmlHelper = CreateIHtmlHelper(m_category, GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_PREF_SHOWALL));
#ifndef _DEBUG
		try
		{
#endif
			CComPtr<ITable> details = GetDetails(sampleData);
			if (details)
			{
				htmlHelper->AppendTable(details, search);
			}
#ifndef _DEBUG
		}
		catch(...)	//Big hack for demo
		{
			ATLASSERT(false);
		}
#endif
		htmlHelper->Close();
	}
예제 #19
0
	const TCHAR * GetDebug(std::_tstring & html)
	{
		CComPtr<IHtmlHelper> htmlHelper = CreateIHtmlHelper(m_category, GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_PREF_SHOWALL));
#ifndef _DEBUG
		try
		{
#endif
			CComPtr<ITable> details = GetDetails(true);
			if (details)
			{
				htmlHelper->AppendTableDebug(details);
			}
#ifndef _DEBUG
		}
		catch(...)	//Big hack for demo
		{
			ATLASSERT(false);
		}
#endif
		html = htmlHelper->Close();
		return html.c_str();
	}
예제 #20
0
    static void threadLoadWorkunit(CWorkspaceItem * self, CString wuids)
    {
        StlLinked<Dali::IDali> server = Dali::AttachDali();

        int wuCap = GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_WORKUNIT_PERSISTLIMIT);
        StdStringVector wus;
        SortedDeserialize(static_cast<const TCHAR *>(wuids), wus, _T(","));
        for (StdStringVector::const_reverse_iterator ritr = wus.rbegin(); ritr != wus.rend(); ++ritr)
        {
            CString wuid = ritr->c_str();
            if (!wuid.IsEmpty() && !self->HasWorkunit(wuid))
            {
                StlLinked<Dali::IWorkunit> workunit = server->GetWorkunitFast(wuid, true);
                if (workunit.get())
                    self->AppendWorkunit(workunit.get());
            }

            if (--wuCap <= 0)
                break;
        }

        self->m_loaded = LOADING_FINISHED;
    }
예제 #21
0
boost::filesystem::path CBookmarksView::BookmarksFilePath()
{
    boost::filesystem::path fullpath;
    GetUserFolder(fullpath, static_cast<const TCHAR *>(CString(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_USER))));
    return fullpath / BOOKMARKS_FILE;
}
예제 #22
0
const TCHAR * CAttributeDlg::GetCluster()
{
    m_cluster = CString(GetIConfig(QUERYBUILDER_CFG)->Get(GLOBAL_CLUSTER));
    return m_cluster.c_str();
}